From 0a2c181abbf2a8cdffe8b4b68ee5098faa4ab732 Mon Sep 17 00:00:00 2001 From: Joseph Dale Banares Date: Mon, 28 Sep 2026 23:37:15 +0800 Subject: [PATCH 01/35] feat(core): move the brand allowlist into core --- packages/core/src/brands.ts | 30 ++++++++++++++++++++++++ packages/core/src/index.ts | 1 + packages/viewer/src/icons/BrandIcon.tsx | 3 +++ packages/viewer/src/icons/icons.test.tsx | 8 +++++-- 4 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 packages/core/src/brands.ts diff --git a/packages/core/src/brands.ts b/packages/core/src/brands.ts new file mode 100644 index 0000000..38b2c56 --- /dev/null +++ b/packages/core/src/brands.ts @@ -0,0 +1,30 @@ +/** + * simple-icons slugs the viewer can draw in a card's icon tile. The validator checks `card.brand` against + * this list; the viewer's icon map must match it exactly (enforced by a viewer test). + */ +export const BRAND_SLUGS = [ + 'apachekafka', + 'cloudflare', + 'docker', + 'elasticsearch', + 'github', + 'graphql', + 'kubernetes', + 'mongodb', + 'mysql', + 'nextdotjs', + 'nginx', + 'nodedotjs', + 'postgresql', + 'rabbitmq', + 'redis', + 'sqlite', + 'stripe', + 'supabase', + 'vercel', +] as const; + +export type BrandSlug = (typeof BRAND_SLUGS)[number]; + +const SLUGS: ReadonlySet = new Set(BRAND_SLUGS); +export const isBrandSlug = (s: string): s is BrandSlug => SLUGS.has(s); diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 966e7ec..0d32718 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -4,3 +4,4 @@ export * from './tokens'; export * from './card-metrics'; export * from './geometry'; export * from './diagram-stats'; +export * from './brands'; diff --git a/packages/viewer/src/icons/BrandIcon.tsx b/packages/viewer/src/icons/BrandIcon.tsx index 5c4eeda..e61a801 100644 --- a/packages/viewer/src/icons/BrandIcon.tsx +++ b/packages/viewer/src/icons/BrandIcon.tsx @@ -45,6 +45,9 @@ const BRANDS: Record = Object.fromEntri ].map((icon) => [icon.slug, { title: icon.title, path: icon.path }]), ); +/** Sorted, for the parity test against core's BRAND_SLUGS. */ +export const BRANDED_SLUGS: string[] = Object.keys(BRANDS).sort(); + export const hasBrand = (slug: string): boolean => Object.hasOwn(BRANDS, slug); export function BrandIcon({ slug, size }: { slug: string; size: number }) { diff --git a/packages/viewer/src/icons/icons.test.tsx b/packages/viewer/src/icons/icons.test.tsx index fc465b5..4f8c6e7 100644 --- a/packages/viewer/src/icons/icons.test.tsx +++ b/packages/viewer/src/icons/icons.test.tsx @@ -1,7 +1,7 @@ import { render } from '@testing-library/react'; import { describe, expect, it } from 'vitest'; -import { NODE_TYPES } from '@stackmap/core'; -import { BrandIcon, hasBrand } from './BrandIcon'; +import { BRAND_SLUGS, NODE_TYPES } from '@stackmap/core'; +import { BRANDED_SLUGS, BrandIcon, hasBrand } from './BrandIcon'; import { TypeIcon } from './TypeIcon'; describe('TypeIcon', () => { @@ -21,6 +21,10 @@ describe('BrandIcon', () => { expect(svg).toHaveAttribute('data-icon', 'brand'); }); + it('renders exactly the allowlist the validator checks against', () => { + expect(BRANDED_SLUGS).toEqual([...BRAND_SLUGS]); + }); + it('hasBrand rejects unknown and prototype slugs', () => { expect(hasBrand('redis')).toBe(true); expect(hasBrand('nope')).toBe(false); From 09ef66940a0cf4b8c2b56436ec4b30db2b3f163a Mon Sep 17 00:00:00 2001 From: Joseph Dale Banares Date: Mon, 28 Sep 2026 23:41:13 +0800 Subject: [PATCH 02/35] feat(core): measure text with generated Geist metrics --- bun.lock | 51 +++++++++ packages/core/src/font-metrics.gen.ts | 21 ++++ packages/core/src/index.ts | 1 + packages/core/src/text-measure.ts | 21 ++++ packages/core/test/text-measure.test.ts | 35 ++++++ packages/viewer/e2e/metrics.spec.ts | 57 ++++++++++ packages/viewer/package.json | 5 +- packages/viewer/scripts/gen-font-metrics.ts | 111 ++++++++++++++++++++ 8 files changed, 301 insertions(+), 1 deletion(-) create mode 100644 packages/core/src/font-metrics.gen.ts create mode 100644 packages/core/src/text-measure.ts create mode 100644 packages/core/test/text-measure.test.ts create mode 100644 packages/viewer/e2e/metrics.spec.ts create mode 100644 packages/viewer/scripts/gen-font-metrics.ts diff --git a/bun.lock b/bun.lock index c52da16..0f8a06f 100644 --- a/bun.lock +++ b/bun.lock @@ -22,6 +22,17 @@ "elkjs": "^0.12.0", }, }, + "packages/schema": { + "name": "@stackmap/schema", + "version": "0.0.0", + "dependencies": { + "@stackmap/core": "workspace:*", + "zod": "^4.6.5", + }, + "devDependencies": { + "ajv": "^8.20.0", + }, + }, "packages/viewer": { "name": "@stackmap/viewer", "version": "0.0.0", @@ -45,9 +56,11 @@ "@types/d3-selection": "^3.0.12", "@types/d3-transition": "^3.0.9", "@types/d3-zoom": "^3.0.8", + "@types/fontkit": "^2.0.9", "@types/react": "^19.3.0", "@types/react-dom": "^19.3.0", "@vitejs/plugin-react": "^6.1.1", + "fontkit": "2.0.4", "jsdom": "^30.1.1", "tailwindcss": "^4.3.3", "vite": "^8.3.1", @@ -138,8 +151,12 @@ "@stackmap/layout": ["@stackmap/layout@workspace:packages/layout"], + "@stackmap/schema": ["@stackmap/schema@workspace:packages/schema"], + "@stackmap/viewer": ["@stackmap/viewer@workspace:packages/viewer"], + "@swc/helpers": ["@swc/helpers@0.5.23", "", { "dependencies": { "tslib": "^2.8.0" } }, "sha512-5lSsMOTXURePglDfvuAQUqkGek9Hg2kksOYay2m0+XR++b2NWYL/4sWyuvVBIs8oKnJaxkdi9whaL/sqN13afw=="], + "@tailwindcss/node": ["@tailwindcss/node@4.3.3", "", { "dependencies": { "@jridgewell/remapping": "^2.3.5", "enhanced-resolve": "^5.24.1", "jiti": "^2.7.0", "lightningcss": "1.32.0", "magic-string": "^0.30.21", "source-map-js": "^1.2.1", "tailwindcss": "4.3.3" } }, "sha512-/T8IKEsf9VTU6tLjgC7+sv2mOPtQxzE2jMw7u4Tt40Tx+QSZxpzh95/H6cMKoja9XuW7iMdLJYBB0o9G1CaAgg=="], "@tailwindcss/oxide": ["@tailwindcss/oxide@4.3.3", "", { "optionalDependencies": { "@tailwindcss/oxide-android-arm64": "4.3.3", "@tailwindcss/oxide-darwin-arm64": "4.3.3", "@tailwindcss/oxide-darwin-x64": "4.3.3", "@tailwindcss/oxide-freebsd-x64": "4.3.3", "@tailwindcss/oxide-linux-arm-gnueabihf": "4.3.3", "@tailwindcss/oxide-linux-arm64-gnu": "4.3.3", "@tailwindcss/oxide-linux-arm64-musl": "4.3.3", "@tailwindcss/oxide-linux-x64-gnu": "4.3.3", "@tailwindcss/oxide-linux-x64-musl": "4.3.3", "@tailwindcss/oxide-wasm32-wasi": "4.3.3", "@tailwindcss/oxide-win32-arm64-msvc": "4.3.3", "@tailwindcss/oxide-win32-x64-msvc": "4.3.3" } }, "sha512-krXjAikiaFSPaK/FkAQT5UTx3VormQaiZ5hBFlJZ9UFQGB/rwg1MZIhHAG9smMQRTdyJxP6Qt5MwMtdyU5FWrA=="], @@ -194,6 +211,8 @@ "@types/estree": ["@types/estree@1.0.9", "", {}, "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg=="], + "@types/fontkit": ["@types/fontkit@2.0.9", "", { "dependencies": { "@types/node": "*" } }, "sha512-qNYerFky3muCmZPq+R+B3cUDRA5OONw/oh6aGGFxx2LOBz6yu8eamKusrhkHnC6rc2fm76+G9z9QoWSB2SaQaw=="], + "@types/node": ["@types/node@26.6.3", "", { "dependencies": { "undici-types": "~8.9.0" } }, "sha512-dsqMQQoeTLqu9wynDD00q573mNzso3IdQOAfHRJqLCcmCFPoGo9A1bDpUcv/9tnKpErQWv9uKeGfl37EIS02Yg=="], "@types/react": ["@types/react@19.3.0", "", { "dependencies": { "csstype": "^3.2.2" } }, "sha512-N0rFCuH9YoxG9/m61l9MfpJKfmLOVU0em7ipIz6TRgSSkvReLB9vL85GB+yr8Bs5leqpvg96JSwF4ZS1s4viQg=="], @@ -206,6 +225,8 @@ "@vitest/spy": ["@vitest/spy@5.0.2", "", {}, "sha512-Ijc7T1nT9efNb5LxvjaBrEqw3f/QwUv5EE0nKqZxgqsaV/FxAAZ8baGylA8X/Z2oS4Lp+K74Jr6dTJsDKxJDeg=="], + "ajv": ["ajv@8.20.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA=="], + "ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], "ansi-styles": ["ansi-styles@5.2.0", "", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="], @@ -214,12 +235,18 @@ "assertion-error": ["assertion-error@2.0.1", "", {}, "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA=="], + "base64-js": ["base64-js@1.5.1", "", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="], + "bidi-js": ["bidi-js@1.1.0", "", { "dependencies": { "require-from-string": "^2.0.2" } }, "sha512-fX1Onk0tdVPC7obPWB5EbJ1z7NVhLq4m2xZLq2YXBkxzMXIGRpNMU88n0EPgWseKl12J7zXs7qrDxPK4sRs2fg=="], "braces": ["braces@3.0.3", "", { "dependencies": { "fill-range": "^7.1.1" } }, "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA=="], + "brotli": ["brotli@1.3.3", "", { "dependencies": { "base64-js": "^1.1.2" } }, "sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg=="], + "chai": ["chai@6.2.2", "", {}, "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg=="], + "clone": ["clone@2.1.2", "", {}, "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w=="], + "css-tree": ["css-tree@3.2.1", "", { "dependencies": { "mdn-data": "2.27.1", "source-map-js": "^1.2.1" } }, "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA=="], "css.escape": ["css.escape@1.5.1", "", {}, "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg=="], @@ -252,6 +279,8 @@ "detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="], + "dfa": ["dfa@1.2.0", "", {}, "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q=="], + "dom-accessibility-api": ["dom-accessibility-api@0.6.3", "", {}, "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w=="], "elkjs": ["elkjs@0.12.0", "", {}, "sha512-YZcKynxVxYoKIOEpywEPwCFdg+BTbxQRNf3pbwdDCvc8O3kQD8bmIwSxKU1eOTVc4Xo+VG9Te+575mlfvOrhEQ=="], @@ -266,10 +295,16 @@ "expect-type": ["expect-type@1.4.0", "", {}, "sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA=="], + "fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="], + + "fast-uri": ["fast-uri@3.1.8", "", {}, "sha512-GZMtZUTNRpOVIECoXwLNZS5xUGE+mVNbTB8h/7Rwh2TFWcBQiPzTgyZi05BF9UMZKkLJv8XBRJTlU7zg8+ZfMg=="], + "fdir": ["fdir@6.5.0", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg=="], "fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="], + "fontkit": ["fontkit@2.0.4", "", { "dependencies": { "@swc/helpers": "^0.5.12", "brotli": "^1.3.2", "clone": "^2.1.2", "dfa": "^1.2.0", "fast-deep-equal": "^3.1.3", "restructure": "^3.0.0", "tiny-inflate": "^1.0.3", "unicode-properties": "^1.4.0", "unicode-trie": "^2.0.0" } }, "sha512-syetQadaUEDNdxdugga9CpEYVaQIxOwk7GlwZWWZ19//qW4zE5bknOKeMBDYAASwnpaSHKJITRLMF9m1fp3s6g=="], + "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="], "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="], @@ -288,6 +323,8 @@ "jsdom": ["jsdom@30.1.1", "", { "dependencies": { "@asamuzakjp/css-color": "^7.0.0", "@asamuzakjp/dom-selector": "^9.2.1", "@bramus/specificity": "^2.4.2", "@csstools/css-syntax-patches-for-csstree": "^1.1.13", "@exodus/bytes": "^1.15.1", "css-tree": "^3.2.1", "data-urls": "^7.0.0", "decimal.js": "^10.6.0", "html-encoding-sniffer": "^7.0.0", "is-potential-custom-element-name": "^1.0.1", "lru-cache": "^11.5.2", "parse5": "^8.0.1", "saxes": "^6.0.0", "tough-cookie": "^6.0.2", "undici": "^8.10.2", "w3c-xmlserializer": "^6.0.0", "webidl-conversions": "^8.0.1", "whatwg-mimetype": "^5.0.0", "whatwg-url": "^17.1.1", "xml-name-validator": "^5.0.0" }, "peerDependencies": { "canvas": "^3.2.3" }, "optionalPeers": ["canvas"] }, "sha512-FahmoPK5vbPc+jxV1iErMHmAZypCZ942NHF4+qqaWAuvaKKTBZxawnmAtrbGWLU7MtlxfqIP0qw6aSI+aWGtLg=="], + "json-schema-traverse": ["json-schema-traverse@1.0.0", "", {}, "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="], + "lightningcss": ["lightningcss@1.33.0", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-android-arm64": "1.33.0", "lightningcss-darwin-arm64": "1.33.0", "lightningcss-darwin-x64": "1.33.0", "lightningcss-freebsd-x64": "1.33.0", "lightningcss-linux-arm-gnueabihf": "1.33.0", "lightningcss-linux-arm64-gnu": "1.33.0", "lightningcss-linux-arm64-musl": "1.33.0", "lightningcss-linux-x64-gnu": "1.33.0", "lightningcss-linux-x64-musl": "1.33.0", "lightningcss-win32-arm64-msvc": "1.33.0", "lightningcss-win32-x64-msvc": "1.33.0" } }, "sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA=="], "lightningcss-android-arm64": ["lightningcss-android-arm64@1.33.0", "", { "os": "android", "cpu": "arm64" }, "sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg=="], @@ -330,6 +367,8 @@ "obug": ["obug@2.2.1", "", {}, "sha512-XrsrhT5sybtKI6wakr2SPOlGZWWYbUXZ7a0jT8/QOeAPau+1X/bSegNe5YR75oJmEZQbKningirmGOEJCIk61Q=="], + "pako": ["pako@0.2.9", "", {}, "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA=="], + "parse5": ["parse5@8.0.1", "", { "dependencies": { "entities": "^8.0.0" } }, "sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw=="], "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], @@ -356,6 +395,8 @@ "require-from-string": ["require-from-string@2.0.2", "", {}, "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="], + "restructure": ["restructure@3.0.2", "", {}, "sha512-gSfoiOEA0VPE6Tukkrr7I0RBdE0s7H1eFCDBk05l1KIQT1UIKNc5JZy6jdyW6eYH3aR3g5b3PuL77rq0hvwtAw=="], + "rolldown": ["rolldown@1.2.11", "", { "dependencies": { "@oxc-project/types": "=0.151.0", "@rolldown/pluginutils": "^1.0.0" }, "optionalDependencies": { "@rolldown/binding-android-arm-eabi": "1.2.11", "@rolldown/binding-android-arm64": "1.2.11", "@rolldown/binding-darwin-arm64": "1.2.11", "@rolldown/binding-darwin-x64": "1.2.11", "@rolldown/binding-freebsd-x64": "1.2.11", "@rolldown/binding-linux-arm-gnueabihf": "1.2.11", "@rolldown/binding-linux-arm64-gnu": "1.2.11", "@rolldown/binding-linux-arm64-musl": "1.2.11", "@rolldown/binding-linux-ppc64-gnu": "1.2.11", "@rolldown/binding-linux-s390x-gnu": "1.2.11", "@rolldown/binding-linux-x64-gnu": "1.2.11", "@rolldown/binding-linux-x64-musl": "1.2.11", "@rolldown/binding-openharmony-arm64": "1.2.11", "@rolldown/binding-win32-arm64-msvc": "1.2.11", "@rolldown/binding-win32-x64-msvc": "1.2.11" }, "bin": { "rolldown": "./bin/cli.mjs" } }, "sha512-qpSwIyz0jHQq5qXBTNxFmE6664rJ7O+4TvPFOiOaBSrz8IOHc1koKKSqTM2H6u1UG1+TveuC6vaDHKXFOvb1Kw=="], "saxes": ["saxes@6.0.0", "", { "dependencies": { "xmlchars": "^2.2.0" } }, "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA=="], @@ -374,6 +415,8 @@ "tapable": ["tapable@2.3.3", "", {}, "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A=="], + "tiny-inflate": ["tiny-inflate@1.0.3", "", {}, "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw=="], + "tinybench": ["tinybench@6.2.0", "", {}, "sha512-78U2TlB2CnVenajOFzf3BKSm0J6oz5L0NV7g32LCPccvYc0lbWvys4d3uUUCS2B1N8PAf2+aekR8i1KbC3HO7Q=="], "tinyexec": ["tinyexec@1.3.1", "", {}, "sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA=="], @@ -390,12 +433,18 @@ "tr46": ["tr46@6.0.0", "", { "dependencies": { "punycode": "^2.3.1" } }, "sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw=="], + "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + "typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], "undici": ["undici@8.11.2", "", {}, "sha512-u4UB2/IrKdU6lFxumHmmo1a3fCQO5tzQllRorfoRS63txhrB7xTpSn1PftwC4qEHkOaqP95fCWW4lJzwErwzhQ=="], "undici-types": ["undici-types@8.9.0", "", {}, "sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg=="], + "unicode-properties": ["unicode-properties@1.4.1", "", { "dependencies": { "base64-js": "^1.3.0", "unicode-trie": "^2.0.0" } }, "sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg=="], + + "unicode-trie": ["unicode-trie@2.0.0", "", { "dependencies": { "pako": "^0.2.5", "tiny-inflate": "^1.0.0" } }, "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ=="], + "vite": ["vite@8.3.1", "", { "dependencies": { "lightningcss": "^1.33.0", "picomatch": "^4.0.7", "postcss": "^8.5.28", "rolldown": "~1.2.9", "tinyglobby": "^0.2.17" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "@vitejs/devtools": "^0.7.1", "esbuild": "^0.27.0 || ^0.28.0", "jiti": ">=1.21.0", "less": "^4.0.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "@vitejs/devtools", "esbuild", "jiti", "less", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-/bvH9E9tmCXRGp2uXY3WbOldqpTwFkbha/8ANaEQ6VkxhH60KyqLwgZq6lG2y+4uT55x9+9eUHMpQ7uGnOCKjA=="], "vite-plugin-singlefile": ["vite-plugin-singlefile@2.3.3", "", { "dependencies": { "micromatch": "^4.0.8" }, "peerDependencies": { "rollup": "^4.59.0", "vite": "^5.4.21 || ^6.0.0 || ^7.0.0 || ^8.0.0" }, "optionalPeers": ["rollup"] }, "sha512-XVnGH0QzbOa8fxRSsHdCarVN1BSBXNi7uLMQYlrGRN5apdHkk62XQWRJhVever0lnfuyBkwn+kvVChdm/OoOUg=="], @@ -416,6 +465,8 @@ "xmlchars": ["xmlchars@2.2.0", "", {}, "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw=="], + "zod": ["zod@4.6.5", "", {}, "sha512-v5l/aFXZQeai4awLbOpSoHecE9UiMrnfx75tEXLjNonXVARxQ5mOeipTjROUchszUNCqnE+hqAMujRsRHsut2Q=="], + "@tailwindcss/node/lightningcss": ["lightningcss@1.32.0", "", { "dependencies": { "detect-libc": "^2.0.3" }, "optionalDependencies": { "lightningcss-android-arm64": "1.32.0", "lightningcss-darwin-arm64": "1.32.0", "lightningcss-darwin-x64": "1.32.0", "lightningcss-freebsd-x64": "1.32.0", "lightningcss-linux-arm-gnueabihf": "1.32.0", "lightningcss-linux-arm64-gnu": "1.32.0", "lightningcss-linux-arm64-musl": "1.32.0", "lightningcss-linux-x64-gnu": "1.32.0", "lightningcss-linux-x64-musl": "1.32.0", "lightningcss-win32-arm64-msvc": "1.32.0", "lightningcss-win32-x64-msvc": "1.32.0" } }, "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ=="], "@tailwindcss/node/magic-string": ["magic-string@0.30.21", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ=="], diff --git a/packages/core/src/font-metrics.gen.ts b/packages/core/src/font-metrics.gen.ts new file mode 100644 index 0000000..63c74a0 --- /dev/null +++ b/packages/core/src/font-metrics.gen.ts @@ -0,0 +1,21 @@ +// Generated by packages/viewer/scripts/gen-font-metrics.ts — do not edit. +// Advance widths in 1/1000 em keyed by code point; kerning keyed by first * 0x10000 + second. +export type FontFace = 'sans400' | 'sans500' | 'sans500tnum' | 'mono400'; + +type Table = Record>; + +export const FONT_METRICS: { unitsPerEm: number; faces: Table; kerning: Table } = { + unitsPerEm: 1000, + faces: { + sans400: {32:250,33:213,34:346,35:478,36:629,37:802,38:620,39:178,40:274,41:274,42:430,43:558,44:201,45:419,46:201,47:480,48:663,49:384,50:619,51:613,52:615,53:626,54:593,55:524,56:604,57:593,58:297,59:297,60:544,61:540,62:544,63:559,64:906,65:668,66:680,67:703,68:694,69:603,70:590,71:700,72:713,73:270,74:597,75:640,76:580,77:877,78:743,79:739,80:650,81:733,82:672,83:640,84:552,85:689,86:667,87:945,88:606,89:576,90:544,91:347,92:455,93:347,94:426,95:557,96:248,97:551,98:595,99:546,100:595,101:561,102:395,103:594,104:581,105:244,106:260,107:590,108:267,109:877,110:581,111:573,112:595,113:595,114:379,115:520,116:392,117:575,118:536,119:819,120:585,121:537,122:537,123:389,124:264,125:389,126:523,160:250,161:213,162:546,163:611,164:624,165:576,166:264,167:549,168:350,169:828,170:401,171:533,172:500,174:635,175:356,176:404,177:538,178:348,179:332,180:248,181:575,182:596,183:201,184:317,185:242,186:419,187:537,188:732,189:800,190:782,191:559,192:668,193:668,194:668,195:668,196:668,197:669,198:972,199:703,200:603,201:603,202:603,203:603,204:270,205:270,206:270,207:270,208:694,209:743,210:739,211:739,212:739,213:739,214:739,215:502,216:739,217:689,218:689,219:689,220:689,221:576,222:620,223:587,224:551,225:551,226:551,227:551,228:551,229:551,230:919,231:546,232:561,233:561,234:561,235:561,236:244,237:244,238:244,239:244,240:573,241:581,242:573,243:573,244:573,245:573,246:573,247:540,248:573,249:575,250:575,251:575,252:575,253:537,254:595,255:537,258:668,305:244,338:1088,339:958,700:206,710:362,730:272,732:403,768:0,769:0,771:0,772:0,776:0,777:0,803:0,8211:591,8212:907,8216:203,8217:203,8218:201,8220:368,8221:368,8222:366,8226:312,8230:571,8242:211,8243:333,8249:331,8250:331,8260:170,8364:727,8482:894,8593:712,8595:712,8722:520,65535:600}, + sans500: {32:242.81,33:227.81,34:360.81,35:515.02,36:642.61,37:809.81,38:648.61,39:186.41,40:290.2,41:290.2,42:427.2,43:562.02,44:212.81,45:418.41,46:212.81,47:494.02,48:673.02,49:405.61,50:630.41,51:625.2,52:628.81,53:641.02,54:604.2,55:530.81,56:624.02,57:605.61,58:301.61,59:301.61,60:546.02,61:544.02,62:546.02,63:569.81,64:924.81,65:688.61,66:687.61,67:713.41,68:701.2,69:609.2,70:594.81,71:712.81,72:715.81,73:280.02,74:607.02,75:656.2,76:583.02,77:889.61,78:745.41,79:751.2,80:657.2,81:745.02,82:680.41,83:653.81,84:567.81,85:693.81,86:688.02,87:968.2,88:633.2,89:594.41,90:560.61,91:361.2,92:470.2,93:361.2,94:437.81,95:558.41,96:258.02,97:565.41,98:608.02,99:563.2,100:608.02,101:575.81,102:412.22,103:607.2,104:591.02,105:256.41,106:283.81,107:609.02,108:282.2,109:884.61,110:591.02,111:588.02,112:608.02,113:608.02,114:394.2,115:536.61,116:409.61,117:585.81,118:560.2,119:829.02,120:606.61,121:553.41,122:552.2,123:395.2,124:274.02,125:395.2,126:523,160:242.81,161:227.81,162:563.2,163:623.02,164:627.02,165:594.41,166:274.02,167:568.02,168:377.2,169:826,170:411.41,171:570.2,172:504.02,174:639.61,175:361.61,176:412.02,177:542.02,178:356.02,179:344.41,180:258.02,181:585.81,182:617.81,183:212.81,184:320.81,185:255.2,186:428.02,187:576.41,188:751.2,189:815.2,190:804.41,191:569.81,192:688.61,193:688.61,194:688.61,195:688.61,196:688.61,197:691.2,198:995.41,199:713.41,200:609.2,201:609.2,202:609.2,203:609.2,204:280.02,205:280.02,206:280.02,207:280.02,208:701.2,209:745.41,210:751.2,211:751.2,212:751.2,213:751.2,214:751.2,215:514.81,216:751.2,217:693.81,218:693.81,219:693.81,220:693.81,221:594.41,222:627.2,223:610.02,224:565.41,225:565.41,226:565.41,227:565.41,228:565.41,229:565.41,230:932.2,231:563.2,232:575.81,233:575.81,234:575.81,235:575.81,236:256.41,237:256.41,238:256.41,239:256.41,240:588.02,241:591.02,242:588.02,243:588.02,244:588.02,245:588.02,246:588.02,247:548.02,248:588.02,249:585.81,250:585.81,251:585.81,252:585.81,253:553.41,254:604.61,255:553.41,258:688.61,305:256.41,338:1098.61,339:971.2,700:218.02,710:378.02,730:274.41,732:407.41,768:0,769:0,771:0,772:0,776:0,777:0,803:0,8211:592.41,8212:908.41,8216:217.61,8217:217.61,8218:212.81,8220:399.41,8221:399.41,8222:394.61,8226:328.61,8230:612.41,8242:225.61,8243:367.2,8249:347.61,8250:347.61,8260:168,8364:739.61,8482:899.2,8593:710,8595:710,8722:528.02,65535:600}, + sans500tnum: {32:242.81,33:227.81,34:360.81,35:515.02,36:642.61,37:809.81,38:648.61,39:186.41,40:290.2,41:290.2,42:427.2,43:562.02,44:212.81,45:418.41,46:212.81,47:494.02,48:612.02,49:612.02,50:612.02,51:612.02,52:612.02,53:612.02,54:612.02,55:612.02,56:612.02,57:612.02,58:301.61,59:301.61,60:546.02,61:544.02,62:546.02,63:569.81,64:924.81,65:688.61,66:687.61,67:713.41,68:701.2,69:609.2,70:594.81,71:712.81,72:715.81,73:280.02,74:607.02,75:656.2,76:583.02,77:889.61,78:745.41,79:751.2,80:657.2,81:745.02,82:680.41,83:653.81,84:567.81,85:693.81,86:688.02,87:968.2,88:633.2,89:594.41,90:560.61,91:361.2,92:470.2,93:361.2,94:437.81,95:558.41,96:258.02,97:565.41,98:608.02,99:563.2,100:608.02,101:575.81,102:412.22,103:607.2,104:591.02,105:256.41,106:283.81,107:609.02,108:282.2,109:884.61,110:591.02,111:588.02,112:608.02,113:608.02,114:394.2,115:536.61,116:409.61,117:585.81,118:560.2,119:829.02,120:606.61,121:553.41,122:552.2,123:395.2,124:274.02,125:395.2,126:523,160:242.81,161:227.81,162:563.2,163:623.02,164:627.02,165:594.41,166:274.02,167:568.02,168:377.2,169:826,170:411.41,171:570.2,172:504.02,174:639.61,175:361.61,176:412.02,177:542.02,178:356.02,179:344.41,180:258.02,181:585.81,182:617.81,183:212.81,184:320.81,185:255.2,186:428.02,187:576.41,188:751.2,189:815.2,190:804.41,191:569.81,192:688.61,193:688.61,194:688.61,195:688.61,196:688.61,197:691.2,198:995.41,199:713.41,200:609.2,201:609.2,202:609.2,203:609.2,204:280.02,205:280.02,206:280.02,207:280.02,208:701.2,209:745.41,210:751.2,211:751.2,212:751.2,213:751.2,214:751.2,215:514.81,216:751.2,217:693.81,218:693.81,219:693.81,220:693.81,221:594.41,222:627.2,223:610.02,224:565.41,225:565.41,226:565.41,227:565.41,228:565.41,229:565.41,230:932.2,231:563.2,232:575.81,233:575.81,234:575.81,235:575.81,236:256.41,237:256.41,238:256.41,239:256.41,240:588.02,241:591.02,242:588.02,243:588.02,244:588.02,245:588.02,246:588.02,247:548.02,248:588.02,249:585.81,250:585.81,251:585.81,252:585.81,253:553.41,254:604.61,255:553.41,258:688.61,305:256.41,338:1098.61,339:971.2,700:218.02,710:378.02,730:274.41,732:407.41,768:0,769:0,771:0,772:0,776:0,777:0,803:0,8211:592.41,8212:908.41,8216:217.61,8217:217.61,8218:212.81,8220:399.41,8221:399.41,8222:394.61,8226:328.61,8230:612.41,8242:225.61,8243:367.2,8249:347.61,8250:347.61,8260:168,8364:739.61,8482:899.2,8593:710,8595:710,8722:528.02,65535:600}, + mono400: {32:600,33:600,34:600,35:600,36:600,37:600,38:600,39:600,40:600,41:600,42:600,43:600,44:600,45:600,46:600,47:600,48:600,49:600,50:600,51:600,52:600,53:600,54:600,55:600,56:600,57:600,58:600,59:600,60:600,61:600,62:600,63:600,64:600,65:600,66:600,67:600,68:600,69:600,70:600,71:600,72:600,73:600,74:600,75:600,76:600,77:600,78:600,79:600,80:600,81:600,82:600,83:600,84:600,85:600,86:600,87:600,88:600,89:600,90:600,91:600,92:600,93:600,94:600,95:600,96:600,97:600,98:600,99:600,100:600,101:600,102:600,103:600,104:600,105:600,106:600,107:600,108:600,109:600,110:600,111:600,112:600,113:600,114:600,115:600,116:600,117:600,118:600,119:600,120:600,121:600,122:600,123:600,124:600,125:600,126:600,160:600,161:600,162:600,163:600,164:600,165:600,166:600,167:600,168:600,169:600,170:600,171:600,172:600,174:600,175:600,176:600,177:600,178:600,179:600,180:600,181:600,182:600,183:600,184:600,185:600,186:600,187:600,188:600,189:600,190:600,191:600,192:600,193:600,194:600,195:600,196:600,197:600,198:600,199:600,200:600,201:600,202:600,203:600,204:600,205:600,206:600,207:600,208:600,209:600,210:600,211:600,212:600,213:600,214:600,215:600,216:600,217:600,218:600,219:600,220:600,221:600,222:600,223:600,224:600,225:600,226:600,227:600,228:600,229:600,230:600,231:600,232:600,233:600,234:600,235:600,236:600,237:600,238:600,239:600,240:600,241:600,242:600,243:600,244:600,245:600,246:600,247:600,248:600,249:600,250:600,251:600,252:600,253:600,254:600,255:600,258:600,305:600,338:600,339:600,700:600,710:600,730:600,732:600,768:0,769:0,771:0,772:0,776:0,777:0,803:0,8211:600,8212:600,8216:600,8217:600,8218:600,8220:600,8221:600,8222:600,8226:600,8230:600,8242:600,8243:600,8249:600,8250:600,8260:600,8364:600,8482:600,8593:600,8595:600,8722:600,65535:500}, + }, + kerning: { + sans400: {2228271:-50,2228276:-30,2228279:10,2228289:-50,2228308:10,2228323:-10,2228324:-10,2228325:-10,2228327:-10,2228335:-10,2228337:-10,2228339:-10,2490423:-68,2490452:-68,2490454:-48,2490455:-48,2490460:-48,2555951:-50,2555956:-30,2555959:10,2555969:-50,2555988:10,2556003:-10,2556004:-10,2556005:-10,2556007:-10,2556015:-10,2556017:-10,2556019:-10,2621490:-10,2621491:-5,2621492:-40,2621496:-8,2621507:-15,2621511:-15,2621519:-15,2621521:-15,2621523:-15,2752556:-40,2752558:-40,2752559:-70,2752567:10,2752577:-70,2752596:10,2818103:-20,2818132:-20,2818137:-20,2883626:-40,2883633:-80,2883639:-60,2883651:-20,2883655:-20,2883658:-10,2883663:-20,2883665:-20,2883667:-20,2883668:-60,2883670:-80,2883671:-80,2883676:-80,2883686:-35,2883690:10,2883692:-10,2883702:-40,2883703:-40,2883705:-40,2949169:-20,2949172:10,2949175:-40,2949182:237,2949204:-40,2949222:-10,2949238:-10,2949239:-10,2949240:-50,2949241:-10,3014698:-40,3014705:-80,3014711:-60,3014723:-20,3014727:-20,3014730:-10,3014735:-20,3014737:-20,3014739:-20,3014740:-60,3014742:-80,3014743:-80,3014748:-80,3014758:-35,3014762:10,3014764:-10,3014774:-40,3014775:-40,3014777:-40,3080225:-30,3080230:-24,3080236:-80,3080238:-80,3080239:-106,3080240:-20,3080241:-20,3080242:-40,3080243:-40,3080244:-80,3080245:-10,3080246:-20,3080248:-20,3080249:-20,3080250:-30,3080251:-30,3080255:-30,3080257:-106,3080258:-22,3080259:-30,3080260:-22,3080261:-22,3080262:-22,3080263:-30,3080264:-22,3080265:-22,3080266:-80,3080267:-15,3080268:-15,3080269:-22,3080270:-22,3080271:-30,3080272:-22,3080273:-30,3080274:-22,3080275:-30,3080278:-10,3080279:-10,3080280:-10,3080282:-10,3080284:-10,3080289:-44,3080290:-22,3080291:-40,3080292:-40,3080293:-40,3080294:-50,3080295:-40,3080296:-22,3080297:-22,3080298:-40,3080299:-22,3080300:-30,3080301:-30,3080302:-30,3080303:-40,3080304:-30,3080305:-40,3080306:-30,3080307:-40,3080308:-40,3080309:-50,3080310:-40,3080311:-40,3080312:-60,3080313:-40,3080314:-34,3145776:10,3145777:-10,3145780:-10,3145782:10,3145783:-40,3145812:-40,3211309:-10,3211311:-20,3211312:-10,3211313:-40,3211314:-10,3211316:-20,3211318:-10,3211319:-20,3211320:-20,3211329:-20,3211331:-10,3211335:-10,3211339:-15,3211340:-15,3211343:-10,3211345:-10,3211347:-10,3211348:-20,3211361:-5,3211363:-20,3211364:-20,3211365:-20,3211367:-20,3211375:-20,3211377:-20,3211379:-20,3211381:-10,3276845:-30,3276847:-10,3276849:-10,3276851:-20,3276852:-40,3276855:-30,3276865:-10,3276867:-10,3276871:-10,3276879:-10,3276881:-10,3276883:-10,3276884:-30,3342377:-5,3342383:-30,3342391:-20,3342401:-30,3342420:-20,3407906:-10,3407909:-20,3407911:-10,3407917:-10,3407920:-10,3407921:-20,3407923:-20,3407926:-10,3407927:-30,3407930:-20,3407931:-20,3407956:-30,3473449:-10,3473455:-20,3473456:-20,3473458:-10,3473462:-20,3473463:-50,3473473:-20,3473492:-50,3538991:-20,3538993:-20,3538994:-10,3538999:-40,3539009:-20,3539028:-40,3604517:10,3604524:-100,3604525:-40,3604526:-100,3604527:-60,3604529:10,3604530:-10,3604532:-60,3604535:20,3604536:-10,3604538:-20,3604539:-20,3604545:-60,3604547:-10,3604551:-10,3604559:-10,3604561:-10,3604563:-10,3604564:20,3604573:30,3604605:30,3670057:-8,3670065:-20,3670071:-20,3670100:-20,3735600:10,3735601:-10,3735604:-10,3735606:10,3735607:-40,3735636:-40,3801135:-20,3801140:-20,3801143:-60,3801153:-20,3801155:-10,3801159:-10,3801167:-10,3801169:-10,3801171:-10,3801172:-60,3801174:-30,3801175:-30,3801176:-20,3801180:-30,3801190:-30,3801204:-30,3801206:-20,3801207:-20,3801208:-40,3801209:-20,3801210:-20,3866671:-20,3866676:-20,3866679:-60,3866689:-20,3866691:-10,3866695:-10,3866703:-10,3866705:-10,3866707:-10,3866708:-60,3866710:-30,3866711:-30,3866712:-20,3866716:-30,3866726:-30,3866740:-30,3866742:-20,3866743:-20,3866744:-40,3866745:-20,3866746:-20,3932205:237,3932215:-20,3932244:-20,3932249:-20,3997751:-20,3997780:-20,3997785:-20,4063287:-20,4063316:-20,4063321:-20,4259873:-10,4259874:-50,4259879:-50,4259882:-70,4259891:-30,4259895:-90,4259898:-20,4259899:-20,4259903:-50,4259906:-20,4259907:-30,4259908:-20,4259909:-20,4259910:-20,4259911:-30,4259912:-20,4259913:-20,4259914:-32,4259915:-15,4259916:-15,4259917:-20,4259918:-20,4259919:-30,4259920:-20,4259921:-30,4259922:-20,4259923:-30,4259924:-90,4259925:-16,4259926:-106,4259927:-106,4259929:-70,4259930:-10,4259932:-106,4259938:-20,4259939:-18,4259940:-18,4259941:-18,4259942:-40,4259943:-18,4259944:-20,4259945:-20,4259947:-20,4259948:-20,4259949:-20,4259950:-20,4259951:-18,4259952:-20,4259953:-18,4259954:-20,4259955:-18,4259956:-60,4259957:-20,4259958:-60,4259959:-60,4259960:-30,4259961:-60,4259962:-10,4325423:-18,4325431:-40,4325434:-20,4325435:-20,4325439:-30,4325441:-18,4325442:-8,4325443:-10,4325444:-8,4325445:-19,4325446:-8,4325447:-10,4325448:-8,4325449:-8,4325453:-8,4325454:-8,4325455:-10,4325456:-8,4325457:-10,4325458:-8,4325459:-10,4325460:-40,4325462:-30,4325463:-30,4325465:-40,4325468:-30,4325473:-8,4325474:-8,4325478:-20,4325480:-8,4325481:-8,4325482:-10,4325483:-8,4325484:-10,4325485:-10,4325486:-10,4325488:-10,4325490:-10,4325492:-20,4325493:-12,4325494:-30,4325495:-30,4325496:-40,4325497:-30,4325498:-20,4390959:-25,4390967:-15,4390977:-25,4390987:-10,4390988:-10,4390996:-15,4390998:-20,4390999:-20,4391000:-20,4391001:-20,4391004:-20,4391011:-8,4391012:-8,4391013:-8,4391014:-20,4391015:-8,4391020:-10,4391021:-8,4391022:-8,4391023:-8,4391024:-8,4391025:-8,4391026:-8,4391027:-8,4391028:-10,4391029:-10,4391030:-10,4391031:-10,4391032:-30,4391033:-10,4391034:-10,4456489:-20,4456490:-10,4456492:-20,4456494:-20,4456495:-30,4456498:-10,4456503:-40,4456506:-10,4456507:-10,4456511:-20,4456513:-30,4456514:12,4456516:12,4456517:12,4456518:12,4456520:12,4456521:12,4456522:-12,4456523:-10,4456524:-10,4456525:12,4456526:12,4456528:12,4456530:12,4456532:-40,4456534:-30,4456535:-30,4456536:-30,4456537:-40,4456538:-10,4456540:-30,4456545:10,4456546:12,4456547:14,4456548:14,4456549:14,4456550:-10,4456551:14,4456552:12,4456553:12,4456554:-20,4456555:12,4456559:14,4456561:14,4456563:14,4456564:-24,4456566:-15,4456567:-15,4456568:-20,4456569:-15,4522042:-10,4522043:-10,4522047:-20,4522050:-10,4522052:-10,4522053:-10,4522054:-10,4522056:-10,4522057:-10,4522061:-10,4522062:-10,4522064:-10,4522066:-10,4522070:15,4522071:15,4522073:-20,4522076:15,4522081:-8,4522082:-10,4522083:-20,4522084:-20,4522085:-20,4522086:-30,4522087:-20,4522088:-10,4522089:-10,4522090:-10,4522091:-10,4522095:-20,4522097:-20,4522099:-20,4522100:-40,4522102:-20,4522103:-20,4522104:-30,4522105:-20,4587564:-80,4587566:-80,4587567:-80,4587578:-30,4587579:-30,4587583:-20,4587585:-80,4587586:-20,4587588:-20,4587589:-20,4587590:-20,4587592:-20,4587593:-20,4587594:-60,4587595:-30,4587596:-30,4587597:-20,4587598:-20,4587600:-20,4587602:-20,4587608:-20,4587609:-20,4587610:-20,4587617:-20,4587618:-20,4587619:-30,4587620:-30,4587621:-30,4587622:-10,4587623:-30,4587624:-20,4587625:-20,4587626:-30,4587627:-20,4587628:-20,4587629:-30,4587630:-30,4587631:-30,4587632:-30,4587633:-30,4587634:-30,4587635:-30,4587636:-40,4587637:-30,4587638:-40,4587639:-40,4587640:-50,4587641:-40,4587642:-30,4653111:-20,4653140:-20,4653142:-30,4653143:-30,4653144:-10,4653145:-20,4653148:-30,4653153:12,4653155:10,4653156:10,4653157:10,4653158:-10,4653159:10,4653167:10,4653169:10,4653171:10,4653172:-10,4653176:-10,4653178:6,4718639:-10,4718647:-40,4718655:-10,4718657:-10,4718658:-20,4718659:-14,4718660:-20,4718661:-20,4718662:-20,4718663:-14,4718664:-20,4718665:-20,4718666:-20,4718669:-20,4718670:-20,4718671:-14,4718672:-20,4718673:-14,4718674:-20,4718675:-14,4718676:-40,4718677:15,4718678:-20,4718679:-20,4718680:-10,4718681:-20,4718684:-20,4718689:-10,4718690:-20,4718691:-10,4718692:-10,4718693:-10,4718694:-47,4718695:-10,4718696:-20,4718697:-20,4718698:-10,4718699:-20,4718700:-10,4718701:6,4718702:6,4718703:-10,4718704:6,4718705:-10,4718706:6,4718707:-10,4718708:-40,4718709:-20,4718710:-10,4718711:-10,4718712:-50,4718713:-10,4718714:-10,4784175:-10,4784183:-40,4784191:-10,4784193:-10,4784194:-20,4784195:-14,4784196:-20,4784197:-20,4784198:-20,4784199:-14,4784200:-20,4784201:-20,4784202:-20,4784205:-20,4784206:-20,4784207:-14,4784208:-20,4784209:-14,4784210:-20,4784211:-14,4784212:-40,4784213:15,4784214:-20,4784215:-20,4784216:-10,4784217:-20,4784220:-20,4784225:-10,4784226:-20,4784227:-10,4784228:-10,4784229:-10,4784230:-47,4784231:-10,4784232:-20,4784233:-20,4784234:-10,4784235:-20,4784236:-10,4784237:6,4784238:6,4784239:-10,4784240:6,4784241:-10,4784242:6,4784243:-10,4784244:-40,4784245:-20,4784246:-10,4784247:-10,4784248:-50,4784249:-10,4784250:-10,4849711:-16,4849729:-16,4849730:15,4849732:15,4849733:15,4849734:15,4849736:15,4849737:15,4849738:-30,4849741:15,4849742:15,4849744:15,4849746:15,4849752:-20,4849753:-20,4849762:15,4849763:-6,4849764:-6,4849765:-6,4849766:-20,4849767:-6,4849768:15,4849769:15,4849770:-6,4849771:15,4849775:-6,4849777:-6,4849779:-6,4849780:-20,4849782:-20,4849783:-20,4849784:-30,4849785:-20,4849786:-20,4915242:-10,4915258:-20,4915259:-20,4915263:-20,4915266:-10,4915267:-40,4915268:-10,4915269:-10,4915270:-10,4915271:-40,4915272:-10,4915273:-10,4915274:-30,4915275:-20,4915276:-20,4915277:-10,4915278:-10,4915279:-40,4915280:-10,4915281:-40,4915282:-10,4915283:-40,4915285:-20,4915286:-10,4915287:-10,4915290:-10,4915292:-10,4915297:-10,4915298:-10,4915299:-46,4915300:-46,4915301:-46,4915302:-50,4915303:-46,4915304:-10,4915305:-10,4915306:-10,4915307:-10,4915309:-20,4915310:-20,4915311:-46,4915312:-20,4915313:-46,4915314:-20,4915315:-46,4915316:-50,4915317:-30,4915318:-30,4915319:-30,4915320:-30,4915321:-30,4980769:-20,4980770:-100,4980775:-100,4980778:-120,4980780:-10,4980782:-10,4980783:-20,4980791:-140,4980794:-20,4980795:-20,4980799:-80,4980801:-20,4980802:-50,4980803:-50,4980804:-50,4980805:-50,4980806:-50,4980807:-50,4980808:-50,4980809:-50,4980810:-60,4980811:-30,4980812:-30,4980813:-50,4980814:-50,4980815:-50,4980816:-50,4980817:-50,4980818:-50,4980819:-50,4980820:-140,4980821:-50,4980822:-160,4980823:-160,4980825:-160,4980826:-20,4980828:-160,4980834:-50,4980835:-39,4980836:-39,4980837:-39,4980838:-60,4980839:-39,4980840:-50,4980841:-50,4980842:-20,4980843:-50,4980844:-40,4980847:-39,4980849:-39,4980851:-39,4980852:-80,4980853:-40,4980854:-80,4980855:-80,4980856:-50,4980857:-80,4980858:-20,5046319:-10,5046327:-40,5046335:-10,5046337:-10,5046338:-20,5046339:-14,5046340:-20,5046341:-20,5046342:-20,5046343:-14,5046344:-20,5046345:-20,5046346:-20,5046349:-20,5046350:-20,5046351:-14,5046352:-20,5046353:-14,5046354:-20,5046355:-14,5046356:-40,5046357:15,5046358:-20,5046359:-20,5046360:-10,5046361:-20,5046364:-20,5046369:-10,5046370:-20,5046371:-10,5046372:-10,5046373:-10,5046374:-47,5046375:-10,5046376:-20,5046377:-20,5046378:-10,5046379:-20,5046380:-10,5046381:6,5046382:6,5046383:-10,5046384:6,5046385:-10,5046386:6,5046387:-10,5046388:-40,5046389:-20,5046390:-10,5046391:-10,5046392:-50,5046393:-10,5046394:-10,5111855:-10,5111863:-40,5111871:-10,5111873:-10,5111874:-20,5111875:-14,5111876:-20,5111877:-20,5111878:-20,5111879:-14,5111880:-20,5111881:-20,5111882:-20,5111885:-20,5111886:-20,5111887:-14,5111888:-20,5111889:-14,5111890:-20,5111891:-14,5111892:-40,5111893:15,5111894:-20,5111895:-20,5111896:-10,5111897:-20,5111900:-20,5111905:-10,5111906:-20,5111907:-10,5111908:-10,5111909:-10,5111910:-47,5111911:-10,5111912:-20,5111913:-20,5111914:-10,5111915:-20,5111916:-10,5111917:6,5111918:6,5111919:-10,5111920:6,5111921:-10,5111922:6,5111923:-10,5111924:-40,5111925:-20,5111926:-10,5111927:-10,5111928:-50,5111929:-10,5111930:-10,5177385:-20,5177386:-10,5177388:-20,5177390:-20,5177391:-30,5177394:-10,5177399:-40,5177402:-10,5177403:-10,5177407:-20,5177409:-30,5177410:12,5177412:12,5177413:12,5177414:12,5177416:12,5177417:12,5177418:-12,5177419:-10,5177420:-10,5177421:12,5177422:12,5177424:12,5177426:12,5177428:-40,5177430:-30,5177431:-30,5177432:-30,5177433:-40,5177434:-10,5177436:-30,5177441:10,5177442:12,5177443:14,5177444:14,5177445:14,5177446:-10,5177447:14,5177448:12,5177449:12,5177450:-20,5177451:12,5177455:14,5177457:14,5177459:14,5177460:-24,5177462:-15,5177463:-15,5177464:-20,5177465:-15,5242913:-10,5242924:-110,5242925:-30,5242926:-110,5242927:-70,5242938:-20,5242939:-20,5242943:-20,5242945:-70,5242946:-20,5242947:-10,5242948:-20,5242949:-20,5242950:-20,5242951:-10,5242952:-20,5242953:-20,5242954:-80,5242957:-20,5242958:-20,5242959:-10,5242960:-20,5242961:-10,5242962:-20,5242963:-10,5242966:-40,5242967:-40,5242968:-40,5242969:-40,5242970:-20,5242972:-40,5242977:-22,5242978:-20,5242979:-28,5242980:-28,5242981:-28,5242983:-28,5242984:-20,5242985:-20,5242987:-20,5242989:-10,5242990:-10,5242991:-28,5242992:-10,5242993:-28,5242994:-10,5242995:-28,5242997:-30,5242998:-20,5242999:-20,5243000:-40,5243001:-20,5243002:-30,5308457:-20,5308458:-10,5308460:-20,5308462:-20,5308463:-30,5308466:-10,5308471:-40,5308474:-10,5308475:-10,5308479:-20,5308481:-30,5308482:12,5308484:12,5308485:12,5308486:12,5308488:12,5308489:12,5308490:-12,5308491:-10,5308492:-10,5308493:12,5308494:12,5308496:12,5308498:12,5308500:-40,5308502:-30,5308503:-30,5308504:-30,5308505:-40,5308506:-10,5308508:-30,5308513:10,5308514:12,5308515:14,5308516:14,5308517:14,5308518:-10,5308519:14,5308520:12,5308521:12,5308522:-20,5308523:12,5308527:14,5308529:14,5308531:14,5308532:-24,5308534:-15,5308535:-15,5308536:-20,5308537:-15,5373999:-10,5374007:-20,5374010:-10,5374011:-10,5374015:-20,5374017:-10,5374019:-15,5374023:-15,5374027:-15,5374028:-15,5374031:-15,5374033:-15,5374035:-15,5374036:-20,5374038:-50,5374039:-50,5374041:-20,5374044:-50,5374051:-12,5374052:-12,5374053:-12,5374054:-30,5374055:-12,5374058:-6,5374063:-12,5374065:-12,5374067:-12,5374068:-30,5374069:-10,5374070:-20,5374071:-20,5374072:-20,5374073:-20,5439529:-20,5439530:-10,5439532:-20,5439534:-20,5439535:-30,5439538:-10,5439543:-40,5439546:-10,5439547:-10,5439551:-20,5439553:-30,5439554:12,5439556:12,5439557:12,5439558:12,5439560:12,5439561:12,5439562:-12,5439563:-10,5439564:-10,5439565:12,5439566:12,5439568:12,5439570:12,5439572:-40,5439574:-30,5439575:-30,5439576:-30,5439577:-40,5439578:-10,5439580:-30,5439585:10,5439586:12,5439587:14,5439588:14,5439589:14,5439590:-10,5439591:14,5439592:12,5439593:12,5439594:-20,5439595:12,5439599:14,5439601:14,5439603:14,5439604:-24,5439606:-15,5439607:-15,5439608:-20,5439609:-15,5505058:10,5505062:-29,5505063:10,5505066:10,5505068:-100,5505069:-40,5505070:-100,5505071:-90,5505076:-30,5505079:10,5505082:-60,5505083:-60,5505087:-20,5505089:-90,5505090:-30,5505091:-40,5505092:-30,5505093:-30,5505094:-30,5505095:-40,5505096:-30,5505097:-30,5505098:-120,5505099:-40,5505100:-40,5505101:-30,5505102:-30,5505103:-40,5505104:-30,5505105:-40,5505106:-30,5505107:-40,5505108:10,5505110:-10,5505111:-10,5505113:8,5505116:-10,5505117:20,5505121:-70,5505122:-30,5505123:-80,5505124:-80,5505125:-80,5505126:-40,5505127:-80,5505128:-30,5505129:-30,5505130:-40,5505131:-30,5505132:-20,5505133:-50,5505134:-50,5505135:-80,5505136:-50,5505137:-80,5505138:-50,5505139:-80,5505140:-40,5505141:-70,5505142:-50,5505143:-50,5505144:-60,5505145:-50,5505146:-50,5570607:-16,5570625:-16,5570626:15,5570628:15,5570629:15,5570630:15,5570632:15,5570633:15,5570634:-30,5570637:15,5570638:15,5570640:15,5570642:15,5570648:-20,5570649:-20,5570658:15,5570659:-6,5570660:-6,5570661:-6,5570662:-20,5570663:-6,5570664:15,5570665:15,5570666:-6,5570667:15,5570671:-6,5570673:-6,5570675:-6,5570676:-20,5570678:-20,5570679:-20,5570680:-30,5570681:-20,5570682:-20,5636129:-30,5636134:-24,5636140:-80,5636142:-80,5636143:-106,5636144:-20,5636145:-20,5636146:-40,5636147:-40,5636148:-80,5636149:-10,5636150:-20,5636152:-20,5636153:-20,5636154:-30,5636155:-30,5636159:-30,5636161:-106,5636162:-22,5636163:-30,5636164:-22,5636165:-22,5636166:-22,5636167:-30,5636168:-22,5636169:-22,5636170:-80,5636171:-15,5636172:-15,5636173:-22,5636174:-22,5636175:-30,5636176:-22,5636177:-30,5636178:-22,5636179:-30,5636182:-10,5636183:-10,5636184:-10,5636186:-10,5636188:-10,5636193:-44,5636194:-22,5636195:-40,5636196:-40,5636197:-40,5636198:-50,5636199:-40,5636200:-22,5636201:-22,5636202:-40,5636203:-22,5636204:-30,5636205:-30,5636206:-30,5636207:-40,5636208:-30,5636209:-40,5636210:-30,5636211:-40,5636212:-40,5636213:-50,5636214:-40,5636215:-40,5636216:-60,5636217:-40,5636218:-34,5701665:-30,5701670:-24,5701676:-80,5701678:-80,5701679:-106,5701680:-20,5701681:-20,5701682:-40,5701683:-40,5701684:-80,5701685:-10,5701686:-20,5701688:-20,5701689:-20,5701690:-30,5701691:-30,5701695:-30,5701697:-106,5701698:-22,5701699:-30,5701700:-22,5701701:-22,5701702:-22,5701703:-30,5701704:-22,5701705:-22,5701706:-80,5701707:-15,5701708:-15,5701709:-22,5701710:-22,5701711:-30,5701712:-22,5701713:-30,5701714:-22,5701715:-30,5701718:-10,5701719:-10,5701720:-10,5701722:-10,5701724:-10,5701729:-44,5701730:-22,5701731:-40,5701732:-40,5701733:-40,5701734:-50,5701735:-40,5701736:-22,5701737:-22,5701738:-40,5701739:-22,5701740:-30,5701741:-30,5701742:-30,5701743:-40,5701744:-30,5701745:-40,5701746:-30,5701747:-40,5701748:-40,5701749:-50,5701750:-40,5701751:-40,5701752:-60,5701753:-40,5701754:-34,5767210:-10,5767226:-20,5767227:-20,5767231:-20,5767234:-10,5767235:-40,5767236:-10,5767237:-10,5767238:-10,5767239:-40,5767240:-10,5767241:-10,5767242:-30,5767243:-20,5767244:-20,5767245:-10,5767246:-10,5767247:-40,5767248:-10,5767249:-40,5767250:-10,5767251:-40,5767253:-20,5767254:-10,5767255:-10,5767258:-10,5767260:-10,5767265:-10,5767266:-10,5767267:-46,5767268:-46,5767269:-46,5767270:-50,5767271:-46,5767272:-10,5767273:-10,5767274:-10,5767275:-10,5767277:-20,5767278:-20,5767279:-46,5767280:-20,5767281:-46,5767282:-20,5767283:-46,5767284:-50,5767285:-30,5767286:-30,5767287:-30,5767288:-30,5767289:-30,5832747:-20,5832751:-70,5832759:8,5832764:-20,5832765:-20,5832766:-20,5832769:-70,5832770:-20,5832771:-40,5832772:-20,5832773:-20,5832774:-20,5832775:-40,5832776:-20,5832777:-20,5832778:-120,5832781:-20,5832782:-20,5832783:-40,5832784:-20,5832785:-40,5832786:-20,5832787:-40,5832788:8,5832789:-20,5832793:20,5832794:-10,5832798:-20,5832801:-60,5832802:-20,5832803:-70,5832804:-70,5832805:-70,5832806:-50,5832807:-70,5832808:-20,5832809:-20,5832810:-40,5832811:-20,5832812:-20,5832813:-60,5832814:-60,5832815:-70,5832816:-60,5832817:-70,5832818:-60,5832819:-70,5832820:-60,5832821:-60,5832822:-40,5832823:-40,5832824:-60,5832825:-40,5832826:-70,5832830:-20,5898285:-20,5898287:-20,5898303:-20,5898305:-20,5898307:-20,5898311:-20,5898314:-30,5898319:-20,5898321:-20,5898323:-20,5898326:-10,5898327:-10,5898328:-10,5898329:-10,5898332:-10,5898337:-10,5898339:-32,5898340:-32,5898341:-32,5898342:-40,5898343:-32,5898346:-15,5898348:-6,5898349:-10,5898350:-10,5898351:-32,5898352:-10,5898353:-32,5898354:-10,5898355:-32,5898356:-30,5898357:-20,5898358:-30,5898359:-30,5898360:-40,5898361:-30,5898362:-20,5963831:20,5963860:20,5963882:30,6029345:-10,6029346:-50,6029351:-50,6029354:-70,6029363:-30,6029367:-90,6029370:-20,6029371:-20,6029375:-50,6029378:-20,6029379:-30,6029380:-20,6029381:-20,6029382:-20,6029383:-30,6029384:-20,6029385:-20,6029386:-32,6029387:-15,6029388:-15,6029389:-20,6029390:-20,6029391:-30,6029392:-20,6029393:-30,6029394:-20,6029395:-30,6029396:-90,6029397:-16,6029398:-106,6029399:-106,6029401:-70,6029402:-10,6029404:-106,6029410:-20,6029411:-18,6029412:-18,6029413:-18,6029414:-40,6029415:-18,6029416:-20,6029417:-20,6029419:-20,6029420:-20,6029421:-20,6029422:-20,6029423:-18,6029424:-20,6029425:-18,6029426:-20,6029427:-18,6029428:-60,6029429:-20,6029430:-60,6029431:-60,6029432:-30,6029433:-60,6029434:-10,6160439:-20,6160468:-20,6160473:-20,6357034:-20,6357036:20,6357038:20,6357055:-20,6357058:-8,6357060:-8,6357061:-8,6357062:-8,6357064:-8,6357065:-8,6357069:-8,6357070:-8,6357072:-8,6357074:-8,6357090:-8,6357091:-6,6357092:-6,6357093:-6,6357094:-14,6357095:-6,6357096:-8,6357097:-8,6357099:-8,6357100:-10,6357103:-6,6357105:-6,6357107:-6,6357108:-50,6357109:-10,6357110:-24,6357111:-24,6357112:-26,6357113:-24,6357114:-8,6422562:-10,6422567:-10,6422570:-20,6422575:-10,6422583:-70,6422591:-40,6422593:-10,6422594:-10,6422596:-10,6422597:-10,6422598:-10,6422600:-10,6422601:-10,6422605:-10,6422606:-10,6422608:-10,6422610:-10,6422612:-70,6422614:-50,6422615:-50,6422616:-20,6422617:-50,6422620:-50,6422626:-10,6422627:-10,6422628:-10,6422629:-10,6422630:-30,6422631:-10,6422632:-10,6422633:-10,6422634:-10,6422635:-10,6422636:-5,6422637:-10,6422638:-10,6422639:-10,6422640:-10,6422641:-10,6422642:-10,6422643:-10,6422644:-30,6422645:-10,6422646:-25,6422647:-25,6422648:-50,6422649:-25,6422650:-24,6488098:-10,6488103:-10,6488106:-20,6488111:-10,6488119:-70,6488127:-40,6488129:-10,6488130:-10,6488132:-10,6488133:-10,6488134:-10,6488136:-10,6488137:-10,6488141:-10,6488142:-10,6488144:-10,6488146:-10,6488148:-70,6488150:-50,6488151:-50,6488152:-20,6488153:-50,6488156:-50,6488162:-10,6488163:-10,6488164:-10,6488165:-10,6488166:-30,6488167:-10,6488168:-10,6488169:-10,6488170:-10,6488171:-10,6488172:-5,6488173:-10,6488174:-10,6488175:-10,6488176:-10,6488177:-10,6488178:-10,6488179:-10,6488180:-30,6488181:-10,6488182:-25,6488183:-25,6488184:-50,6488185:-25,6488186:-24,6553647:-10,6553655:-40,6553663:-10,6553665:-10,6553666:-20,6553667:-14,6553668:-20,6553669:-20,6553670:-20,6553671:-14,6553672:-20,6553673:-20,6553674:-20,6553677:-20,6553678:-20,6553679:-14,6553680:-20,6553681:-14,6553682:-20,6553683:-14,6553684:-40,6553685:15,6553686:-20,6553687:-20,6553688:-10,6553689:-20,6553692:-20,6553697:-10,6553698:-20,6553699:-10,6553700:-10,6553701:-10,6553702:-47,6553703:-10,6553704:-20,6553705:-20,6553706:-10,6553707:-20,6553708:-10,6553709:6,6553710:6,6553711:-10,6553712:6,6553713:-10,6553714:6,6553715:-10,6553716:-40,6553717:-20,6553718:-10,6553719:-10,6553720:-50,6553721:-10,6553722:-10,6619170:-10,6619175:-10,6619178:-20,6619183:-10,6619191:-70,6619199:-40,6619201:-10,6619202:-10,6619204:-10,6619205:-10,6619206:-10,6619208:-10,6619209:-10,6619213:-10,6619214:-10,6619216:-10,6619218:-10,6619220:-70,6619222:-50,6619223:-50,6619224:-20,6619225:-50,6619228:-50,6619234:-10,6619235:-10,6619236:-10,6619237:-10,6619238:-30,6619239:-10,6619240:-10,6619241:-10,6619242:-10,6619243:-10,6619244:-5,6619245:-10,6619246:-10,6619247:-10,6619248:-10,6619249:-10,6619250:-10,6619251:-10,6619252:-30,6619253:-10,6619254:-25,6619255:-25,6619256:-50,6619257:-25,6619258:-24,6684714:10,6684716:-60,6684717:-30,6684718:-60,6684719:-39,6684730:-30,6684731:-30,6684737:-39,6684738:-40,6684740:-40,6684741:-40,6684742:-40,6684744:-40,6684745:-40,6684749:-40,6684750:-40,6684752:-40,6684754:-40,6684765:10,6684769:-30,6684770:-40,6684771:-44,6684772:-44,6684773:-44,6684774:-107,6684775:-44,6684776:-40,6684777:-40,6684778:-40,6684779:-40,6684780:-20,6684781:-30,6684782:-30,6684783:-44,6684784:-30,6684785:-44,6684786:-30,6684787:-44,6684788:-40,6684790:-40,6684791:-40,6684792:-40,6684793:-40,6684794:-10,6750263:-60,6750271:-20,6750274:-15,6750276:-15,6750277:-15,6750278:-15,6750280:-15,6750281:-15,6750285:-15,6750286:-15,6750288:-15,6750290:-15,6750292:-60,6750294:-20,6750295:-20,6750297:-20,6750300:-20,6750306:-15,6750307:-10,6750308:-10,6750309:-10,6750310:-23,6750311:-10,6750312:-15,6750313:-15,6750315:-15,6750319:-10,6750321:-10,6750323:-10,6750324:-28,6750326:-20,6750327:-20,6750328:-15,6750329:-20,6750330:-10,6815786:-20,6815799:-40,6815807:-20,6815810:-6,6815812:-6,6815813:-6,6815814:-6,6815816:-6,6815817:-6,6815821:-6,6815822:-6,6815824:-6,6815826:-6,6815828:-40,6815830:-20,6815831:-20,6815832:-10,6815833:-40,6815836:-20,6815841:-10,6815842:-6,6815843:-12,6815844:-12,6815845:-12,6815846:-34,6815847:-12,6815848:-6,6815849:-6,6815850:-30,6815851:-6,6815852:-15,6815853:-20,6815854:-20,6815855:-12,6815856:-20,6815857:-12,6815858:-20,6815859:-12,6815860:-40,6815861:-15,6815862:-34,6815863:-34,6815864:-50,6815865:-34,6815866:-20,6881327:-10,6881335:-40,6881343:-10,6881345:-10,6881346:-20,6881347:-14,6881348:-20,6881349:-20,6881350:-20,6881351:-14,6881352:-20,6881353:-20,6881354:-20,6881357:-20,6881358:-20,6881359:-14,6881360:-20,6881361:-14,6881362:-20,6881363:-14,6881364:-40,6881365:15,6881366:-20,6881367:-20,6881368:-10,6881369:-20,6881372:-20,6881377:-10,6881378:-20,6881379:-10,6881380:-10,6881381:-10,6881382:-47,6881383:-10,6881384:-20,6881385:-20,6881386:-10,6881387:-20,6881388:-10,6881389:6,6881390:6,6881391:-10,6881392:6,6881393:-10,6881394:6,6881395:-10,6881396:-40,6881397:-20,6881398:-10,6881399:-10,6881400:-50,6881401:-10,6881402:-10,6946863:-10,6946871:-40,6946879:-10,6946881:-10,6946882:-20,6946883:-14,6946884:-20,6946885:-20,6946886:-20,6946887:-14,6946888:-20,6946889:-20,6946890:-20,6946893:-20,6946894:-20,6946895:-14,6946896:-20,6946897:-14,6946898:-20,6946899:-14,6946900:-40,6946901:15,6946902:-20,6946903:-20,6946904:-10,6946905:-20,6946908:-20,6946913:-10,6946914:-20,6946915:-10,6946916:-10,6946917:-10,6946918:-47,6946919:-10,6946920:-20,6946921:-20,6946922:-10,6946923:-20,6946924:-10,6946925:6,6946926:6,6946927:-10,6946928:6,6946929:-10,6946930:6,6946931:-10,6946932:-40,6946933:-20,6946934:-10,6946935:-10,6946936:-50,6946937:-10,6946938:-10,7012385:-20,7012394:-20,7012396:-20,7012397:-70,7012398:-20,7012407:-20,7012410:-40,7012411:-40,7012415:-30,7012418:-50,7012419:-10,7012420:-50,7012421:-50,7012422:-50,7012423:-10,7012424:-50,7012425:-50,7012429:-50,7012430:-50,7012431:-10,7012432:-50,7012433:-10,7012434:-50,7012435:-10,7012436:-20,7012449:-44,7012450:-50,7012451:-50,7012452:-50,7012453:-50,7012454:-60,7012455:-50,7012456:-50,7012457:-50,7012458:-26,7012459:-50,7012460:-35,7012461:-42,7012462:-42,7012463:-50,7012464:-42,7012465:-50,7012466:-42,7012467:-50,7012468:-53,7012469:-20,7012470:-70,7012471:-70,7012472:-40,7012473:-70,7012474:-30,7077930:-20,7077932:20,7077934:20,7077951:-20,7077954:-8,7077956:-8,7077957:-8,7077958:-8,7077960:-8,7077961:-8,7077965:-8,7077966:-8,7077968:-8,7077970:-8,7077986:-8,7077987:-6,7077988:-6,7077989:-6,7077990:-14,7077991:-6,7077992:-8,7077993:-8,7077995:-8,7077996:-10,7077999:-6,7078001:-6,7078003:-6,7078004:-50,7078005:-10,7078006:-24,7078007:-24,7078008:-26,7078009:-24,7078010:-8,7143466:-20,7143479:-40,7143487:-20,7143490:-6,7143492:-6,7143493:-6,7143494:-6,7143496:-6,7143497:-6,7143501:-6,7143502:-6,7143504:-6,7143506:-6,7143508:-40,7143510:-20,7143511:-20,7143512:-10,7143513:-40,7143516:-20,7143521:-10,7143522:-6,7143523:-12,7143524:-12,7143525:-12,7143526:-34,7143527:-12,7143528:-6,7143529:-6,7143530:-30,7143531:-6,7143532:-15,7143533:-20,7143534:-20,7143535:-12,7143536:-20,7143537:-12,7143538:-20,7143539:-12,7143540:-40,7143541:-15,7143542:-34,7143543:-34,7143544:-50,7143545:-34,7143546:-20,7209002:-20,7209015:-40,7209023:-20,7209026:-6,7209028:-6,7209029:-6,7209030:-6,7209032:-6,7209033:-6,7209037:-6,7209038:-6,7209040:-6,7209042:-6,7209044:-40,7209046:-20,7209047:-20,7209048:-10,7209049:-40,7209052:-20,7209057:-10,7209058:-6,7209059:-12,7209060:-12,7209061:-12,7209062:-34,7209063:-12,7209064:-6,7209065:-6,7209066:-30,7209067:-6,7209068:-15,7209069:-20,7209070:-20,7209071:-12,7209072:-20,7209073:-12,7209074:-20,7209075:-12,7209076:-40,7209077:-15,7209078:-34,7209079:-34,7209080:-50,7209081:-34,7209082:-20,7274530:-10,7274535:-10,7274538:-20,7274543:-10,7274551:-70,7274559:-40,7274561:-10,7274562:-10,7274564:-10,7274565:-10,7274566:-10,7274568:-10,7274569:-10,7274573:-10,7274574:-10,7274576:-10,7274578:-10,7274580:-70,7274582:-50,7274583:-50,7274584:-20,7274585:-50,7274588:-50,7274594:-10,7274595:-10,7274596:-10,7274597:-10,7274598:-30,7274599:-10,7274600:-10,7274601:-10,7274602:-10,7274603:-10,7274604:-5,7274605:-10,7274606:-10,7274607:-10,7274608:-10,7274609:-10,7274610:-10,7274611:-10,7274612:-30,7274613:-10,7274614:-25,7274615:-25,7274616:-50,7274617:-25,7274618:-24,7340066:-10,7340071:-10,7340074:-20,7340079:-10,7340087:-70,7340095:-40,7340097:-10,7340098:-10,7340100:-10,7340101:-10,7340102:-10,7340104:-10,7340105:-10,7340109:-10,7340110:-10,7340112:-10,7340114:-10,7340116:-70,7340118:-50,7340119:-50,7340120:-20,7340121:-50,7340124:-50,7340130:-10,7340131:-10,7340132:-10,7340133:-10,7340134:-30,7340135:-10,7340136:-10,7340137:-10,7340138:-10,7340139:-10,7340140:-5,7340141:-10,7340142:-10,7340143:-10,7340144:-10,7340145:-10,7340146:-10,7340147:-10,7340148:-30,7340149:-10,7340150:-25,7340151:-25,7340152:-50,7340153:-25,7340154:-24,7405623:-60,7405631:-20,7405634:-15,7405636:-15,7405637:-15,7405638:-15,7405640:-15,7405641:-15,7405645:-15,7405646:-15,7405648:-15,7405650:-15,7405652:-60,7405654:-20,7405655:-20,7405657:-20,7405660:-20,7405666:-15,7405667:-10,7405668:-10,7405669:-10,7405670:-23,7405671:-10,7405672:-15,7405673:-15,7405675:-15,7405679:-10,7405681:-10,7405683:-10,7405684:-28,7405686:-20,7405687:-20,7405688:-15,7405689:-20,7405690:-10,7471148:-60,7471149:-40,7471150:-60,7471151:-30,7471159:-40,7471162:-50,7471163:-50,7471169:-30,7471170:-30,7471172:-30,7471173:-30,7471174:-30,7471176:-30,7471177:-30,7471181:-30,7471182:-30,7471184:-30,7471186:-30,7471188:-40,7471201:-40,7471202:-30,7471203:-40,7471204:-40,7471205:-40,7471206:-60,7471207:-40,7471208:-30,7471209:-30,7471210:-40,7471211:-30,7471212:-30,7471213:-40,7471214:-40,7471215:-40,7471216:-40,7471217:-40,7471218:-40,7471219:-40,7471220:-50,7471221:-20,7471222:-25,7471223:-25,7471224:-70,7471225:-25,7471226:-30,7536674:-10,7536679:-10,7536682:-20,7536687:-10,7536695:-70,7536703:-40,7536705:-10,7536706:-10,7536708:-10,7536709:-10,7536710:-10,7536712:-10,7536713:-10,7536717:-10,7536718:-10,7536720:-10,7536722:-10,7536724:-70,7536726:-50,7536727:-50,7536728:-20,7536729:-50,7536732:-50,7536738:-10,7536739:-10,7536740:-10,7536741:-10,7536742:-30,7536743:-10,7536744:-10,7536745:-10,7536746:-10,7536747:-10,7536748:-5,7536749:-10,7536750:-10,7536751:-10,7536752:-10,7536753:-10,7536754:-10,7536755:-10,7536756:-30,7536757:-10,7536758:-25,7536759:-25,7536760:-50,7536761:-25,7536762:-24,7602220:25,7602221:-30,7602222:25,7602223:10,7602241:10,7602242:-16,7602244:-16,7602245:-16,7602246:-16,7602248:-16,7602249:-16,7602253:-16,7602254:-16,7602256:-16,7602258:-16,7602262:-10,7602263:-10,7602266:30,7602268:-10,7602273:-10,7602274:-16,7602275:-16,7602276:-16,7602277:-16,7602278:-34,7602279:-16,7602280:-16,7602281:-16,7602282:-10,7602283:-16,7602285:5,7602286:5,7602287:-16,7602288:5,7602289:-16,7602290:5,7602291:-16,7602292:-91,7602293:-6,7602294:-10,7602295:-10,7602296:-30,7602297:-10,7667767:-60,7667775:-20,7667778:-15,7667780:-15,7667781:-15,7667782:-15,7667784:-15,7667785:-15,7667789:-15,7667790:-15,7667792:-15,7667794:-15,7667796:-60,7667798:-20,7667799:-20,7667801:-20,7667804:-20,7667810:-15,7667811:-10,7667812:-10,7667813:-10,7667814:-23,7667815:-10,7667816:-15,7667817:-15,7667819:-15,7667823:-10,7667825:-10,7667827:-10,7667828:-28,7667830:-20,7667831:-20,7667832:-15,7667833:-20,7667834:-10,7733292:-60,7733293:-10,7733294:-60,7733295:-50,7733303:-40,7733306:-20,7733307:-20,7733313:-50,7733314:-10,7733315:-15,7733316:-10,7733317:-10,7733318:-10,7733319:-15,7733320:-10,7733321:-10,7733322:-40,7733325:-10,7733326:-10,7733327:-15,7733328:-10,7733329:-15,7733330:-10,7733331:-15,7733332:-40,7733345:-22,7733346:-10,7733347:-26,7733348:-26,7733349:-26,7733350:-10,7733351:-26,7733352:-10,7733353:-10,7733354:-15,7733355:-10,7733356:-10,7733357:-24,7733358:-24,7733359:-26,7733360:-24,7733361:-26,7733362:-24,7733363:-26,7733364:-24,7733365:-20,7733368:-48,7733370:-22,7798828:-60,7798829:-10,7798830:-60,7798831:-50,7798839:-40,7798842:-20,7798843:-20,7798849:-50,7798850:-10,7798851:-15,7798852:-10,7798853:-10,7798854:-10,7798855:-15,7798856:-10,7798857:-10,7798858:-40,7798861:-10,7798862:-10,7798863:-15,7798864:-10,7798865:-15,7798866:-10,7798867:-15,7798868:-40,7798881:-22,7798882:-10,7798883:-26,7798884:-26,7798885:-26,7798886:-10,7798887:-26,7798888:-10,7798889:-10,7798890:-15,7798891:-10,7798892:-10,7798893:-24,7798894:-24,7798895:-26,7798896:-24,7798897:-26,7798898:-24,7798899:-26,7798900:-24,7798901:-20,7798904:-48,7798906:-22,7864353:-20,7864362:-20,7864364:-20,7864365:-70,7864366:-20,7864375:-20,7864378:-40,7864379:-40,7864383:-30,7864386:-50,7864387:-10,7864388:-50,7864389:-50,7864390:-50,7864391:-10,7864392:-50,7864393:-50,7864397:-50,7864398:-50,7864399:-10,7864400:-50,7864401:-10,7864402:-50,7864403:-10,7864404:-20,7864417:-44,7864418:-50,7864419:-50,7864420:-50,7864421:-50,7864422:-60,7864423:-50,7864424:-50,7864425:-50,7864426:-26,7864427:-50,7864428:-35,7864429:-42,7864430:-42,7864431:-50,7864432:-42,7864433:-50,7864434:-42,7864435:-50,7864436:-53,7864437:-20,7864438:-70,7864439:-70,7864440:-40,7864441:-70,7864442:-30,7929900:-60,7929901:-10,7929902:-60,7929903:-50,7929911:-40,7929914:-20,7929915:-20,7929921:-50,7929922:-10,7929923:-15,7929924:-10,7929925:-10,7929926:-10,7929927:-15,7929928:-10,7929929:-10,7929930:-40,7929933:-10,7929934:-10,7929935:-15,7929936:-10,7929937:-15,7929938:-10,7929939:-15,7929940:-40,7929953:-22,7929954:-10,7929955:-26,7929956:-26,7929957:-26,7929958:-10,7929959:-26,7929960:-10,7929961:-10,7929962:-15,7929963:-10,7929964:-10,7929965:-24,7929966:-24,7929967:-26,7929968:-24,7929969:-26,7929970:-24,7929971:-26,7929972:-24,7929973:-20,7929976:-48,7929978:-22,7995450:-20,7995451:-20,7995455:-10,7995458:-10,7995460:-10,7995461:-10,7995462:-10,7995464:-10,7995465:-10,7995469:-10,7995470:-10,7995472:-10,7995474:-10,7995478:-30,7995479:-30,7995480:-10,7995484:-30,7995489:-15,7995490:-10,7995491:-30,7995492:-30,7995493:-30,7995494:-20,7995495:-30,7995496:-10,7995497:-10,7995498:-20,7995499:-10,7995500:-25,7995501:-20,7995502:-20,7995503:-30,7995504:-20,7995505:-30,7995506:-20,7995507:-30,7995508:-30,7995509:-20,7995510:-26,7995511:-26,7995512:-50,7995513:-26,7995514:-16,8060983:10,8061012:10,8257591:-20,8257620:-20,8257625:-20}, + sans500: {2228271:-50.02,2228276:-30.02,2228279:9.98,2228289:-50.02,2228308:9.98,2228323:-10,2228324:-10.02,2228325:-10.02,2228327:-10,2228335:-10.02,2228337:-10.02,2228339:-10.02,2490423:-58.22,2490452:-58.2,2490454:-41.22,2490455:-41.2,2490460:-41.2,2555951:-50.02,2555956:-30.02,2555959:9.98,2555969:-50,2555988:9.98,2556003:-10,2556004:-10.02,2556005:-10.02,2556007:-10,2556015:-10.02,2556017:-10.02,2556019:-10,2621490:-8,2621491:-6,2621492:-35,2621496:-8.41,2621507:-15,2621511:-15,2621519:-15,2621521:-15.02,2621523:-15,2752556:-40,2752558:-40,2752559:-72.02,2752567:12,2752577:-72,2752596:12,2818103:-20.02,2818132:-20.02,2818137:-20.02,2883626:-40,2883633:-76.02,2883639:-60.02,2883651:-20.02,2883655:-20.02,2883658:-6.02,2883663:-20,2883665:-20.02,2883667:-20.02,2883668:-60.02,2883670:-77.22,2883671:-77.2,2883676:-77.2,2883686:-34.02,2883690:9.98,2883692:-10,2883702:-42,2883703:-42.02,2883705:-42.02,2949169:-20,2949172:9.98,2949175:-40.02,2949182:235.58,2949204:-40.02,2949222:-10.02,2949238:-10,2949239:-10.02,2949240:-50,2949241:-10,3014698:-40,3014705:-76.02,3014711:-60.02,3014723:-20.02,3014727:-20.02,3014730:-6.02,3014735:-20,3014737:-20.02,3014739:-20.02,3014740:-60.02,3014742:-77.22,3014743:-77.2,3014748:-77.2,3014758:-34.02,3014762:9.98,3014764:-10,3014774:-42,3014775:-42.02,3014777:-42.02,3080225:-32.02,3080230:-20.61,3080236:-77.22,3080238:-77.22,3080239:-108.83,3080240:-20.02,3080241:-20.02,3080242:-40.02,3080243:-40.02,3080244:-76.02,3080245:-10.02,3080246:-20.02,3080248:-20.02,3080249:-20.02,3080250:-32.02,3080251:-32.02,3080255:-32.02,3080257:-108.81,3080258:-23.61,3080259:-36.02,3080260:-23.61,3080261:-23.61,3080262:-23.62,3080263:-36.02,3080264:-23.62,3080265:-23.62,3080266:-80.02,3080267:-15.02,3080268:-15.02,3080269:-23.61,3080270:-23.61,3080271:-36.02,3080272:-23.61,3080273:-36.02,3080274:-23.61,3080275:-36.02,3080278:-10.02,3080279:-10.02,3080280:-10.02,3080282:-12.02,3080284:-10.02,3080289:-49.61,3080290:-23.62,3080291:-44.02,3080292:-44.02,3080293:-44.02,3080294:-50.02,3080295:-44.02,3080296:-23.62,3080297:-23.61,3080298:-48.02,3080299:-23.62,3080300:-28.02,3080301:-34.02,3080302:-34.02,3080303:-44.02,3080304:-34.02,3080305:-44.02,3080306:-34.02,3080307:-44.02,3080308:-40.02,3080309:-52.02,3080310:-42.02,3080311:-42.02,3080312:-64.02,3080313:-42.02,3080314:-38.02,3145776:9.98,3145777:-10.02,3145780:-7.22,3145782:9.98,3145783:-40.02,3145812:-40.02,3211309:-10,3211311:-20.02,3211312:-12.02,3211313:-40.02,3211314:-10,3211316:-20.02,3211318:-12,3211319:-22.02,3211320:-20.02,3211329:-20.02,3211331:-12,3211335:-12.02,3211339:-14.2,3211340:-14.22,3211343:-12,3211345:-12.02,3211347:-12.02,3211348:-22.02,3211361:-5,3211363:-18.61,3211364:-18.61,3211365:-18.61,3211367:-18.61,3211375:-18.61,3211377:-18.61,3211379:-18.61,3211381:-8.02,3276845:-30,3276847:-10.02,3276849:-9.61,3276851:-21,3276852:-36.02,3276855:-28.02,3276865:-10,3276867:-11.2,3276871:-11.2,3276879:-11.2,3276881:-11.22,3276883:-11.2,3276884:-28.02,3342377:-6,3342383:-32.81,3342391:-20,3342401:-32.8,3342420:-20,3407906:-10.02,3407909:-20.02,3407911:-10.02,3407917:-10.02,3407920:-10.02,3407921:-20.02,3407923:-20,3407926:-10,3407927:-30.02,3407930:-20.02,3407931:-20.02,3407956:-30.02,3473449:-11.02,3473455:-20.02,3473456:-20.02,3473458:-10.02,3473462:-20.02,3473463:-50.02,3473473:-20.02,3473492:-50.02,3538991:-22.02,3538993:-20,3538994:-10.8,3538999:-38,3539009:-22,3539028:-38,3604517:11.98,3604524:-96.02,3604525:-36.02,3604526:-96.02,3604527:-56.02,3604529:9.98,3604530:-10.02,3604532:-54.02,3604535:19.98,3604536:-9.22,3604538:-20.02,3604539:-20.02,3604545:-56.02,3604547:-10.02,3604551:-10.02,3604559:-10,3604561:-10.02,3604563:-10.02,3604564:19.98,3604573:30,3604605:30,3670057:-8.41,3670065:-18.02,3670071:-20.02,3670100:-20.02,3735600:9.98,3735601:-10.02,3735604:-7.22,3735606:10,3735607:-40.02,3735636:-40.02,3801135:-20.02,3801140:-20.02,3801143:-58.02,3801153:-20.02,3801155:-10,3801159:-10.02,3801167:-10,3801169:-10.02,3801171:-10.02,3801172:-58.02,3801174:-32.02,3801175:-32,3801176:-20,3801180:-32,3801190:-28.02,3801204:-28.02,3801206:-20,3801207:-20.02,3801208:-42.02,3801209:-20,3801210:-20,3866671:-20.02,3866676:-20.02,3866679:-58.02,3866689:-20.02,3866691:-10,3866695:-10.02,3866703:-10,3866705:-10.02,3866707:-10.02,3866708:-58.02,3866710:-32.02,3866711:-32,3866712:-20,3866716:-32,3866726:-28.02,3866740:-28.02,3866742:-20,3866743:-20.02,3866744:-42.02,3866745:-20,3866746:-20,3932205:235.58,3932215:-20.02,3932244:-20.02,3932249:-20.02,3997751:-20.02,3997780:-20.02,3997785:-20.02,4063287:-20.02,4063316:-20.02,4063321:-20.02,4259873:-10.02,4259874:-50.02,4259879:-50,4259882:-72,4259891:-34.41,4259895:-93.22,4259898:-20.02,4259899:-20.02,4259903:-52.02,4259906:-22.02,4259907:-34,4259908:-22,4259909:-22,4259910:-22.02,4259911:-34.02,4259912:-22.02,4259913:-22.02,4259914:-30.02,4259915:-15.8,4259916:-15.81,4259917:-22.02,4259918:-22,4259919:-34,4259920:-22,4259921:-34.02,4259922:-22,4259923:-34.02,4259924:-93.22,4259925:-18.81,4259926:-108.81,4259927:-108.8,4259929:-74,4259930:-10.02,4259932:-108.8,4259938:-22.02,4259939:-20.41,4259940:-20.42,4259941:-20.41,4259942:-42.02,4259943:-20.41,4259944:-22.02,4259945:-22,4259947:-22.02,4259948:-22,4259949:-20.02,4259950:-20.02,4259951:-20.42,4259952:-20.02,4259953:-20.42,4259954:-20,4259955:-20.41,4259956:-64.02,4259957:-20.81,4259958:-62,4259959:-62.02,4259960:-30.02,4259961:-62,4259962:-12,4325423:-22.42,4325431:-38.02,4325434:-20.02,4325435:-20.02,4325439:-28.02,4325441:-22.41,4325442:-8.02,4325443:-10,4325444:-8,4325445:-16.2,4325446:-8.02,4325447:-10.02,4325448:-8.02,4325449:-8.02,4325453:-8.02,4325454:-8,4325455:-10,4325456:-8,4325457:-10.02,4325458:-8,4325459:-10.02,4325460:-38.02,4325462:-34.02,4325463:-34,4325465:-44,4325468:-34,4325473:-8.41,4325474:-8.02,4325478:-20.02,4325480:-8.02,4325481:-8,4325482:-14.02,4325483:-8.02,4325484:-12.8,4325485:-10.02,4325486:-10.02,4325488:-10.02,4325490:-10,4325492:-20.02,4325493:-11.61,4325494:-34,4325495:-34.02,4325496:-43.61,4325497:-34,4325498:-22,4390959:-26.41,4390967:-15.02,4390977:-26.41,4390987:-8.59,4390988:-8.61,4390996:-15.02,4390998:-22.02,4390999:-22,4391000:-20,4391001:-22,4391004:-22,4391009:-5.61,4391011:-8.41,4391012:-8.41,4391013:-8.41,4391014:-20.02,4391015:-8.41,4391020:-10.8,4391021:-8.41,4391022:-8.41,4391023:-8.41,4391024:-8.41,4391025:-8.41,4391026:-8.41,4391027:-8.41,4391028:-10,4391029:-12.02,4391030:-12,4391031:-12.02,4391032:-32,4391033:-12,4391034:-10,4456489:-19,4456490:-10,4456492:-20,4456494:-20,4456495:-36.02,4456498:-11,4456503:-40,4456506:-10,4456507:-10,4456511:-20,4456513:-36,4456514:10.39,4456516:10.41,4456517:10.41,4456518:10.39,4456520:10.39,4456521:10.39,4456522:-10.81,4456523:-11.39,4456524:-11.41,4456525:10.39,4456526:10.41,4456528:10.41,4456530:10.41,4456532:-40,4456534:-36.41,4456535:-36.39,4456536:-32,4456537:-42,4456538:-10,4456540:-36.39,4456545:7.59,4456546:10.39,4456547:11.61,4456548:11.59,4456549:11.59,4456550:-10,4456551:11.61,4456552:10.39,4456553:10.41,4456554:-20,4456555:10.39,4456559:11.59,4456561:11.59,4456563:11.59,4456564:-23.2,4456566:-16.8,4456567:-16.81,4456568:-24,4456569:-16.8,4522042:-10,4522043:-10,4522047:-20,4522050:-7.61,4522052:-7.59,4522053:-7.59,4522054:-7.61,4522056:-7.61,4522057:-7.61,4522061:-7.61,4522062:-8.59,4522064:-7.59,4522066:-7.59,4522070:12.8,4522071:12.8,4522073:-20,4522076:12.8,4522081:-9.59,4522082:-7.61,4522083:-18.39,4522084:-18.41,4522085:-18.41,4522086:-32,4522087:-18.39,4522088:-7.61,4522089:-7.59,4522090:-12,4522091:-7.61,4522095:-18.41,4522097:-18.41,4522099:-18.41,4522100:-38,4522102:-22,4522103:-22.02,4522104:-30,4522105:-22,4587564:-80.02,4587566:-80.02,4587567:-81.62,4587578:-30.02,4587579:-30.02,4587583:-18.02,4587585:-81.61,4587586:-18.02,4587588:-18,4587589:-18,4587590:-18.02,4587592:-18.02,4587593:-18.02,4587594:-60.02,4587595:-28,4587596:-28.02,4587597:-18.02,4587598:-18.02,4587600:-18,4587602:-18.02,4587608:-20,4587609:-18.02,4587610:-18.02,4587617:-22.02,4587618:-18.02,4587619:-28,4587620:-28.02,4587621:-28.02,4587622:-10.02,4587623:-28,4587624:-18.02,4587625:-18.02,4587626:-32.02,4587627:-18.02,4587628:-20,4587629:-28.02,4587630:-28.02,4587631:-28.02,4587632:-28.02,4587633:-28.02,4587634:-28,4587635:-28.02,4587636:-36.02,4587637:-30.02,4587638:-40,4587639:-40.02,4587640:-48.02,4587641:-40.02,4587642:-30,4653111:-20.02,4653140:-20.02,4653142:-32.02,4653143:-32,4653144:-12,4653145:-20.02,4653148:-32,4653153:9.98,4653155:10,4653156:9.98,4653157:9.98,4653158:-14.02,4653159:10,4653167:9.98,4653169:9.98,4653171:9.98,4653172:-12.02,4653174:-7.2,4653175:-7.22,4653176:-16.02,4653177:-7.2,4718639:-10.02,4718647:-36.02,4718655:-10.02,4718657:-10.02,4718658:-18.02,4718659:-14.81,4718660:-18,4718661:-18,4718662:-18.02,4718663:-14.81,4718664:-18.02,4718665:-18.02,4718666:-18.02,4718669:-18.02,4718670:-18.02,4718671:-14.81,4718672:-18,4718673:-14.81,4718674:-18.02,4718675:-14.81,4718676:-36.02,4718677:14.98,4718678:-22.02,4718679:-22,4718680:-10,4718681:-20.02,4718684:-22,4718689:-10.02,4718690:-18.02,4718691:-10,4718692:-10.02,4718693:-10.02,4718694:-43.61,4718695:-10,4718696:-18.02,4718697:-18.02,4718698:-16.02,4718699:-18.02,4718700:-8.41,4718701:5.98,4718702:5.98,4718703:-10.02,4718704:5.98,4718705:-10.02,4718706:6,4718707:-10.02,4718708:-36.41,4718709:-19.22,4718710:-10,4718711:-10.02,4718712:-50.02,4718713:-10.02,4718714:-10,4784175:-10.02,4784183:-36.02,4784191:-10.02,4784193:-10.02,4784194:-18.02,4784195:-14.81,4784196:-18.02,4784197:-18.02,4784198:-18.02,4784199:-14.81,4784200:-18.02,4784201:-18.02,4784202:-18.02,4784205:-18.02,4784206:-18.02,4784207:-14.81,4784208:-18.02,4784209:-14.83,4784210:-18.02,4784211:-14.81,4784212:-36.02,4784213:14.98,4784214:-22.02,4784215:-22.02,4784216:-10.02,4784217:-20.02,4784220:-22.02,4784225:-10.02,4784226:-18.02,4784227:-10.02,4784228:-10.02,4784229:-10.02,4784230:-43.62,4784231:-10.02,4784232:-18.02,4784233:-18.02,4784234:-16.02,4784235:-18.02,4784236:-8.41,4784237:5.98,4784238:5.98,4784239:-10.02,4784240:5.98,4784241:-10.02,4784242:5.98,4784243:-10.02,4784244:-36.42,4784245:-19.22,4784246:-10.02,4784247:-10.02,4784248:-50.02,4784249:-10.02,4784250:-10.02,4849711:-18.83,4849729:-18.81,4849730:14.98,4849732:14.98,4849733:14.98,4849734:14.98,4849736:14.98,4849737:14.98,4849738:-26.02,4849741:14.98,4849742:14.98,4849744:14.98,4849746:14.98,4849752:-20.02,4849753:-18.02,4849762:14.98,4849763:-6.02,4849764:-6.02,4849765:-6.02,4849766:-19.22,4849767:-6.02,4849768:14.98,4849769:14.98,4849770:-6.81,4849771:14.98,4849775:-6.02,4849777:-6.02,4849779:-6.02,4849780:-18.02,4849782:-20.02,4849783:-20.02,4849784:-30.02,4849785:-20.02,4849786:-20.02,4915242:-12,4915258:-20,4915259:-20,4915263:-22,4915266:-10,4915267:-40,4915268:-10,4915269:-10,4915270:-10,4915271:-40,4915272:-10,4915273:-10.02,4915274:-30.02,4915275:-19.2,4915276:-19.2,4915277:-10,4915278:-10,4915279:-40,4915280:-10,4915281:-40.02,4915282:-10,4915283:-40,4915285:-20,4915286:-10.02,4915287:-10,4915290:-10,4915292:-10,4915297:-16,4915298:-10.02,4915299:-48.8,4915300:-48.81,4915301:-48.81,4915302:-52,4915303:-48.8,4915304:-10.02,4915305:-10,4915306:-9.61,4915307:-10.02,4915309:-18.61,4915310:-18.61,4915311:-48.81,4915312:-18.61,4915313:-48.81,4915314:-18.59,4915315:-48.8,4915316:-50,4915317:-30,4915318:-32,4915319:-32.02,4915320:-32,4915321:-32,4980769:-18.02,4980770:-96.02,4980775:-96.02,4980778:-120.02,4980780:-7.62,4980782:-7.62,4980783:-20.02,4980791:-136.02,4980794:-18.02,4980795:-18.02,4980799:-80.02,4980801:-20.02,4980802:-44.02,4980803:-48.02,4980804:-44.02,4980805:-44.02,4980806:-44.02,4980807:-48.02,4980808:-44.02,4980809:-44.02,4980810:-51.62,4980811:-28.02,4980812:-28.02,4980813:-44.02,4980814:-44.02,4980815:-48.02,4980816:-44.02,4980817:-48.02,4980818:-44.02,4980819:-48.02,4980820:-136.02,4980821:-46.02,4980822:-152.02,4980823:-152.02,4980825:-160.02,4980826:-18.02,4980828:-152.02,4980834:-44.02,4980835:-35.61,4980836:-35.62,4980837:-35.62,4980838:-56.02,4980839:-35.61,4980840:-44.02,4980841:-44.02,4980842:-18.02,4980843:-44.02,4980844:-36.02,4980847:-35.62,4980849:-35.62,4980851:-35.61,4980852:-76.02,4980853:-36.02,4980854:-80.02,4980855:-80.02,4980856:-48.02,4980857:-80.02,4980858:-20.02,5046319:-10.02,5046327:-36.02,5046335:-10.02,5046337:-10.02,5046338:-18.02,5046339:-14.81,5046340:-18,5046341:-18,5046342:-18.02,5046343:-14.81,5046344:-18.02,5046345:-18.02,5046346:-18.02,5046349:-18.02,5046350:-18,5046351:-14.8,5046352:-18,5046353:-14.81,5046354:-18,5046355:-14.81,5046356:-36.02,5046357:14.98,5046358:-22.02,5046359:-22,5046360:-10,5046361:-20,5046364:-22,5046369:-10,5046370:-18.02,5046371:-10,5046372:-10.02,5046373:-10.02,5046374:-43.61,5046375:-10,5046376:-18.02,5046377:-18,5046378:-16.02,5046379:-18.02,5046380:-8.41,5046381:5.98,5046382:5.98,5046383:-10.02,5046384:5.98,5046385:-10.02,5046386:6,5046387:-10.02,5046388:-36.41,5046389:-19.22,5046390:-10,5046391:-10.02,5046392:-50.02,5046393:-10,5046394:-10,5111855:-10.02,5111863:-36.02,5111871:-10.02,5111873:-10,5111874:-18,5111875:-14.8,5111876:-18,5111877:-18,5111878:-18.02,5111879:-14.81,5111880:-18.02,5111881:-18.02,5111882:-18.02,5111885:-18,5111886:-18,5111887:-14.8,5111888:-18,5111889:-14.81,5111890:-18,5111891:-14.81,5111892:-36.02,5111893:14.98,5111894:-22.02,5111895:-22,5111896:-10,5111897:-20,5111900:-22,5111905:-10,5111906:-18.02,5111907:-10,5111908:-10.02,5111909:-10.02,5111910:-43.61,5111911:-10,5111912:-18.02,5111913:-18,5111914:-16.02,5111915:-18.02,5111916:-8.41,5111917:6,5111918:5.98,5111919:-10.02,5111920:5.98,5111921:-10.02,5111922:6,5111923:-10,5111924:-36.41,5111925:-19.2,5111926:-10,5111927:-10.02,5111928:-50,5111929:-10,5111930:-10,5177385:-19,5177386:-10,5177388:-20,5177390:-20,5177391:-36.02,5177394:-11,5177399:-40,5177402:-10,5177403:-10,5177407:-20,5177409:-36,5177410:10.39,5177412:10.41,5177413:10.41,5177414:10.39,5177416:10.39,5177417:10.39,5177418:-10.81,5177419:-11.39,5177420:-11.41,5177421:10.39,5177422:10.41,5177424:10.41,5177426:10.41,5177428:-40,5177430:-36.41,5177431:-36.39,5177432:-32,5177433:-42,5177434:-10,5177436:-36.39,5177441:7.59,5177442:10.39,5177443:11.61,5177444:11.59,5177445:11.59,5177446:-10,5177447:11.61,5177448:10.39,5177449:10.41,5177450:-20,5177451:10.39,5177455:11.59,5177457:11.59,5177459:11.59,5177460:-23.2,5177462:-16.8,5177463:-16.81,5177464:-24,5177465:-16.8,5242913:-10,5242924:-108,5242925:-28,5242926:-108,5242927:-74.41,5242938:-20,5242939:-20,5242943:-18,5242945:-74.41,5242946:-20,5242947:-12,5242948:-20,5242949:-20,5242950:-20,5242951:-12,5242952:-20,5242953:-20.02,5242954:-80.02,5242957:-20,5242958:-20,5242959:-12,5242960:-20,5242961:-12.02,5242962:-20,5242963:-12,5242966:-42.02,5242967:-42,5242968:-40,5242969:-40,5242970:-22,5242972:-42,5242977:-22,5242978:-20.02,5242979:-28,5242980:-28.02,5242981:-28,5242983:-28,5242984:-20.02,5242985:-20,5242987:-20.02,5242989:-8.61,5242990:-8.61,5242991:-28.02,5242992:-8.61,5242993:-28.02,5242994:-8.59,5242995:-28,5242997:-28,5242998:-20,5242999:-20.02,5243000:-40,5243001:-20,5243002:-30,5308457:-19.02,5308458:-10.02,5308460:-20.02,5308462:-20.02,5308463:-36.02,5308466:-11.02,5308471:-40.02,5308474:-10.02,5308475:-10.02,5308479:-20.02,5308481:-36.02,5308482:10.39,5308484:10.39,5308485:10.39,5308486:10.38,5308488:10.38,5308489:10.38,5308490:-10.83,5308491:-11.41,5308492:-11.42,5308493:10.39,5308494:10.39,5308496:10.39,5308498:10.39,5308500:-40.02,5308502:-36.42,5308503:-36.41,5308504:-32.02,5308505:-42.02,5308506:-10.02,5308508:-36.41,5308513:7.59,5308514:10.38,5308515:11.59,5308516:11.58,5308517:11.58,5308518:-10.02,5308519:11.59,5308520:10.38,5308521:10.39,5308522:-20.02,5308523:10.38,5308527:11.58,5308529:11.58,5308531:11.58,5308532:-23.22,5308534:-16.81,5308535:-16.83,5308536:-24.02,5308537:-16.81,5373999:-10.02,5374007:-19.2,5374010:-8.81,5374011:-8.81,5374015:-20.02,5374017:-10,5374019:-15,5374023:-15.02,5374027:-14.2,5374028:-14.22,5374031:-15,5374033:-15.02,5374035:-15.02,5374036:-19.2,5374038:-50.02,5374039:-50,5374041:-22,5374044:-50,5374051:-14,5374052:-14.02,5374053:-14.02,5374054:-28.02,5374055:-14,5374058:-10.81,5374063:-14.02,5374065:-14.02,5374067:-14,5374068:-30,5374069:-10.02,5374070:-22,5374071:-22.02,5374072:-24,5374073:-22,5439529:-19,5439530:-10,5439532:-20.02,5439534:-20.02,5439535:-36.02,5439538:-11.02,5439543:-40.02,5439546:-10.02,5439547:-10.02,5439551:-20.02,5439553:-36.02,5439554:10.39,5439556:10.39,5439557:10.39,5439558:10.39,5439560:10.39,5439561:10.38,5439562:-10.81,5439563:-11.41,5439564:-11.42,5439565:10.39,5439566:10.39,5439568:10.39,5439570:10.39,5439572:-40.02,5439574:-36.42,5439575:-36.41,5439576:-32,5439577:-42.02,5439578:-10.02,5439580:-36.41,5439585:7.59,5439586:10.38,5439587:11.59,5439588:11.58,5439589:11.58,5439590:-10.02,5439591:11.59,5439592:10.38,5439593:10.39,5439594:-20.02,5439595:10.38,5439599:11.58,5439601:11.58,5439603:11.59,5439604:-23.22,5439606:-16.81,5439607:-16.81,5439608:-24.02,5439609:-16.81,5505058:9.98,5505062:-24.81,5505063:9.98,5505066:12,5505068:-96.02,5505069:-38.02,5505070:-96.02,5505071:-93.22,5505076:-28.61,5505079:9.98,5505082:-58.02,5505083:-58.02,5505087:-20.02,5505089:-93.22,5505090:-26.02,5505091:-40.02,5505092:-26,5505093:-26,5505094:-26.02,5505095:-40.02,5505096:-26.02,5505097:-26.02,5505098:-120.02,5505099:-36,5505100:-36.02,5505101:-26.02,5505102:-26.02,5505103:-40,5505104:-26,5505105:-40.02,5505106:-26.02,5505107:-40.02,5505108:9.98,5505110:-10.02,5505111:-10,5505113:8.39,5505116:-10,5505117:20,5505121:-70.02,5505122:-26.02,5505123:-80,5505124:-80.02,5505125:-80.02,5505126:-38.02,5505127:-80,5505128:-26.02,5505129:-26.02,5505130:-44.02,5505131:-26.02,5505132:-18,5505133:-48.02,5505134:-48.02,5505135:-80.02,5505136:-48.02,5505137:-80.02,5505138:-48,5505139:-80.02,5505140:-36.02,5505141:-64.02,5505142:-44,5505143:-44.02,5505144:-56.02,5505145:-44.02,5505146:-48,5570607:-18.81,5570625:-18.81,5570626:14.98,5570628:15,5570629:15,5570630:14.98,5570632:14.98,5570633:14.98,5570634:-26.02,5570637:14.98,5570638:14.98,5570640:15,5570642:14.98,5570648:-20,5570649:-18.02,5570658:14.98,5570659:-6,5570660:-6.02,5570661:-6.02,5570662:-19.22,5570663:-6,5570664:14.98,5570665:14.98,5570666:-6.81,5570667:14.98,5570671:-6.02,5570673:-6.02,5570675:-6.02,5570676:-18.02,5570678:-20,5570679:-20.02,5570680:-30.02,5570681:-20.02,5570682:-20,5636129:-32.02,5636134:-20.61,5636140:-77.22,5636142:-77.22,5636143:-108.83,5636144:-20.02,5636145:-20.02,5636146:-40.02,5636147:-40.02,5636148:-76.02,5636149:-10.02,5636150:-20.02,5636152:-20.02,5636153:-20.02,5636154:-32.02,5636155:-32.02,5636159:-32.02,5636161:-108.81,5636162:-23.61,5636163:-36.02,5636164:-23.61,5636165:-23.61,5636166:-23.62,5636167:-36.02,5636168:-23.62,5636169:-23.62,5636170:-80.02,5636171:-15.02,5636172:-15.02,5636173:-23.61,5636174:-23.61,5636175:-36.02,5636176:-23.61,5636177:-36.02,5636178:-23.61,5636179:-36.02,5636182:-10.02,5636183:-10.02,5636184:-10.02,5636186:-12.02,5636188:-10.02,5636193:-49.61,5636194:-23.62,5636195:-44.02,5636196:-44.02,5636197:-44.02,5636198:-50.02,5636199:-44.02,5636200:-23.62,5636201:-23.61,5636202:-48.02,5636203:-23.62,5636204:-28.02,5636205:-34.02,5636206:-34.02,5636207:-44.02,5636208:-34.02,5636209:-44.02,5636210:-34.02,5636211:-44.02,5636212:-40.02,5636213:-52.02,5636214:-42.02,5636215:-42.02,5636216:-64.02,5636217:-42.02,5636218:-38.02,5701665:-32,5701670:-20.59,5701676:-77.2,5701678:-77.2,5701679:-108.81,5701680:-20.02,5701681:-20,5701682:-40,5701683:-40,5701684:-76,5701685:-10.02,5701686:-20,5701688:-20.02,5701689:-20,5701690:-32,5701691:-32,5701695:-32,5701697:-108.8,5701698:-23.61,5701699:-36,5701700:-23.59,5701701:-23.59,5701702:-23.61,5701703:-36,5701704:-23.61,5701705:-23.61,5701706:-80.02,5701707:-15,5701708:-15.02,5701709:-23.61,5701710:-23.59,5701711:-36,5701712:-23.59,5701713:-36.02,5701714:-23.59,5701715:-36,5701718:-10.02,5701719:-10,5701720:-10,5701722:-12,5701724:-10,5701729:-49.59,5701730:-23.61,5701731:-44,5701732:-44.02,5701733:-44,5701734:-50,5701735:-44,5701736:-23.61,5701737:-23.59,5701738:-48,5701739:-23.61,5701740:-28,5701741:-34,5701742:-34.02,5701743:-44.02,5701744:-34.02,5701745:-44.02,5701746:-34,5701747:-44,5701748:-40,5701749:-52,5701750:-42,5701751:-42.02,5701752:-64,5701753:-42,5701754:-38,5767210:-12,5767226:-20,5767227:-20,5767231:-22,5767234:-10,5767235:-40,5767236:-10,5767237:-10,5767238:-10,5767239:-40,5767240:-10,5767241:-10.02,5767242:-30.02,5767243:-19.2,5767244:-19.2,5767245:-10,5767246:-10,5767247:-40,5767248:-10,5767249:-40.02,5767250:-10,5767251:-40,5767253:-20,5767254:-10.02,5767255:-10,5767258:-10,5767260:-10,5767265:-16,5767266:-10.02,5767267:-48.8,5767268:-48.81,5767269:-48.81,5767270:-52,5767271:-48.8,5767272:-10.02,5767273:-10,5767274:-9.61,5767275:-10.02,5767277:-18.61,5767278:-18.61,5767279:-48.81,5767280:-18.61,5767281:-48.81,5767282:-18.59,5767283:-48.8,5767284:-50,5767285:-30,5767286:-32,5767287:-32.02,5767288:-32,5767289:-32,5832747:-20.02,5832751:-74.02,5832759:8.39,5832764:-20.02,5832765:-20.02,5832766:-20.02,5832769:-74,5832770:-20,5832771:-42,5832772:-20,5832773:-20,5832774:-20.02,5832775:-42.02,5832776:-20.02,5832777:-20.02,5832778:-124.02,5832781:-20,5832782:-20,5832783:-42,5832784:-20,5832785:-42.02,5832786:-20,5832787:-42.02,5832788:8.39,5832789:-18.02,5832793:20,5832794:-10,5832798:-20.02,5832801:-64,5832802:-20.02,5832803:-70,5832804:-70.02,5832805:-70.02,5832806:-54.02,5832807:-70,5832808:-20.02,5832809:-20,5832810:-44.02,5832811:-20.02,5832812:-18,5832813:-60,5832814:-60.02,5832815:-70.02,5832816:-60.02,5832817:-70.02,5832818:-60,5832819:-70,5832820:-60,5832821:-60.02,5832822:-40,5832823:-40.02,5832824:-60,5832825:-40,5832826:-72,5832830:-20,5898285:-18,5898287:-20.02,5898303:-20.02,5898305:-20.02,5898307:-20,5898311:-20.02,5898314:-28.02,5898319:-20,5898321:-20.02,5898323:-20.02,5898326:-12.02,5898327:-12,5898328:-10,5898329:-10,5898332:-12,5898337:-10,5898339:-33.2,5898340:-33.22,5898341:-33.22,5898342:-42.02,5898343:-33.2,5898346:-16.02,5898348:-6.41,5898349:-10.02,5898350:-10.02,5898351:-33.22,5898352:-10.02,5898353:-33.22,5898354:-10,5898355:-33.2,5898356:-30.02,5898357:-18.02,5898358:-32,5898359:-32.02,5898360:-40.02,5898361:-32,5898362:-20,5963831:20,5963860:20,5963882:30,6029345:-10,6029346:-50,6029351:-50,6029354:-72,6029363:-34.39,6029367:-93.2,6029370:-20,6029371:-20,6029375:-52,6029378:-22,6029379:-34,6029380:-22,6029381:-22,6029382:-22,6029383:-34,6029384:-22,6029385:-22.02,6029386:-30.02,6029387:-15.8,6029388:-15.81,6029389:-22,6029390:-22,6029391:-34,6029392:-22,6029393:-34.02,6029394:-22,6029395:-34,6029396:-93.2,6029397:-18.81,6029398:-108.81,6029399:-108.8,6029401:-74,6029402:-10,6029404:-108.8,6029410:-22.02,6029411:-20.39,6029412:-20.41,6029413:-20.41,6029414:-42,6029415:-20.39,6029416:-22.02,6029417:-22,6029419:-22.02,6029420:-22,6029421:-20,6029422:-20.02,6029423:-20.41,6029424:-20.02,6029425:-20.41,6029426:-20,6029427:-20.41,6029428:-64,6029429:-20.81,6029430:-62,6029431:-62.02,6029432:-30,6029433:-62,6029434:-12,6160439:-20.02,6160468:-20.02,6160473:-20.02,6357034:-22,6357036:19.98,6357038:19.98,6357055:-21.41,6357058:-8,6357060:-8,6357061:-8,6357062:-8.02,6357064:-8.02,6357065:-8.02,6357069:-8,6357070:-8,6357072:-8,6357074:-8,6357090:-8.02,6357091:-7.2,6357092:-7.22,6357093:-7.2,6357094:-12.81,6357095:-7.2,6357096:-8.02,6357097:-8,6357099:-8.02,6357100:-10,6357103:-7.22,6357105:-7.22,6357107:-7.2,6357108:-48,6357109:-9.2,6357110:-27.2,6357111:-27.22,6357112:-26.81,6357113:-27.2,6357114:-9.2,6422562:-10.02,6422567:-10.02,6422570:-22.02,6422575:-10.02,6422583:-70.02,6422591:-40.02,6422593:-10.02,6422594:-10.02,6422596:-10.02,6422597:-10.02,6422598:-10.02,6422600:-10.02,6422601:-10.02,6422605:-10.02,6422606:-10.02,6422608:-10.02,6422610:-10.02,6422612:-70.02,6422614:-50.02,6422615:-50.02,6422616:-20.02,6422617:-50.02,6422620:-50.02,6422626:-10.02,6422627:-10.02,6422628:-10.02,6422629:-10.02,6422630:-30.02,6422631:-10.02,6422632:-10.02,6422633:-10.02,6422634:-18.02,6422635:-10.02,6422636:-5.02,6422637:-10.02,6422638:-10.02,6422639:-10.02,6422640:-10.02,6422641:-10.02,6422642:-10.02,6422643:-10.02,6422644:-28.81,6422645:-10.02,6422646:-26.41,6422647:-26.42,6422648:-54.42,6422649:-26.41,6422650:-23.61,6488098:-10,6488103:-10,6488106:-22,6488111:-10.02,6488119:-70,6488127:-40,6488129:-10,6488130:-10,6488132:-10,6488133:-10,6488134:-10,6488136:-10,6488137:-10.02,6488141:-10,6488142:-10,6488144:-10,6488146:-10,6488148:-70,6488150:-50.02,6488151:-50,6488152:-20,6488153:-50,6488156:-50,6488162:-10.02,6488163:-10,6488164:-10.02,6488165:-10,6488166:-30,6488167:-10,6488168:-10.02,6488169:-10,6488170:-18,6488171:-10.02,6488172:-5,6488173:-10,6488174:-10.02,6488175:-10.02,6488176:-10.02,6488177:-10.02,6488178:-10,6488179:-10,6488180:-28.8,6488181:-10,6488182:-26.39,6488183:-26.41,6488184:-54.41,6488185:-26.41,6488186:-23.59,6553647:-10.02,6553655:-36.02,6553663:-10.02,6553665:-10.02,6553666:-18.02,6553667:-14.81,6553668:-18.02,6553669:-18.02,6553670:-18.02,6553671:-14.81,6553672:-18.02,6553673:-18.02,6553674:-18.02,6553677:-18.02,6553678:-18.02,6553679:-14.81,6553680:-18.02,6553681:-14.83,6553682:-18.02,6553683:-14.81,6553684:-36.02,6553685:14.98,6553686:-22.02,6553687:-22.02,6553688:-10.02,6553689:-20.02,6553692:-22.02,6553697:-10.02,6553698:-18.02,6553699:-10.02,6553700:-10.02,6553701:-10.02,6553702:-43.62,6553703:-10.02,6553704:-18.02,6553705:-18.02,6553706:-16.02,6553707:-18.02,6553708:-8.41,6553709:5.98,6553710:5.98,6553711:-10.02,6553712:5.98,6553713:-10.02,6553714:5.98,6553715:-10.02,6553716:-36.42,6553717:-19.22,6553718:-10.02,6553719:-10.02,6553720:-50.02,6553721:-10.02,6553722:-10.02,6619170:-10.02,6619175:-10.02,6619178:-22,6619183:-10.02,6619191:-70.02,6619199:-40.02,6619201:-10.02,6619202:-10.02,6619204:-10,6619205:-10,6619206:-10.02,6619208:-10.02,6619209:-10.02,6619213:-10.02,6619214:-10.02,6619216:-10,6619218:-10.02,6619220:-70.02,6619222:-50.02,6619223:-50,6619224:-20,6619225:-50.02,6619228:-50,6619234:-10.02,6619235:-10,6619236:-10.02,6619237:-10.02,6619238:-30.02,6619239:-10,6619240:-10.02,6619241:-10.02,6619242:-18.02,6619243:-10.02,6619244:-5,6619245:-10.02,6619246:-10.02,6619247:-10.02,6619248:-10.02,6619249:-10.02,6619250:-10,6619251:-10.02,6619252:-28.81,6619253:-10.02,6619254:-26.41,6619255:-26.42,6619256:-54.41,6619257:-26.41,6619258:-23.61,6684714:12,6684716:-60.02,6684717:-28.02,6684718:-60.02,6684719:-40.62,6684730:-26.02,6684731:-26.02,6684737:-40.61,6684738:-35.22,6684740:-35.2,6684741:-35.2,6684742:-35.22,6684744:-35.22,6684745:-35.22,6684749:-35.22,6684750:-35.2,6684752:-35.2,6684754:-35.2,6684765:14,6684769:-30.02,6684770:-35.22,6684771:-42,6684772:-42.02,6684773:-42.02,6684774:-104.23,6684775:-42,6684776:-35.22,6684777:-35.22,6684778:-46.02,6684779:-35.22,6684780:-18.41,6684781:-28.02,6684782:-28.02,6684783:-42.02,6684784:-28.02,6684785:-42.02,6684786:-28,6684787:-42.02,6684788:-36.02,6684790:-38,6684791:-38.02,6684792:-40.02,6684793:-38.02,6684794:-12,6750263:-52,6750271:-20,6750274:-12.8,6750276:-12.8,6750277:-12.8,6750278:-12.81,6750280:-12.81,6750281:-12.81,6750285:-12.8,6750286:-12.8,6750288:-12.8,6750290:-12.8,6750292:-52,6750294:-22.02,6750295:-22,6750297:-20,6750300:-22,6750306:-12.81,6750307:-10,6750308:-10.02,6750309:-10,6750310:-19.61,6750311:-10,6750312:-12.81,6750313:-12.8,6750315:-12.81,6750319:-10.02,6750321:-10.02,6750323:-10,6750324:-25.61,6750326:-20,6750327:-20.02,6750328:-18,6750329:-20,6750330:-10,6815786:-18.02,6815799:-40.02,6815807:-20.02,6815810:-6.02,6815812:-6.02,6815813:-6.02,6815814:-6.02,6815816:-6.02,6815817:-6.02,6815821:-6.02,6815822:-6.02,6815824:-6.02,6815826:-6.02,6815828:-40.02,6815830:-20.02,6815831:-20.02,6815832:-10.02,6815833:-40.02,6815836:-20.02,6815841:-11.02,6815842:-6.02,6815843:-12.41,6815844:-12.42,6815845:-12.42,6815846:-30.81,6815847:-12.41,6815848:-6.02,6815849:-6.02,6815850:-32.02,6815851:-6.02,6815852:-12.81,6815853:-18.02,6815854:-18.02,6815855:-12.42,6815856:-18.02,6815857:-12.42,6815858:-18.02,6815859:-12.42,6815860:-38.42,6815861:-14.22,6815862:-33.2,6815863:-33.22,6815864:-50.02,6815865:-33.22,6815866:-20.02,6881327:-10.02,6881335:-36.02,6881343:-10.02,6881345:-10,6881346:-18,6881347:-14.8,6881348:-18,6881349:-18,6881350:-18.02,6881351:-14.81,6881352:-18.02,6881353:-18.02,6881354:-18.02,6881357:-18,6881358:-18,6881359:-14.8,6881360:-18,6881361:-14.81,6881362:-18,6881363:-14.81,6881364:-36.02,6881365:14.98,6881366:-22.02,6881367:-22,6881368:-10,6881369:-20,6881372:-22,6881377:-10,6881378:-18.02,6881379:-10,6881380:-10.02,6881381:-10.02,6881382:-43.61,6881383:-10,6881384:-18.02,6881385:-18,6881386:-16.02,6881387:-18.02,6881388:-8.41,6881389:6,6881390:5.98,6881391:-10.02,6881392:5.98,6881393:-10.02,6881394:6,6881395:-10,6881396:-36.41,6881397:-19.2,6881398:-10,6881399:-10.02,6881400:-50,6881401:-10,6881402:-10,6946863:-10.02,6946871:-36.02,6946879:-10.02,6946881:-10.02,6946882:-18.02,6946883:-14.81,6946884:-18,6946885:-18,6946886:-18.02,6946887:-14.81,6946888:-18.02,6946889:-18.02,6946890:-18.02,6946893:-18.02,6946894:-18.02,6946895:-14.81,6946896:-18,6946897:-14.81,6946898:-18.02,6946899:-14.81,6946900:-36.02,6946901:14.98,6946902:-22.02,6946903:-22,6946904:-10,6946905:-20.02,6946908:-22,6946913:-10.02,6946914:-18.02,6946915:-10,6946916:-10.02,6946917:-10.02,6946918:-43.61,6946919:-10,6946920:-18.02,6946921:-18.02,6946922:-16.02,6946923:-18.02,6946924:-8.41,6946925:5.98,6946926:5.98,6946927:-10.02,6946928:5.98,6946929:-10.02,6946930:6,6946931:-10.02,6946932:-36.41,6946933:-19.22,6946934:-10,6946935:-10.02,6946936:-50.02,6946937:-10.02,6946938:-10,7012385:-20.02,7012394:-18.02,7012396:-20.02,7012397:-66.02,7012398:-20.02,7012407:-20.02,7012410:-42.02,7012411:-42.02,7012415:-30.02,7012418:-50.02,7012419:-10.02,7012420:-50.02,7012421:-50.02,7012422:-50.02,7012423:-10.02,7012424:-50.02,7012425:-50.02,7012429:-50.02,7012430:-50.02,7012431:-10.02,7012432:-50.02,7012433:-10.02,7012434:-50.02,7012435:-10.02,7012436:-20.02,7012449:-48.02,7012450:-50.02,7012451:-57.2,7012452:-57.22,7012453:-57.22,7012454:-58.02,7012455:-57.2,7012456:-50.02,7012457:-50.02,7012458:-28.81,7012459:-50.02,7012460:-40.02,7012461:-42.02,7012462:-42.02,7012463:-57.22,7012464:-42.02,7012465:-57.22,7012466:-42.02,7012467:-57.22,7012468:-51.22,7012469:-20.02,7012470:-70.02,7012471:-70.02,7012472:-42.02,7012473:-70.02,7012474:-32.02,7077930:-22,7077932:20,7077934:20,7077951:-21.41,7077954:-8,7077956:-8,7077957:-8,7077958:-8,7077960:-8,7077961:-8.02,7077965:-8,7077966:-8,7077968:-8,7077970:-8,7077986:-8.02,7077987:-7.2,7077988:-7.2,7077989:-7.2,7077990:-12.81,7077991:-7.2,7077992:-8.02,7077993:-8,7077995:-8.02,7077996:-10,7077999:-7.2,7078001:-7.2,7078003:-7.2,7078004:-48,7078005:-9.2,7078006:-27.2,7078007:-27.2,7078008:-26.8,7078009:-27.2,7078010:-9.2,7143466:-18,7143479:-40.02,7143487:-20.02,7143490:-6.02,7143492:-6,7143493:-6,7143494:-6.02,7143496:-6.02,7143497:-6.02,7143501:-6.02,7143502:-6,7143504:-6,7143506:-6,7143508:-40.02,7143510:-20.02,7143511:-20,7143512:-10,7143513:-40,7143516:-20,7143521:-11,7143522:-6.02,7143523:-12.41,7143524:-12.42,7143525:-12.41,7143526:-30.81,7143527:-12.41,7143528:-6.02,7143529:-6,7143530:-32.02,7143531:-6.02,7143532:-12.8,7143533:-18.02,7143534:-18.02,7143535:-12.42,7143536:-18.02,7143537:-12.42,7143538:-18,7143539:-12.41,7143540:-38.41,7143541:-14.22,7143542:-33.2,7143543:-33.22,7143544:-50.02,7143545:-33.2,7143546:-20,7209002:-18.02,7209015:-40.02,7209023:-20.02,7209026:-6.02,7209028:-6.02,7209029:-6.02,7209030:-6.02,7209032:-6.02,7209033:-6.02,7209037:-6.02,7209038:-6.02,7209040:-6.02,7209042:-6.02,7209044:-40.02,7209046:-20.02,7209047:-20.02,7209048:-10.02,7209049:-40.02,7209052:-20.02,7209057:-11.02,7209058:-6.02,7209059:-12.41,7209060:-12.42,7209061:-12.42,7209062:-30.81,7209063:-12.41,7209064:-6.02,7209065:-6.02,7209066:-32.02,7209067:-6.02,7209068:-12.81,7209069:-18.02,7209070:-18.02,7209071:-12.42,7209072:-18.02,7209073:-12.42,7209074:-18.02,7209075:-12.42,7209076:-38.42,7209077:-14.22,7209078:-33.2,7209079:-33.22,7209080:-50.02,7209081:-33.22,7209082:-20.02,7274530:-10.02,7274535:-10.02,7274538:-22.02,7274543:-10.02,7274551:-70.02,7274559:-40.02,7274561:-10.02,7274562:-10.02,7274564:-10.02,7274565:-10.02,7274566:-10.02,7274568:-10.02,7274569:-10.02,7274573:-10.02,7274574:-10.02,7274576:-10.02,7274578:-10.02,7274580:-70.02,7274582:-50.02,7274583:-50.02,7274584:-20.02,7274585:-50.02,7274588:-50.02,7274594:-10.02,7274595:-10.02,7274596:-10.02,7274597:-10.02,7274598:-30.02,7274599:-10.02,7274600:-10.02,7274601:-10.02,7274602:-18.02,7274603:-10.02,7274604:-5.02,7274605:-10.02,7274606:-10.02,7274607:-10.02,7274608:-10.02,7274609:-10.02,7274610:-10.02,7274611:-10.02,7274612:-28.81,7274613:-10.02,7274614:-26.41,7274615:-26.42,7274616:-54.42,7274617:-26.41,7274618:-23.61,7340066:-10.02,7340071:-10.02,7340074:-22.02,7340079:-10.02,7340087:-70.02,7340095:-40.02,7340097:-10.02,7340098:-10.02,7340100:-10.02,7340101:-10.02,7340102:-10.02,7340104:-10.02,7340105:-10.02,7340109:-10.02,7340110:-10.02,7340112:-10.02,7340114:-10.02,7340116:-70.02,7340118:-50.02,7340119:-50.02,7340120:-20.02,7340121:-50.02,7340124:-50.02,7340130:-10.02,7340131:-10.02,7340132:-10.02,7340133:-10.02,7340134:-30.02,7340135:-10.02,7340136:-10.02,7340137:-10.02,7340138:-18.02,7340139:-10.02,7340140:-5.02,7340141:-10.02,7340142:-10.02,7340143:-10.02,7340144:-10.02,7340145:-10.02,7340146:-10.02,7340147:-10.02,7340148:-28.81,7340149:-10.02,7340150:-26.41,7340151:-26.42,7340152:-54.42,7340153:-26.41,7340154:-23.61,7405623:-52.02,7405631:-20.02,7405634:-12.81,7405636:-12.81,7405637:-12.81,7405638:-12.81,7405640:-12.81,7405641:-12.83,7405645:-12.81,7405646:-12.81,7405648:-12.81,7405650:-12.81,7405652:-52.02,7405654:-22.02,7405655:-22.02,7405657:-20.02,7405660:-22.02,7405666:-12.83,7405667:-10.02,7405668:-10.02,7405669:-10.02,7405670:-19.62,7405671:-10.02,7405672:-12.83,7405673:-12.81,7405675:-12.83,7405679:-10.02,7405681:-10.02,7405683:-10.02,7405684:-25.61,7405686:-20.02,7405687:-20.02,7405688:-18.02,7405689:-20.02,7405690:-10.02,7471148:-58,7471149:-36,7471150:-58,7471151:-30.02,7471159:-36,7471162:-46,7471163:-46,7471169:-30,7471170:-28,7471172:-28,7471173:-28,7471174:-28,7471176:-28,7471177:-28.02,7471181:-28,7471182:-28,7471184:-28,7471186:-28,7471188:-36,7471201:-38,7471202:-28.02,7471203:-40,7471204:-40.02,7471205:-40,7471206:-54,7471207:-40,7471208:-28.02,7471209:-28,7471210:-48,7471211:-28.02,7471212:-28,7471213:-36,7471214:-36.02,7471215:-40.02,7471216:-36.02,7471217:-40.02,7471218:-36,7471219:-40,7471220:-44,7471221:-18,7471222:-24,7471223:-24.02,7471224:-68,7471225:-24,7471226:-30,7536674:-10.02,7536679:-10,7536682:-22,7536687:-10.02,7536695:-70.02,7536703:-40.02,7536705:-10.02,7536706:-10.02,7536708:-10,7536709:-10,7536710:-10.02,7536712:-10.02,7536713:-10.02,7536717:-10.02,7536718:-10,7536720:-10,7536722:-10,7536724:-70.02,7536726:-50.02,7536727:-50,7536728:-20,7536729:-50,7536732:-50,7536738:-10.02,7536739:-10,7536740:-10.02,7536741:-10.02,7536742:-30.02,7536743:-10,7536744:-10.02,7536745:-10,7536746:-18.02,7536747:-10.02,7536748:-5,7536749:-10.02,7536750:-10.02,7536751:-10.02,7536752:-10.02,7536753:-10.02,7536754:-10,7536755:-10.02,7536756:-28.81,7536757:-10.02,7536758:-26.41,7536759:-26.42,7536760:-54.41,7536761:-26.41,7536762:-23.61,7602220:27.19,7602221:-28,7602222:27.19,7602223:9.58,7602241:9.59,7602242:-14.41,7602244:-14.41,7602245:-14.41,7602246:-14.41,7602248:-14.41,7602249:-14.42,7602253:-14.41,7602254:-14.41,7602256:-14.41,7602258:-14.41,7602262:-12.02,7602263:-12,7602266:27.98,7602268:-12,7602273:-9.2,7602274:-14.42,7602275:-15.2,7602276:-15.22,7602277:-15.22,7602278:-28.81,7602279:-15.2,7602280:-14.42,7602281:-14.41,7602282:-10.02,7602283:-14.42,7602287:-15.22,7602289:-15.22,7602290:5,7602291:-15.2,7602292:-87.02,7602294:-10.8,7602295:-10.81,7602296:-32.02,7602297:-10.81,7667767:-52.02,7667775:-20.02,7667778:-12.81,7667780:-12.81,7667781:-12.81,7667782:-12.81,7667784:-12.81,7667785:-12.81,7667789:-12.81,7667790:-12.81,7667792:-12.81,7667794:-12.81,7667796:-52.02,7667798:-22.02,7667799:-22,7667801:-20.02,7667804:-22,7667810:-12.81,7667811:-10,7667812:-10.02,7667813:-10.02,7667814:-19.61,7667815:-10,7667816:-12.81,7667817:-12.81,7667819:-12.81,7667823:-10.02,7667825:-10.02,7667827:-10.02,7667828:-25.61,7667830:-20,7667831:-20.02,7667832:-18.02,7667833:-20.02,7667834:-10,7733292:-57.2,7733293:-10,7733294:-57.2,7733295:-50.02,7733303:-36,7733306:-20,7733307:-20,7733313:-50,7733314:-10,7733315:-15,7733316:-10,7733317:-10,7733318:-10,7733319:-15,7733320:-10,7733321:-10.02,7733322:-38.02,7733325:-10,7733326:-10,7733327:-15,7733328:-10,7733329:-15.02,7733330:-10,7733331:-15,7733332:-36,7733345:-24.41,7733346:-10.02,7733347:-26.8,7733348:-26.81,7733349:-26.81,7733350:-10,7733351:-26.8,7733352:-10.02,7733353:-10,7733354:-26,7733355:-10.02,7733356:-10,7733357:-23.2,7733358:-23.2,7733359:-26.81,7733360:-23.2,7733361:-26.81,7733362:-23.2,7733363:-26.8,7733364:-23.2,7733365:-20,7733368:-46.41,7733370:-25.59,7798828:-57.22,7798829:-10.02,7798830:-57.22,7798831:-50.02,7798839:-36.02,7798842:-20.02,7798843:-20.02,7798849:-50.02,7798850:-10.02,7798851:-15.02,7798852:-10.02,7798853:-10.02,7798854:-10.02,7798855:-15.02,7798856:-10.02,7798857:-10.02,7798858:-38.02,7798861:-10.02,7798862:-10.02,7798863:-15.02,7798864:-10.02,7798865:-15.02,7798866:-10.02,7798867:-15.02,7798868:-36.02,7798881:-24.41,7798882:-10.02,7798883:-26.81,7798884:-26.83,7798885:-26.81,7798886:-10.02,7798887:-26.81,7798888:-10.02,7798889:-10.02,7798890:-26.02,7798891:-10.02,7798892:-10.02,7798893:-23.22,7798894:-23.22,7798895:-26.83,7798896:-23.22,7798897:-26.83,7798898:-23.2,7798899:-26.81,7798900:-23.22,7798901:-20.02,7798904:-46.42,7798906:-25.61,7864353:-20.02,7864362:-18,7864364:-20.02,7864365:-66,7864366:-20.02,7864375:-20.02,7864378:-42.02,7864379:-42.02,7864383:-30.02,7864386:-50.02,7864387:-10,7864388:-50,7864389:-50,7864390:-50.02,7864391:-10.02,7864392:-50.02,7864393:-50.02,7864397:-50.02,7864398:-50,7864399:-10,7864400:-50,7864401:-10.02,7864402:-50,7864403:-10.02,7864404:-20.02,7864417:-48,7864418:-50.02,7864419:-54.41,7864420:-54.42,7864421:-54.41,7864422:-58.02,7864423:-54.41,7864424:-50.02,7864425:-50,7864426:-28.81,7864427:-50.02,7864428:-40,7864429:-42.02,7864430:-42.02,7864431:-54.42,7864432:-42.02,7864433:-54.42,7864434:-42,7864435:-54.41,7864436:-51.2,7864437:-20.02,7864438:-70,7864439:-70.02,7864440:-42.02,7864441:-70,7864442:-32,7929900:-57.2,7929901:-10,7929902:-57.2,7929903:-50.02,7929911:-36.02,7929914:-20,7929915:-20,7929921:-50,7929922:-10,7929923:-15,7929924:-10,7929925:-10,7929926:-10.02,7929927:-15.02,7929928:-10.02,7929929:-10.02,7929930:-38.02,7929933:-10,7929934:-10,7929935:-15,7929936:-10,7929937:-15.02,7929938:-10,7929939:-15.02,7929940:-36.02,7929953:-24.41,7929954:-10.02,7929955:-26.8,7929956:-26.81,7929957:-26.81,7929958:-10.02,7929959:-26.8,7929960:-10.02,7929961:-10,7929962:-26.02,7929963:-10.02,7929964:-10,7929965:-23.2,7929966:-23.22,7929967:-26.81,7929968:-23.22,7929969:-26.81,7929970:-23.2,7929971:-26.81,7929972:-23.2,7929973:-20.02,7929976:-46.41,7929978:-25.59,7995450:-20,7995451:-20,7995455:-10,7995458:-10,7995460:-10,7995461:-10,7995462:-10,7995464:-10,7995465:-10.02,7995469:-10,7995470:-10,7995472:-10,7995474:-10,7995478:-30.02,7995479:-30,7995480:-10,7995484:-30,7995489:-16,7995490:-10.02,7995491:-30,7995492:-30.02,7995493:-30,7995494:-20,7995495:-30,7995496:-10.02,7995497:-10,7995498:-22,7995499:-10.02,7995500:-26,7995501:-20,7995502:-20.02,7995503:-30.02,7995504:-20.02,7995505:-30.02,7995506:-20,7995507:-30,7995508:-28,7995509:-18.81,7995510:-29.59,7995511:-29.61,7995512:-50,7995513:-29.59,7995514:-18,8060983:12,8061012:12,8257591:-20,8257620:-20,8257625:-20}, + sans500tnum: {2228271:-50.02,2228289:-50.02,2228308:9.98,2228323:-10,2228324:-10.02,2228325:-10.02,2228327:-10,2228335:-10.02,2228337:-10.02,2228339:-10.02,2490452:-58.2,2490454:-41.22,2490455:-41.2,2490460:-41.2,2555951:-50.02,2555969:-50,2555988:9.98,2556003:-10,2556004:-10.02,2556005:-10.02,2556007:-10,2556015:-10.02,2556017:-10.02,2556019:-10,2621507:-15,2621511:-15,2621519:-15,2621521:-15.02,2621523:-15,2752556:-40,2752558:-40,2752559:-72.02,2752577:-72,2752596:12,2818132:-20.02,2818137:-20.02,2883626:-40,2883651:-20.02,2883655:-20.02,2883658:-6.02,2883663:-20,2883665:-20.02,2883667:-20.02,2883668:-60.02,2883670:-77.22,2883671:-77.2,2883676:-77.2,2883686:-34.02,2883690:9.98,2883692:-10,2883702:-42,2883703:-42.02,2883705:-42.02,2949182:235.58,2949204:-40.02,2949222:-10.02,2949238:-10,2949239:-10.02,2949240:-50,2949241:-10,3014698:-40,3014723:-20.02,3014727:-20.02,3014730:-6.02,3014735:-20,3014737:-20.02,3014739:-20.02,3014740:-60.02,3014742:-77.22,3014743:-77.2,3014748:-77.2,3014758:-34.02,3014762:9.98,3014764:-10,3014774:-42,3014775:-42.02,3014777:-42.02,3080225:-32.02,3080230:-20.61,3080236:-77.22,3080238:-77.22,3080239:-108.83,3080250:-32.02,3080251:-32.02,3080255:-32.02,3080257:-108.81,3080258:-23.61,3080259:-36.02,3080260:-23.61,3080261:-23.61,3080262:-23.62,3080263:-36.02,3080264:-23.62,3080265:-23.62,3080266:-80.02,3080267:-15.02,3080268:-15.02,3080269:-23.61,3080270:-23.61,3080271:-36.02,3080272:-23.61,3080273:-36.02,3080274:-23.61,3080275:-36.02,3080278:-10.02,3080279:-10.02,3080280:-10.02,3080282:-12.02,3080284:-10.02,3080289:-49.61,3080290:-23.62,3080291:-44.02,3080292:-44.02,3080293:-44.02,3080294:-50.02,3080295:-44.02,3080296:-23.62,3080297:-23.61,3080298:-48.02,3080299:-23.62,3080300:-28.02,3080301:-34.02,3080302:-34.02,3080303:-44.02,3080304:-34.02,3080305:-44.02,3080306:-34.02,3080307:-44.02,3080308:-40.02,3080309:-52.02,3080310:-42.02,3080311:-42.02,3080312:-64.02,3080313:-42.02,3080314:-38.02,3801135:-20.02,3801153:-20.02,3801155:-10,3801159:-10.02,3801167:-10,3801169:-10.02,3801171:-10.02,3801172:-58.02,3801174:-32.02,3801175:-32,3801176:-20,3801180:-32,3801190:-28.02,3801204:-28.02,3801206:-20,3801207:-20.02,3801208:-42.02,3801209:-20,3801210:-20,3866671:-20.02,3866689:-20.02,3866691:-10,3866695:-10.02,3866703:-10,3866705:-10.02,3866707:-10.02,3866708:-58.02,3866710:-32.02,3866711:-32,3866712:-20,3866716:-32,3866726:-28.02,3866740:-28.02,3866742:-20,3866743:-20.02,3866744:-42.02,3866745:-20,3866746:-20,3932205:235.58,3932244:-20.02,3932249:-20.02,3997780:-20.02,3997785:-20.02,4063316:-20.02,4063321:-20.02,4259873:-10.02,4259874:-50.02,4259879:-50,4259882:-72,4259898:-20.02,4259899:-20.02,4259903:-52.02,4259906:-22.02,4259907:-34,4259908:-22,4259909:-22,4259910:-22.02,4259911:-34.02,4259912:-22.02,4259913:-22.02,4259914:-30.02,4259915:-15.8,4259916:-15.81,4259917:-22.02,4259918:-22,4259919:-34,4259920:-22,4259921:-34.02,4259922:-22,4259923:-34.02,4259924:-93.22,4259925:-18.81,4259926:-108.81,4259927:-108.8,4259929:-74,4259930:-10.02,4259932:-108.8,4259938:-22.02,4259939:-20.41,4259940:-20.42,4259941:-20.41,4259942:-42.02,4259943:-20.41,4259944:-22.02,4259945:-22,4259947:-22.02,4259948:-22,4259949:-20.02,4259950:-20.02,4259951:-20.42,4259952:-20.02,4259953:-20.42,4259954:-20,4259955:-20.41,4259956:-64.02,4259957:-20.81,4259958:-62,4259959:-62.02,4259960:-30.02,4259961:-62,4259962:-12,4325423:-22.42,4325434:-20.02,4325435:-20.02,4325439:-28.02,4325441:-22.41,4325442:-8.02,4325443:-10,4325444:-8,4325445:-16.2,4325446:-8.02,4325447:-10.02,4325448:-8.02,4325449:-8.02,4325453:-8.02,4325454:-8,4325455:-10,4325456:-8,4325457:-10.02,4325458:-8,4325459:-10.02,4325460:-38.02,4325462:-34.02,4325463:-34,4325465:-44,4325468:-34,4325473:-8.41,4325474:-8.02,4325478:-20.02,4325480:-8.02,4325481:-8,4325482:-14.02,4325483:-8.02,4325484:-12.8,4325485:-10.02,4325486:-10.02,4325488:-10.02,4325490:-10,4325492:-20.02,4325493:-11.61,4325494:-34,4325495:-34.02,4325496:-43.61,4325497:-34,4325498:-22,4390959:-26.41,4390977:-26.41,4390987:-8.59,4390988:-8.61,4390996:-15.02,4390998:-22.02,4390999:-22,4391000:-20,4391001:-22,4391004:-22,4391009:-5.61,4391011:-8.41,4391012:-8.41,4391013:-8.41,4391014:-20.02,4391015:-8.41,4391020:-10.8,4391021:-8.41,4391022:-8.41,4391023:-8.41,4391024:-8.41,4391025:-8.41,4391026:-8.41,4391027:-8.41,4391028:-10,4391029:-12.02,4391030:-12,4391031:-12.02,4391032:-32,4391033:-12,4391034:-10,4456489:-19,4456490:-10,4456492:-20,4456494:-20,4456495:-36.02,4456506:-10,4456507:-10,4456511:-20,4456513:-36,4456514:10.39,4456516:10.41,4456517:10.41,4456518:10.39,4456520:10.39,4456521:10.39,4456522:-10.81,4456523:-11.39,4456524:-11.41,4456525:10.39,4456526:10.41,4456528:10.41,4456530:10.41,4456532:-40,4456534:-36.41,4456535:-36.39,4456536:-32,4456537:-42,4456538:-10,4456540:-36.39,4456545:7.59,4456546:10.39,4456547:11.61,4456548:11.59,4456549:11.59,4456550:-10,4456551:11.61,4456552:10.39,4456553:10.41,4456554:-20,4456555:10.39,4456559:11.59,4456561:11.59,4456563:11.59,4456564:-23.2,4456566:-16.8,4456567:-16.81,4456568:-24,4456569:-16.8,4522042:-10,4522043:-10,4522047:-20,4522050:-7.61,4522052:-7.59,4522053:-7.59,4522054:-7.61,4522056:-7.61,4522057:-7.61,4522061:-7.61,4522062:-8.59,4522064:-7.59,4522066:-7.59,4522070:12.8,4522071:12.8,4522073:-20,4522076:12.8,4522081:-9.59,4522082:-7.61,4522083:-18.39,4522084:-18.41,4522085:-18.41,4522086:-32,4522087:-18.39,4522088:-7.61,4522089:-7.59,4522090:-12,4522091:-7.61,4522095:-18.41,4522097:-18.41,4522099:-18.41,4522100:-38,4522102:-22,4522103:-22.02,4522104:-30,4522105:-22,4587564:-80.02,4587566:-80.02,4587567:-81.62,4587578:-30.02,4587579:-30.02,4587583:-18.02,4587585:-81.61,4587586:-18.02,4587588:-18,4587589:-18,4587590:-18.02,4587592:-18.02,4587593:-18.02,4587594:-60.02,4587595:-28,4587596:-28.02,4587597:-18.02,4587598:-18.02,4587600:-18,4587602:-18.02,4587608:-20,4587609:-18.02,4587610:-18.02,4587617:-22.02,4587618:-18.02,4587619:-28,4587620:-28.02,4587621:-28.02,4587622:-10.02,4587623:-28,4587624:-18.02,4587625:-18.02,4587626:-32.02,4587627:-18.02,4587628:-20,4587629:-28.02,4587630:-28.02,4587631:-28.02,4587632:-28.02,4587633:-28.02,4587634:-28,4587635:-28.02,4587636:-36.02,4587637:-30.02,4587638:-40,4587639:-40.02,4587640:-48.02,4587641:-40.02,4587642:-30,4653140:-20.02,4653142:-32.02,4653143:-32,4653144:-12,4653145:-20.02,4653148:-32,4653153:9.98,4653155:10,4653156:9.98,4653157:9.98,4653158:-14.02,4653159:10,4653167:9.98,4653169:9.98,4653171:9.98,4653172:-12.02,4653174:-7.2,4653175:-7.22,4653176:-16.02,4653177:-7.2,4718639:-10.02,4718655:-10.02,4718657:-10.02,4718658:-18.02,4718659:-14.81,4718660:-18,4718661:-18,4718662:-18.02,4718663:-14.81,4718664:-18.02,4718665:-18.02,4718666:-18.02,4718669:-18.02,4718670:-18.02,4718671:-14.81,4718672:-18,4718673:-14.81,4718674:-18.02,4718675:-14.81,4718676:-36.02,4718677:14.98,4718678:-22.02,4718679:-22,4718680:-10,4718681:-20.02,4718684:-22,4718689:-10.02,4718690:-18.02,4718691:-10,4718692:-10.02,4718693:-10.02,4718694:-43.61,4718695:-10,4718696:-18.02,4718697:-18.02,4718698:-16.02,4718699:-18.02,4718700:-8.41,4718701:5.98,4718702:5.98,4718703:-10.02,4718704:5.98,4718705:-10.02,4718706:6,4718707:-10.02,4718708:-36.41,4718709:-19.22,4718710:-10,4718711:-10.02,4718712:-50.02,4718713:-10.02,4718714:-10,4784175:-10.02,4784191:-10.02,4784193:-10.02,4784194:-18.02,4784195:-14.81,4784196:-18.02,4784197:-18.02,4784198:-18.02,4784199:-14.81,4784200:-18.02,4784201:-18.02,4784202:-18.02,4784205:-18.02,4784206:-18.02,4784207:-14.81,4784208:-18.02,4784209:-14.83,4784210:-18.02,4784211:-14.81,4784212:-36.02,4784213:14.98,4784214:-22.02,4784215:-22.02,4784216:-10.02,4784217:-20.02,4784220:-22.02,4784225:-10.02,4784226:-18.02,4784227:-10.02,4784228:-10.02,4784229:-10.02,4784230:-43.62,4784231:-10.02,4784232:-18.02,4784233:-18.02,4784234:-16.02,4784235:-18.02,4784236:-8.41,4784237:5.98,4784238:5.98,4784239:-10.02,4784240:5.98,4784241:-10.02,4784242:5.98,4784243:-10.02,4784244:-36.42,4784245:-19.22,4784246:-10.02,4784247:-10.02,4784248:-50.02,4784249:-10.02,4784250:-10.02,4849711:-18.83,4849729:-18.81,4849730:14.98,4849732:14.98,4849733:14.98,4849734:14.98,4849736:14.98,4849737:14.98,4849738:-26.02,4849741:14.98,4849742:14.98,4849744:14.98,4849746:14.98,4849752:-20.02,4849753:-18.02,4849762:14.98,4849763:-6.02,4849764:-6.02,4849765:-6.02,4849766:-19.22,4849767:-6.02,4849768:14.98,4849769:14.98,4849770:-6.81,4849771:14.98,4849775:-6.02,4849777:-6.02,4849779:-6.02,4849780:-18.02,4849782:-20.02,4849783:-20.02,4849784:-30.02,4849785:-20.02,4849786:-20.02,4915242:-12,4915258:-20,4915259:-20,4915263:-22,4915266:-10,4915267:-40,4915268:-10,4915269:-10,4915270:-10,4915271:-40,4915272:-10,4915273:-10.02,4915274:-30.02,4915275:-19.2,4915276:-19.2,4915277:-10,4915278:-10,4915279:-40,4915280:-10,4915281:-40.02,4915282:-10,4915283:-40,4915285:-20,4915286:-10.02,4915287:-10,4915290:-10,4915292:-10,4915297:-16,4915298:-10.02,4915299:-48.8,4915300:-48.81,4915301:-48.81,4915302:-52,4915303:-48.8,4915304:-10.02,4915305:-10,4915306:-9.61,4915307:-10.02,4915309:-18.61,4915310:-18.61,4915311:-48.81,4915312:-18.61,4915313:-48.81,4915314:-18.59,4915315:-48.8,4915316:-50,4915317:-30,4915318:-32,4915319:-32.02,4915320:-32,4915321:-32,4980769:-18.02,4980770:-96.02,4980775:-96.02,4980778:-120.02,4980780:-7.62,4980782:-7.62,4980783:-20.02,4980794:-18.02,4980795:-18.02,4980799:-80.02,4980801:-20.02,4980802:-44.02,4980803:-48.02,4980804:-44.02,4980805:-44.02,4980806:-44.02,4980807:-48.02,4980808:-44.02,4980809:-44.02,4980810:-51.62,4980811:-28.02,4980812:-28.02,4980813:-44.02,4980814:-44.02,4980815:-48.02,4980816:-44.02,4980817:-48.02,4980818:-44.02,4980819:-48.02,4980820:-136.02,4980821:-46.02,4980822:-152.02,4980823:-152.02,4980825:-160.02,4980826:-18.02,4980828:-152.02,4980834:-44.02,4980835:-35.61,4980836:-35.62,4980837:-35.62,4980838:-56.02,4980839:-35.61,4980840:-44.02,4980841:-44.02,4980842:-18.02,4980843:-44.02,4980844:-36.02,4980847:-35.62,4980849:-35.62,4980851:-35.61,4980852:-76.02,4980853:-36.02,4980854:-80.02,4980855:-80.02,4980856:-48.02,4980857:-80.02,4980858:-20.02,5046319:-10.02,5046335:-10.02,5046337:-10.02,5046338:-18.02,5046339:-14.81,5046340:-18,5046341:-18,5046342:-18.02,5046343:-14.81,5046344:-18.02,5046345:-18.02,5046346:-18.02,5046349:-18.02,5046350:-18,5046351:-14.8,5046352:-18,5046353:-14.81,5046354:-18,5046355:-14.81,5046356:-36.02,5046357:14.98,5046358:-22.02,5046359:-22,5046360:-10,5046361:-20,5046364:-22,5046369:-10,5046370:-18.02,5046371:-10,5046372:-10.02,5046373:-10.02,5046374:-43.61,5046375:-10,5046376:-18.02,5046377:-18,5046378:-16.02,5046379:-18.02,5046380:-8.41,5046381:5.98,5046382:5.98,5046383:-10.02,5046384:5.98,5046385:-10.02,5046386:6,5046387:-10.02,5046388:-36.41,5046389:-19.22,5046390:-10,5046391:-10.02,5046392:-50.02,5046393:-10,5046394:-10,5111855:-10.02,5111871:-10.02,5111873:-10,5111874:-18,5111875:-14.8,5111876:-18,5111877:-18,5111878:-18.02,5111879:-14.81,5111880:-18.02,5111881:-18.02,5111882:-18.02,5111885:-18,5111886:-18,5111887:-14.8,5111888:-18,5111889:-14.81,5111890:-18,5111891:-14.81,5111892:-36.02,5111893:14.98,5111894:-22.02,5111895:-22,5111896:-10,5111897:-20,5111900:-22,5111905:-10,5111906:-18.02,5111907:-10,5111908:-10.02,5111909:-10.02,5111910:-43.61,5111911:-10,5111912:-18.02,5111913:-18,5111914:-16.02,5111915:-18.02,5111916:-8.41,5111917:6,5111918:5.98,5111919:-10.02,5111920:5.98,5111921:-10.02,5111922:6,5111923:-10,5111924:-36.41,5111925:-19.2,5111926:-10,5111927:-10.02,5111928:-50,5111929:-10,5111930:-10,5177385:-19,5177386:-10,5177388:-20,5177390:-20,5177391:-36.02,5177402:-10,5177403:-10,5177407:-20,5177409:-36,5177410:10.39,5177412:10.41,5177413:10.41,5177414:10.39,5177416:10.39,5177417:10.39,5177418:-10.81,5177419:-11.39,5177420:-11.41,5177421:10.39,5177422:10.41,5177424:10.41,5177426:10.41,5177428:-40,5177430:-36.41,5177431:-36.39,5177432:-32,5177433:-42,5177434:-10,5177436:-36.39,5177441:7.59,5177442:10.39,5177443:11.61,5177444:11.59,5177445:11.59,5177446:-10,5177447:11.61,5177448:10.39,5177449:10.41,5177450:-20,5177451:10.39,5177455:11.59,5177457:11.59,5177459:11.59,5177460:-23.2,5177462:-16.8,5177463:-16.81,5177464:-24,5177465:-16.8,5242913:-10,5242924:-108,5242925:-28,5242926:-108,5242927:-74.41,5242938:-20,5242939:-20,5242943:-18,5242945:-74.41,5242946:-20,5242947:-12,5242948:-20,5242949:-20,5242950:-20,5242951:-12,5242952:-20,5242953:-20.02,5242954:-80.02,5242957:-20,5242958:-20,5242959:-12,5242960:-20,5242961:-12.02,5242962:-20,5242963:-12,5242966:-42.02,5242967:-42,5242968:-40,5242969:-40,5242970:-22,5242972:-42,5242977:-22,5242978:-20.02,5242979:-28,5242980:-28.02,5242981:-28,5242983:-28,5242984:-20.02,5242985:-20,5242987:-20.02,5242989:-8.61,5242990:-8.61,5242991:-28.02,5242992:-8.61,5242993:-28.02,5242994:-8.59,5242995:-28,5242997:-28,5242998:-20,5242999:-20.02,5243000:-40,5243001:-20,5243002:-30,5308457:-19.02,5308458:-10.02,5308460:-20.02,5308462:-20.02,5308463:-36.02,5308474:-10.02,5308475:-10.02,5308479:-20.02,5308481:-36.02,5308482:10.39,5308484:10.39,5308485:10.39,5308486:10.38,5308488:10.38,5308489:10.38,5308490:-10.83,5308491:-11.41,5308492:-11.42,5308493:10.39,5308494:10.39,5308496:10.39,5308498:10.39,5308500:-40.02,5308502:-36.42,5308503:-36.41,5308504:-32.02,5308505:-42.02,5308506:-10.02,5308508:-36.41,5308513:7.59,5308514:10.38,5308515:11.59,5308516:11.58,5308517:11.58,5308518:-10.02,5308519:11.59,5308520:10.38,5308521:10.39,5308522:-20.02,5308523:10.38,5308527:11.58,5308529:11.58,5308531:11.58,5308532:-23.22,5308534:-16.81,5308535:-16.83,5308536:-24.02,5308537:-16.81,5373999:-10.02,5374010:-8.81,5374011:-8.81,5374015:-20.02,5374017:-10,5374019:-15,5374023:-15.02,5374027:-14.2,5374028:-14.22,5374031:-15,5374033:-15.02,5374035:-15.02,5374036:-19.2,5374038:-50.02,5374039:-50,5374041:-22,5374044:-50,5374051:-14,5374052:-14.02,5374053:-14.02,5374054:-28.02,5374055:-14,5374058:-10.81,5374063:-14.02,5374065:-14.02,5374067:-14,5374068:-30,5374069:-10.02,5374070:-22,5374071:-22.02,5374072:-24,5374073:-22,5439529:-19,5439530:-10,5439532:-20.02,5439534:-20.02,5439535:-36.02,5439546:-10.02,5439547:-10.02,5439551:-20.02,5439553:-36.02,5439554:10.39,5439556:10.39,5439557:10.39,5439558:10.39,5439560:10.39,5439561:10.38,5439562:-10.81,5439563:-11.41,5439564:-11.42,5439565:10.39,5439566:10.39,5439568:10.39,5439570:10.39,5439572:-40.02,5439574:-36.42,5439575:-36.41,5439576:-32,5439577:-42.02,5439578:-10.02,5439580:-36.41,5439585:7.59,5439586:10.38,5439587:11.59,5439588:11.58,5439589:11.58,5439590:-10.02,5439591:11.59,5439592:10.38,5439593:10.39,5439594:-20.02,5439595:10.38,5439599:11.58,5439601:11.58,5439603:11.59,5439604:-23.22,5439606:-16.81,5439607:-16.81,5439608:-24.02,5439609:-16.81,5505058:9.98,5505062:-24.81,5505063:9.98,5505066:12,5505068:-96.02,5505069:-38.02,5505070:-96.02,5505071:-93.22,5505082:-58.02,5505083:-58.02,5505087:-20.02,5505089:-93.22,5505090:-26.02,5505091:-40.02,5505092:-26,5505093:-26,5505094:-26.02,5505095:-40.02,5505096:-26.02,5505097:-26.02,5505098:-120.02,5505099:-36,5505100:-36.02,5505101:-26.02,5505102:-26.02,5505103:-40,5505104:-26,5505105:-40.02,5505106:-26.02,5505107:-40.02,5505108:9.98,5505110:-10.02,5505111:-10,5505113:8.39,5505116:-10,5505117:20,5505121:-70.02,5505122:-26.02,5505123:-80,5505124:-80.02,5505125:-80.02,5505126:-38.02,5505127:-80,5505128:-26.02,5505129:-26.02,5505130:-44.02,5505131:-26.02,5505132:-18,5505133:-48.02,5505134:-48.02,5505135:-80.02,5505136:-48.02,5505137:-80.02,5505138:-48,5505139:-80.02,5505140:-36.02,5505141:-64.02,5505142:-44,5505143:-44.02,5505144:-56.02,5505145:-44.02,5505146:-48,5570607:-18.81,5570625:-18.81,5570626:14.98,5570628:15,5570629:15,5570630:14.98,5570632:14.98,5570633:14.98,5570634:-26.02,5570637:14.98,5570638:14.98,5570640:15,5570642:14.98,5570648:-20,5570649:-18.02,5570658:14.98,5570659:-6,5570660:-6.02,5570661:-6.02,5570662:-19.22,5570663:-6,5570664:14.98,5570665:14.98,5570666:-6.81,5570667:14.98,5570671:-6.02,5570673:-6.02,5570675:-6.02,5570676:-18.02,5570678:-20,5570679:-20.02,5570680:-30.02,5570681:-20.02,5570682:-20,5636129:-32.02,5636134:-20.61,5636140:-77.22,5636142:-77.22,5636143:-108.83,5636154:-32.02,5636155:-32.02,5636159:-32.02,5636161:-108.81,5636162:-23.61,5636163:-36.02,5636164:-23.61,5636165:-23.61,5636166:-23.62,5636167:-36.02,5636168:-23.62,5636169:-23.62,5636170:-80.02,5636171:-15.02,5636172:-15.02,5636173:-23.61,5636174:-23.61,5636175:-36.02,5636176:-23.61,5636177:-36.02,5636178:-23.61,5636179:-36.02,5636182:-10.02,5636183:-10.02,5636184:-10.02,5636186:-12.02,5636188:-10.02,5636193:-49.61,5636194:-23.62,5636195:-44.02,5636196:-44.02,5636197:-44.02,5636198:-50.02,5636199:-44.02,5636200:-23.62,5636201:-23.61,5636202:-48.02,5636203:-23.62,5636204:-28.02,5636205:-34.02,5636206:-34.02,5636207:-44.02,5636208:-34.02,5636209:-44.02,5636210:-34.02,5636211:-44.02,5636212:-40.02,5636213:-52.02,5636214:-42.02,5636215:-42.02,5636216:-64.02,5636217:-42.02,5636218:-38.02,5701665:-32,5701670:-20.59,5701676:-77.2,5701678:-77.2,5701679:-108.81,5701690:-32,5701691:-32,5701695:-32,5701697:-108.8,5701698:-23.61,5701699:-36,5701700:-23.59,5701701:-23.59,5701702:-23.61,5701703:-36,5701704:-23.61,5701705:-23.61,5701706:-80.02,5701707:-15,5701708:-15.02,5701709:-23.61,5701710:-23.59,5701711:-36,5701712:-23.59,5701713:-36.02,5701714:-23.59,5701715:-36,5701718:-10.02,5701719:-10,5701720:-10,5701722:-12,5701724:-10,5701729:-49.59,5701730:-23.61,5701731:-44,5701732:-44.02,5701733:-44,5701734:-50,5701735:-44,5701736:-23.61,5701737:-23.59,5701738:-48,5701739:-23.61,5701740:-28,5701741:-34,5701742:-34.02,5701743:-44.02,5701744:-34.02,5701745:-44.02,5701746:-34,5701747:-44,5701748:-40,5701749:-52,5701750:-42,5701751:-42.02,5701752:-64,5701753:-42,5701754:-38,5767210:-12,5767226:-20,5767227:-20,5767231:-22,5767234:-10,5767235:-40,5767236:-10,5767237:-10,5767238:-10,5767239:-40,5767240:-10,5767241:-10.02,5767242:-30.02,5767243:-19.2,5767244:-19.2,5767245:-10,5767246:-10,5767247:-40,5767248:-10,5767249:-40.02,5767250:-10,5767251:-40,5767253:-20,5767254:-10.02,5767255:-10,5767258:-10,5767260:-10,5767265:-16,5767266:-10.02,5767267:-48.8,5767268:-48.81,5767269:-48.81,5767270:-52,5767271:-48.8,5767272:-10.02,5767273:-10,5767274:-9.61,5767275:-10.02,5767277:-18.61,5767278:-18.61,5767279:-48.81,5767280:-18.61,5767281:-48.81,5767282:-18.59,5767283:-48.8,5767284:-50,5767285:-30,5767286:-32,5767287:-32.02,5767288:-32,5767289:-32,5832747:-20.02,5832751:-74.02,5832764:-20.02,5832765:-20.02,5832766:-20.02,5832769:-74,5832770:-20,5832771:-42,5832772:-20,5832773:-20,5832774:-20.02,5832775:-42.02,5832776:-20.02,5832777:-20.02,5832778:-124.02,5832781:-20,5832782:-20,5832783:-42,5832784:-20,5832785:-42.02,5832786:-20,5832787:-42.02,5832788:8.39,5832789:-18.02,5832793:20,5832794:-10,5832798:-20.02,5832801:-64,5832802:-20.02,5832803:-70,5832804:-70.02,5832805:-70.02,5832806:-54.02,5832807:-70,5832808:-20.02,5832809:-20,5832810:-44.02,5832811:-20.02,5832812:-18,5832813:-60,5832814:-60.02,5832815:-70.02,5832816:-60.02,5832817:-70.02,5832818:-60,5832819:-70,5832820:-60,5832821:-60.02,5832822:-40,5832823:-40.02,5832824:-60,5832825:-40,5832826:-72,5832830:-20,5898285:-18,5898287:-20.02,5898303:-20.02,5898305:-20.02,5898307:-20,5898311:-20.02,5898314:-28.02,5898319:-20,5898321:-20.02,5898323:-20.02,5898326:-12.02,5898327:-12,5898328:-10,5898329:-10,5898332:-12,5898337:-10,5898339:-33.2,5898340:-33.22,5898341:-33.22,5898342:-42.02,5898343:-33.2,5898346:-16.02,5898348:-6.41,5898349:-10.02,5898350:-10.02,5898351:-33.22,5898352:-10.02,5898353:-33.22,5898354:-10,5898355:-33.2,5898356:-30.02,5898357:-18.02,5898358:-32,5898359:-32.02,5898360:-40.02,5898361:-32,5898362:-20,5963860:20,5963882:30,6029345:-10,6029346:-50,6029351:-50,6029354:-72,6029370:-20,6029371:-20,6029375:-52,6029378:-22,6029379:-34,6029380:-22,6029381:-22,6029382:-22,6029383:-34,6029384:-22,6029385:-22.02,6029386:-30.02,6029387:-15.8,6029388:-15.81,6029389:-22,6029390:-22,6029391:-34,6029392:-22,6029393:-34.02,6029394:-22,6029395:-34,6029396:-93.2,6029397:-18.81,6029398:-108.81,6029399:-108.8,6029401:-74,6029402:-10,6029404:-108.8,6029410:-22.02,6029411:-20.39,6029412:-20.41,6029413:-20.41,6029414:-42,6029415:-20.39,6029416:-22.02,6029417:-22,6029419:-22.02,6029420:-22,6029421:-20,6029422:-20.02,6029423:-20.41,6029424:-20.02,6029425:-20.41,6029426:-20,6029427:-20.41,6029428:-64,6029429:-20.81,6029430:-62,6029431:-62.02,6029432:-30,6029433:-62,6029434:-12,6160468:-20.02,6160473:-20.02,6357034:-22,6357036:19.98,6357038:19.98,6357055:-21.41,6357058:-8,6357060:-8,6357061:-8,6357062:-8.02,6357064:-8.02,6357065:-8.02,6357069:-8,6357070:-8,6357072:-8,6357074:-8,6357090:-8.02,6357091:-7.2,6357092:-7.22,6357093:-7.2,6357094:-12.81,6357095:-7.2,6357096:-8.02,6357097:-8,6357099:-8.02,6357100:-10,6357103:-7.22,6357105:-7.22,6357107:-7.2,6357108:-48,6357109:-9.2,6357110:-27.2,6357111:-27.22,6357112:-26.81,6357113:-27.2,6357114:-9.2,6422562:-10.02,6422567:-10.02,6422570:-22.02,6422575:-10.02,6422591:-40.02,6422593:-10.02,6422594:-10.02,6422596:-10.02,6422597:-10.02,6422598:-10.02,6422600:-10.02,6422601:-10.02,6422605:-10.02,6422606:-10.02,6422608:-10.02,6422610:-10.02,6422612:-70.02,6422614:-50.02,6422615:-50.02,6422616:-20.02,6422617:-50.02,6422620:-50.02,6422626:-10.02,6422627:-10.02,6422628:-10.02,6422629:-10.02,6422630:-30.02,6422631:-10.02,6422632:-10.02,6422633:-10.02,6422634:-18.02,6422635:-10.02,6422636:-5.02,6422637:-10.02,6422638:-10.02,6422639:-10.02,6422640:-10.02,6422641:-10.02,6422642:-10.02,6422643:-10.02,6422644:-28.81,6422645:-10.02,6422646:-26.41,6422647:-26.42,6422648:-54.42,6422649:-26.41,6422650:-23.61,6488098:-10,6488103:-10,6488106:-22,6488111:-10.02,6488127:-40,6488129:-10,6488130:-10,6488132:-10,6488133:-10,6488134:-10,6488136:-10,6488137:-10.02,6488141:-10,6488142:-10,6488144:-10,6488146:-10,6488148:-70,6488150:-50.02,6488151:-50,6488152:-20,6488153:-50,6488156:-50,6488162:-10.02,6488163:-10,6488164:-10.02,6488165:-10,6488166:-30,6488167:-10,6488168:-10.02,6488169:-10,6488170:-18,6488171:-10.02,6488172:-5,6488173:-10,6488174:-10.02,6488175:-10.02,6488176:-10.02,6488177:-10.02,6488178:-10,6488179:-10,6488180:-28.8,6488181:-10,6488182:-26.39,6488183:-26.41,6488184:-54.41,6488185:-26.41,6488186:-23.59,6553647:-10.02,6553663:-10.02,6553665:-10.02,6553666:-18.02,6553667:-14.81,6553668:-18.02,6553669:-18.02,6553670:-18.02,6553671:-14.81,6553672:-18.02,6553673:-18.02,6553674:-18.02,6553677:-18.02,6553678:-18.02,6553679:-14.81,6553680:-18.02,6553681:-14.83,6553682:-18.02,6553683:-14.81,6553684:-36.02,6553685:14.98,6553686:-22.02,6553687:-22.02,6553688:-10.02,6553689:-20.02,6553692:-22.02,6553697:-10.02,6553698:-18.02,6553699:-10.02,6553700:-10.02,6553701:-10.02,6553702:-43.62,6553703:-10.02,6553704:-18.02,6553705:-18.02,6553706:-16.02,6553707:-18.02,6553708:-8.41,6553709:5.98,6553710:5.98,6553711:-10.02,6553712:5.98,6553713:-10.02,6553714:5.98,6553715:-10.02,6553716:-36.42,6553717:-19.22,6553718:-10.02,6553719:-10.02,6553720:-50.02,6553721:-10.02,6553722:-10.02,6619170:-10.02,6619175:-10.02,6619178:-22,6619183:-10.02,6619199:-40.02,6619201:-10.02,6619202:-10.02,6619204:-10,6619205:-10,6619206:-10.02,6619208:-10.02,6619209:-10.02,6619213:-10.02,6619214:-10.02,6619216:-10,6619218:-10.02,6619220:-70.02,6619222:-50.02,6619223:-50,6619224:-20,6619225:-50.02,6619228:-50,6619234:-10.02,6619235:-10,6619236:-10.02,6619237:-10.02,6619238:-30.02,6619239:-10,6619240:-10.02,6619241:-10.02,6619242:-18.02,6619243:-10.02,6619244:-5,6619245:-10.02,6619246:-10.02,6619247:-10.02,6619248:-10.02,6619249:-10.02,6619250:-10,6619251:-10.02,6619252:-28.81,6619253:-10.02,6619254:-26.41,6619255:-26.42,6619256:-54.41,6619257:-26.41,6619258:-23.61,6684714:12,6684716:-60.02,6684717:-28.02,6684718:-60.02,6684719:-40.62,6684730:-26.02,6684731:-26.02,6684737:-40.61,6684738:-35.22,6684740:-35.2,6684741:-35.2,6684742:-35.22,6684744:-35.22,6684745:-35.22,6684749:-35.22,6684750:-35.2,6684752:-35.2,6684754:-35.2,6684765:14,6684769:-30.02,6684770:-35.22,6684771:-42,6684772:-42.02,6684773:-42.02,6684774:-104.23,6684775:-42,6684776:-35.22,6684777:-35.22,6684778:-46.02,6684779:-35.22,6684780:-18.41,6684781:-28.02,6684782:-28.02,6684783:-42.02,6684784:-28.02,6684785:-42.02,6684786:-28,6684787:-42.02,6684788:-36.02,6684790:-38,6684791:-38.02,6684792:-40.02,6684793:-38.02,6684794:-12,6750271:-20,6750274:-12.8,6750276:-12.8,6750277:-12.8,6750278:-12.81,6750280:-12.81,6750281:-12.81,6750285:-12.8,6750286:-12.8,6750288:-12.8,6750290:-12.8,6750292:-52,6750294:-22.02,6750295:-22,6750297:-20,6750300:-22,6750306:-12.81,6750307:-10,6750308:-10.02,6750309:-10,6750310:-19.61,6750311:-10,6750312:-12.81,6750313:-12.8,6750315:-12.81,6750319:-10.02,6750321:-10.02,6750323:-10,6750324:-25.61,6750326:-20,6750327:-20.02,6750328:-18,6750329:-20,6750330:-10,6815786:-18.02,6815807:-20.02,6815810:-6.02,6815812:-6.02,6815813:-6.02,6815814:-6.02,6815816:-6.02,6815817:-6.02,6815821:-6.02,6815822:-6.02,6815824:-6.02,6815826:-6.02,6815828:-40.02,6815830:-20.02,6815831:-20.02,6815832:-10.02,6815833:-40.02,6815836:-20.02,6815841:-11.02,6815842:-6.02,6815843:-12.41,6815844:-12.42,6815845:-12.42,6815846:-30.81,6815847:-12.41,6815848:-6.02,6815849:-6.02,6815850:-32.02,6815851:-6.02,6815852:-12.81,6815853:-18.02,6815854:-18.02,6815855:-12.42,6815856:-18.02,6815857:-12.42,6815858:-18.02,6815859:-12.42,6815860:-38.42,6815861:-14.22,6815862:-33.2,6815863:-33.22,6815864:-50.02,6815865:-33.22,6815866:-20.02,6881327:-10.02,6881343:-10.02,6881345:-10,6881346:-18,6881347:-14.8,6881348:-18,6881349:-18,6881350:-18.02,6881351:-14.81,6881352:-18.02,6881353:-18.02,6881354:-18.02,6881357:-18,6881358:-18,6881359:-14.8,6881360:-18,6881361:-14.81,6881362:-18,6881363:-14.81,6881364:-36.02,6881365:14.98,6881366:-22.02,6881367:-22,6881368:-10,6881369:-20,6881372:-22,6881377:-10,6881378:-18.02,6881379:-10,6881380:-10.02,6881381:-10.02,6881382:-43.61,6881383:-10,6881384:-18.02,6881385:-18,6881386:-16.02,6881387:-18.02,6881388:-8.41,6881389:6,6881390:5.98,6881391:-10.02,6881392:5.98,6881393:-10.02,6881394:6,6881395:-10,6881396:-36.41,6881397:-19.2,6881398:-10,6881399:-10.02,6881400:-50,6881401:-10,6881402:-10,6946863:-10.02,6946879:-10.02,6946881:-10.02,6946882:-18.02,6946883:-14.81,6946884:-18,6946885:-18,6946886:-18.02,6946887:-14.81,6946888:-18.02,6946889:-18.02,6946890:-18.02,6946893:-18.02,6946894:-18.02,6946895:-14.81,6946896:-18,6946897:-14.81,6946898:-18.02,6946899:-14.81,6946900:-36.02,6946901:14.98,6946902:-22.02,6946903:-22,6946904:-10,6946905:-20.02,6946908:-22,6946913:-10.02,6946914:-18.02,6946915:-10,6946916:-10.02,6946917:-10.02,6946918:-43.61,6946919:-10,6946920:-18.02,6946921:-18.02,6946922:-16.02,6946923:-18.02,6946924:-8.41,6946925:5.98,6946926:5.98,6946927:-10.02,6946928:5.98,6946929:-10.02,6946930:6,6946931:-10.02,6946932:-36.41,6946933:-19.22,6946934:-10,6946935:-10.02,6946936:-50.02,6946937:-10.02,6946938:-10,7012385:-20.02,7012394:-18.02,7012396:-20.02,7012397:-66.02,7012398:-20.02,7012410:-42.02,7012411:-42.02,7012415:-30.02,7012418:-50.02,7012419:-10.02,7012420:-50.02,7012421:-50.02,7012422:-50.02,7012423:-10.02,7012424:-50.02,7012425:-50.02,7012429:-50.02,7012430:-50.02,7012431:-10.02,7012432:-50.02,7012433:-10.02,7012434:-50.02,7012435:-10.02,7012436:-20.02,7012449:-48.02,7012450:-50.02,7012451:-57.2,7012452:-57.22,7012453:-57.22,7012454:-58.02,7012455:-57.2,7012456:-50.02,7012457:-50.02,7012458:-28.81,7012459:-50.02,7012460:-40.02,7012461:-42.02,7012462:-42.02,7012463:-57.22,7012464:-42.02,7012465:-57.22,7012466:-42.02,7012467:-57.22,7012468:-51.22,7012469:-20.02,7012470:-70.02,7012471:-70.02,7012472:-42.02,7012473:-70.02,7012474:-32.02,7077930:-22,7077932:20,7077934:20,7077951:-21.41,7077954:-8,7077956:-8,7077957:-8,7077958:-8,7077960:-8,7077961:-8.02,7077965:-8,7077966:-8,7077968:-8,7077970:-8,7077986:-8.02,7077987:-7.2,7077988:-7.2,7077989:-7.2,7077990:-12.81,7077991:-7.2,7077992:-8.02,7077993:-8,7077995:-8.02,7077996:-10,7077999:-7.2,7078001:-7.2,7078003:-7.2,7078004:-48,7078005:-9.2,7078006:-27.2,7078007:-27.2,7078008:-26.8,7078009:-27.2,7078010:-9.2,7143466:-18,7143487:-20.02,7143490:-6.02,7143492:-6,7143493:-6,7143494:-6.02,7143496:-6.02,7143497:-6.02,7143501:-6.02,7143502:-6,7143504:-6,7143506:-6,7143508:-40.02,7143510:-20.02,7143511:-20,7143512:-10,7143513:-40,7143516:-20,7143521:-11,7143522:-6.02,7143523:-12.41,7143524:-12.42,7143525:-12.41,7143526:-30.81,7143527:-12.41,7143528:-6.02,7143529:-6,7143530:-32.02,7143531:-6.02,7143532:-12.8,7143533:-18.02,7143534:-18.02,7143535:-12.42,7143536:-18.02,7143537:-12.42,7143538:-18,7143539:-12.41,7143540:-38.41,7143541:-14.22,7143542:-33.2,7143543:-33.22,7143544:-50.02,7143545:-33.2,7143546:-20,7209002:-18.02,7209023:-20.02,7209026:-6.02,7209028:-6.02,7209029:-6.02,7209030:-6.02,7209032:-6.02,7209033:-6.02,7209037:-6.02,7209038:-6.02,7209040:-6.02,7209042:-6.02,7209044:-40.02,7209046:-20.02,7209047:-20.02,7209048:-10.02,7209049:-40.02,7209052:-20.02,7209057:-11.02,7209058:-6.02,7209059:-12.41,7209060:-12.42,7209061:-12.42,7209062:-30.81,7209063:-12.41,7209064:-6.02,7209065:-6.02,7209066:-32.02,7209067:-6.02,7209068:-12.81,7209069:-18.02,7209070:-18.02,7209071:-12.42,7209072:-18.02,7209073:-12.42,7209074:-18.02,7209075:-12.42,7209076:-38.42,7209077:-14.22,7209078:-33.2,7209079:-33.22,7209080:-50.02,7209081:-33.22,7209082:-20.02,7274530:-10.02,7274535:-10.02,7274538:-22.02,7274543:-10.02,7274559:-40.02,7274561:-10.02,7274562:-10.02,7274564:-10.02,7274565:-10.02,7274566:-10.02,7274568:-10.02,7274569:-10.02,7274573:-10.02,7274574:-10.02,7274576:-10.02,7274578:-10.02,7274580:-70.02,7274582:-50.02,7274583:-50.02,7274584:-20.02,7274585:-50.02,7274588:-50.02,7274594:-10.02,7274595:-10.02,7274596:-10.02,7274597:-10.02,7274598:-30.02,7274599:-10.02,7274600:-10.02,7274601:-10.02,7274602:-18.02,7274603:-10.02,7274604:-5.02,7274605:-10.02,7274606:-10.02,7274607:-10.02,7274608:-10.02,7274609:-10.02,7274610:-10.02,7274611:-10.02,7274612:-28.81,7274613:-10.02,7274614:-26.41,7274615:-26.42,7274616:-54.42,7274617:-26.41,7274618:-23.61,7340066:-10.02,7340071:-10.02,7340074:-22.02,7340079:-10.02,7340095:-40.02,7340097:-10.02,7340098:-10.02,7340100:-10.02,7340101:-10.02,7340102:-10.02,7340104:-10.02,7340105:-10.02,7340109:-10.02,7340110:-10.02,7340112:-10.02,7340114:-10.02,7340116:-70.02,7340118:-50.02,7340119:-50.02,7340120:-20.02,7340121:-50.02,7340124:-50.02,7340130:-10.02,7340131:-10.02,7340132:-10.02,7340133:-10.02,7340134:-30.02,7340135:-10.02,7340136:-10.02,7340137:-10.02,7340138:-18.02,7340139:-10.02,7340140:-5.02,7340141:-10.02,7340142:-10.02,7340143:-10.02,7340144:-10.02,7340145:-10.02,7340146:-10.02,7340147:-10.02,7340148:-28.81,7340149:-10.02,7340150:-26.41,7340151:-26.42,7340152:-54.42,7340153:-26.41,7340154:-23.61,7405631:-20.02,7405634:-12.81,7405636:-12.81,7405637:-12.81,7405638:-12.81,7405640:-12.81,7405641:-12.83,7405645:-12.81,7405646:-12.81,7405648:-12.81,7405650:-12.81,7405652:-52.02,7405654:-22.02,7405655:-22.02,7405657:-20.02,7405660:-22.02,7405666:-12.83,7405667:-10.02,7405668:-10.02,7405669:-10.02,7405670:-19.62,7405671:-10.02,7405672:-12.83,7405673:-12.81,7405675:-12.83,7405679:-10.02,7405681:-10.02,7405683:-10.02,7405684:-25.61,7405686:-20.02,7405687:-20.02,7405688:-18.02,7405689:-20.02,7405690:-10.02,7471148:-58,7471149:-36,7471150:-58,7471151:-30.02,7471162:-46,7471163:-46,7471169:-30,7471170:-28,7471172:-28,7471173:-28,7471174:-28,7471176:-28,7471177:-28.02,7471181:-28,7471182:-28,7471184:-28,7471186:-28,7471188:-36,7471201:-38,7471202:-28.02,7471203:-40,7471204:-40.02,7471205:-40,7471206:-54,7471207:-40,7471208:-28.02,7471209:-28,7471210:-48,7471211:-28.02,7471212:-28,7471213:-36,7471214:-36.02,7471215:-40.02,7471216:-36.02,7471217:-40.02,7471218:-36,7471219:-40,7471220:-44,7471221:-18,7471222:-24,7471223:-24.02,7471224:-68,7471225:-24,7471226:-30,7536674:-10.02,7536679:-10,7536682:-22,7536687:-10.02,7536703:-40.02,7536705:-10.02,7536706:-10.02,7536708:-10,7536709:-10,7536710:-10.02,7536712:-10.02,7536713:-10.02,7536717:-10.02,7536718:-10,7536720:-10,7536722:-10,7536724:-70.02,7536726:-50.02,7536727:-50,7536728:-20,7536729:-50,7536732:-50,7536738:-10.02,7536739:-10,7536740:-10.02,7536741:-10.02,7536742:-30.02,7536743:-10,7536744:-10.02,7536745:-10,7536746:-18.02,7536747:-10.02,7536748:-5,7536749:-10.02,7536750:-10.02,7536751:-10.02,7536752:-10.02,7536753:-10.02,7536754:-10,7536755:-10.02,7536756:-28.81,7536757:-10.02,7536758:-26.41,7536759:-26.42,7536760:-54.41,7536761:-26.41,7536762:-23.61,7602220:27.19,7602221:-28,7602222:27.19,7602223:9.58,7602241:9.59,7602242:-14.41,7602244:-14.41,7602245:-14.41,7602246:-14.41,7602248:-14.41,7602249:-14.42,7602253:-14.41,7602254:-14.41,7602256:-14.41,7602258:-14.41,7602262:-12.02,7602263:-12,7602266:27.98,7602268:-12,7602273:-9.2,7602274:-14.42,7602275:-15.2,7602276:-15.22,7602277:-15.22,7602278:-28.81,7602279:-15.2,7602280:-14.42,7602281:-14.41,7602282:-10.02,7602283:-14.42,7602287:-15.22,7602289:-15.22,7602290:5,7602291:-15.2,7602292:-87.02,7602294:-10.8,7602295:-10.81,7602296:-32.02,7602297:-10.81,7667775:-20.02,7667778:-12.81,7667780:-12.81,7667781:-12.81,7667782:-12.81,7667784:-12.81,7667785:-12.81,7667789:-12.81,7667790:-12.81,7667792:-12.81,7667794:-12.81,7667796:-52.02,7667798:-22.02,7667799:-22,7667801:-20.02,7667804:-22,7667810:-12.81,7667811:-10,7667812:-10.02,7667813:-10.02,7667814:-19.61,7667815:-10,7667816:-12.81,7667817:-12.81,7667819:-12.81,7667823:-10.02,7667825:-10.02,7667827:-10.02,7667828:-25.61,7667830:-20,7667831:-20.02,7667832:-18.02,7667833:-20.02,7667834:-10,7733292:-57.2,7733293:-10,7733294:-57.2,7733295:-50.02,7733306:-20,7733307:-20,7733313:-50,7733314:-10,7733315:-15,7733316:-10,7733317:-10,7733318:-10,7733319:-15,7733320:-10,7733321:-10.02,7733322:-38.02,7733325:-10,7733326:-10,7733327:-15,7733328:-10,7733329:-15.02,7733330:-10,7733331:-15,7733332:-36,7733345:-24.41,7733346:-10.02,7733347:-26.8,7733348:-26.81,7733349:-26.81,7733350:-10,7733351:-26.8,7733352:-10.02,7733353:-10,7733354:-26,7733355:-10.02,7733356:-10,7733357:-23.2,7733358:-23.2,7733359:-26.81,7733360:-23.2,7733361:-26.81,7733362:-23.2,7733363:-26.8,7733364:-23.2,7733365:-20,7733368:-46.41,7733370:-25.59,7798828:-57.22,7798829:-10.02,7798830:-57.22,7798831:-50.02,7798842:-20.02,7798843:-20.02,7798849:-50.02,7798850:-10.02,7798851:-15.02,7798852:-10.02,7798853:-10.02,7798854:-10.02,7798855:-15.02,7798856:-10.02,7798857:-10.02,7798858:-38.02,7798861:-10.02,7798862:-10.02,7798863:-15.02,7798864:-10.02,7798865:-15.02,7798866:-10.02,7798867:-15.02,7798868:-36.02,7798881:-24.41,7798882:-10.02,7798883:-26.81,7798884:-26.83,7798885:-26.81,7798886:-10.02,7798887:-26.81,7798888:-10.02,7798889:-10.02,7798890:-26.02,7798891:-10.02,7798892:-10.02,7798893:-23.22,7798894:-23.22,7798895:-26.83,7798896:-23.22,7798897:-26.83,7798898:-23.2,7798899:-26.81,7798900:-23.22,7798901:-20.02,7798904:-46.42,7798906:-25.61,7864353:-20.02,7864362:-18,7864364:-20.02,7864365:-66,7864366:-20.02,7864378:-42.02,7864379:-42.02,7864383:-30.02,7864386:-50.02,7864387:-10,7864388:-50,7864389:-50,7864390:-50.02,7864391:-10.02,7864392:-50.02,7864393:-50.02,7864397:-50.02,7864398:-50,7864399:-10,7864400:-50,7864401:-10.02,7864402:-50,7864403:-10.02,7864404:-20.02,7864417:-48,7864418:-50.02,7864419:-54.41,7864420:-54.42,7864421:-54.41,7864422:-58.02,7864423:-54.41,7864424:-50.02,7864425:-50,7864426:-28.81,7864427:-50.02,7864428:-40,7864429:-42.02,7864430:-42.02,7864431:-54.42,7864432:-42.02,7864433:-54.42,7864434:-42,7864435:-54.41,7864436:-51.2,7864437:-20.02,7864438:-70,7864439:-70.02,7864440:-42.02,7864441:-70,7864442:-32,7929900:-57.2,7929901:-10,7929902:-57.2,7929903:-50.02,7929914:-20,7929915:-20,7929921:-50,7929922:-10,7929923:-15,7929924:-10,7929925:-10,7929926:-10.02,7929927:-15.02,7929928:-10.02,7929929:-10.02,7929930:-38.02,7929933:-10,7929934:-10,7929935:-15,7929936:-10,7929937:-15.02,7929938:-10,7929939:-15.02,7929940:-36.02,7929953:-24.41,7929954:-10.02,7929955:-26.8,7929956:-26.81,7929957:-26.81,7929958:-10.02,7929959:-26.8,7929960:-10.02,7929961:-10,7929962:-26.02,7929963:-10.02,7929964:-10,7929965:-23.2,7929966:-23.22,7929967:-26.81,7929968:-23.22,7929969:-26.81,7929970:-23.2,7929971:-26.81,7929972:-23.2,7929973:-20.02,7929976:-46.41,7929978:-25.59,7995450:-20,7995451:-20,7995455:-10,7995458:-10,7995460:-10,7995461:-10,7995462:-10,7995464:-10,7995465:-10.02,7995469:-10,7995470:-10,7995472:-10,7995474:-10,7995478:-30.02,7995479:-30,7995480:-10,7995484:-30,7995489:-16,7995490:-10.02,7995491:-30,7995492:-30.02,7995493:-30,7995494:-20,7995495:-30,7995496:-10.02,7995497:-10,7995498:-22,7995499:-10.02,7995500:-26,7995501:-20,7995502:-20.02,7995503:-30.02,7995504:-20.02,7995505:-30.02,7995506:-20,7995507:-30,7995508:-28,7995509:-18.81,7995510:-29.59,7995511:-29.61,7995512:-50,7995513:-29.59,7995514:-18,8061012:12,8257620:-20,8257625:-20}, + mono400: {}, + }, +}; diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index 0d32718..a56a4c7 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -5,3 +5,4 @@ export * from './card-metrics'; export * from './geometry'; export * from './diagram-stats'; export * from './brands'; +export * from './text-measure'; diff --git a/packages/core/src/text-measure.ts b/packages/core/src/text-measure.ts new file mode 100644 index 0000000..f22823b --- /dev/null +++ b/packages/core/src/text-measure.ts @@ -0,0 +1,21 @@ +import { FONT_METRICS, type FontFace } from './font-metrics.gen'; + +/** The faces NodeCard renders text in (Geist Sans 400/500, tabular-digit 500, Geist Mono 400). */ +export type { FontFace }; + +/** + * Rendered width in CSS px, headless, with pair kerning. A code point outside the inlined Latin subset + * counts as 1em, the width of the full-width CJK fallback. + */ +export function measureText(text: string, face: FontFace, sizePx: number): number { + const advances: Record = FONT_METRICS.faces[face]; + const kerning: Record = FONT_METRICS.kerning[face]; + let units = 0; + let prev = -1; + for (const ch of text) { + const cp = ch.codePointAt(0)!; + units += (advances[cp] ?? FONT_METRICS.unitsPerEm) + (prev < 0 ? 0 : (kerning[prev * 0x10000 + cp] ?? 0)); + prev = cp; + } + return (units * sizePx) / FONT_METRICS.unitsPerEm; +} diff --git a/packages/core/test/text-measure.test.ts b/packages/core/test/text-measure.test.ts new file mode 100644 index 0000000..a1ac444 --- /dev/null +++ b/packages/core/test/text-measure.test.ts @@ -0,0 +1,35 @@ +import { describe, expect, it } from 'vitest'; +import { FONT_METRICS } from '../src/font-metrics.gen'; +import { measureText } from '../src/text-measure'; + +const { faces, kerning } = FONT_METRICS; + +describe('measureText', () => { + it('is zero for an empty string', () => { + expect(measureText('', 'sans400', 12)).toBe(0); + }); + + it('scales a glyph advance to the font size', () => { + expect(measureText('H', 'sans500', 10)).toBeCloseTo((faces.sans500[72]! * 10) / 1000, 6); + }); + + it('applies the pair kerning between adjacent glyphs', () => { + const av = kerning.sans400[65 * 0x10000 + 86]!; + expect(av).toBeLessThan(0); + expect(measureText('AV', 'sans400', 1000)).toBeCloseTo(faces.sans400[65]! + faces.sans400[86]! + av, 6); + }); + + it('scales linearly with size', () => { + expect(measureText('orders-svc', 'sans400', 24)).toBeCloseTo(2 * measureText('orders-svc', 'sans400', 12), 6); + }); + + it('measures mono text at a fixed 0.6em per glyph', () => { + expect(measureText('10.44.0.11', 'mono400', 12)).toBeCloseTo(10 * 0.6 * 12, 6); + }); + + it('counts a code point outside the table as 1em, astral ones once', () => { + expect(measureText('数', 'sans400', 12)).toBe(12); + expect(measureText('🚀', 'sans400', 12)).toBe(12); + expect(measureText('a🚀', 'sans400', 12)).toBeCloseTo(12 + (faces.sans400[97]! * 12) / 1000, 6); + }); +}); diff --git a/packages/viewer/e2e/metrics.spec.ts b/packages/viewer/e2e/metrics.spec.ts new file mode 100644 index 0000000..f5c0c85 --- /dev/null +++ b/packages/viewer/e2e/metrics.spec.ts @@ -0,0 +1,57 @@ +import { expect, test } from '@playwright/test'; +import { measureText, type FontFace } from '@stackmap/core'; + +// Browser ground truth for the headless card-fit measure (M1): the generated table must match what +// Chromium renders, including kerning, within a small conservative margin. +const CORPUS = [ + 'commerce-api-1', + 'API · Instance 1', + 'PostgreSQL cluster', + 'OpenShip Edge', + 'Load balancing', + 'Round robin', + '2 replication links', + 'Open cluster', + 'Primary shards', + 'AVATAR Wolf, Tv. “quoted” — dash…', + 'The quick brown fox jumps over the lazy dog', + 'WAVE Type LTA 1234567890', +]; +const FACES: { face: FontFace; css: string; sizes: number[] }[] = [ + { face: 'sans400', css: "400 {s}px 'Geist'", sizes: [11, 11.5, 12] }, + { face: 'sans500', css: "500 {s}px 'Geist'", sizes: [13, 13.5] }, + { face: 'sans500tnum', css: "500 {s}px 'Geist'", sizes: [15] }, + { face: 'mono400', css: "400 {s}px 'Geist Mono'", sizes: [12] }, +]; + +test('headless text measure matches the browser within a conservative margin', async ({ page }) => { + await page.goto('/?page=gallery'); + await page.evaluate(() => document.fonts.ready); + const worst: string[] = []; + for (const { face, css, sizes } of FACES) { + for (const size of sizes) { + const font = css.replace('{s}', String(size)); + const browser = await page.evaluate( + ({ font, tnum, corpus }) => { + const span = document.createElement('span'); + span.style.font = font; + span.style.whiteSpace = 'pre'; + span.style.position = 'absolute'; + if (tnum) span.style.fontVariantNumeric = 'tabular-nums'; + document.body.append(span); + const widths = corpus.map((t) => ((span.textContent = t), span.getBoundingClientRect().width)); + span.remove(); + return widths; + }, + { font, tnum: face === 'sans500tnum', corpus: CORPUS }, + ); + CORPUS.forEach((text, i) => { + const ours = measureText(text, face, size); + const real = browser[i]!; + // Never narrower than the browser (would hide an overflow), and never more than 2% + 0.5px wider. + if (ours < real - 0.25 || ours > real * 1.02 + 0.5) worst.push(`${face} ${size}px "${text}": ours ${ours.toFixed(2)} vs ${real.toFixed(2)}`); + }); + } + } + expect(worst).toEqual([]); +}); diff --git a/packages/viewer/package.json b/packages/viewer/package.json index 7c1fd93..d7cc3ba 100644 --- a/packages/viewer/package.json +++ b/packages/viewer/package.json @@ -8,7 +8,8 @@ "build": "vite build && bun scripts/check-single-file.ts", "test": "vitest run", "typecheck": "tsc --noEmit", - "e2e": "playwright test" + "e2e": "playwright test", + "metrics:gen": "bun scripts/gen-font-metrics.ts" }, "dependencies": { "@fontsource-variable/geist": "^5.3.0", @@ -30,9 +31,11 @@ "@types/d3-selection": "^3.0.12", "@types/d3-transition": "^3.0.9", "@types/d3-zoom": "^3.0.8", + "@types/fontkit": "^2.0.9", "@types/react": "^19.3.0", "@types/react-dom": "^19.3.0", "@vitejs/plugin-react": "^6.1.1", + "fontkit": "2.0.4", "jsdom": "^30.1.1", "tailwindcss": "^4.3.3", "vite": "^8.3.1", diff --git a/packages/viewer/scripts/gen-font-metrics.ts b/packages/viewer/scripts/gen-font-metrics.ts new file mode 100644 index 0000000..cc69f94 --- /dev/null +++ b/packages/viewer/scripts/gen-font-metrics.ts @@ -0,0 +1,111 @@ +// Generates packages/core/src/font-metrics.gen.ts: per-glyph advances of the inlined Geist faces, measured +// by Chromium itself so weight-500 (a variable-font instance) and tabular digits match what users see. +// Run: bun run metrics:gen (needs `bunx playwright install chromium` once). +import { readFileSync, writeFileSync } from 'node:fs'; +import { createRequire } from 'node:module'; +import { chromium } from '@playwright/test'; +import * as fontkit from 'fontkit'; + +const require = createRequire(import.meta.url); +const file = (spec: string) => readFileSync(require.resolve(spec)); +const sans = file('@fontsource-variable/geist/files/geist-latin-wght-normal.woff2'); +const mono = file('@fontsource-variable/geist-mono/files/geist-mono-latin-wght-normal.woff2'); + +// Only code points the subset actually covers; anything else renders in a fallback font. +const coverage = (buf: Buffer) => + (fontkit.create(buf) as fontkit.Font).characterSet.filter((cp) => cp >= 0x20).sort((a, b) => a - b); + +const FACES = { + sans400: { family: 'Geist', weight: 400, numeric: 'normal', cps: coverage(sans) }, + sans500: { family: 'Geist', weight: 500, numeric: 'normal', cps: coverage(sans) }, + sans500tnum: { family: 'Geist', weight: 500, numeric: 'tabular-nums', cps: coverage(sans) }, + mono400: { family: 'Geist Mono', weight: 400, numeric: 'normal', cps: coverage(mono) }, +} as const; + +const SIZE = 1000; +// Pairs are kept for printable ASCII only, and only when |adjustment| ≥ 5/1000 em (0.06px at 12px): the +// full table is ~0.5 MB. An omitted pair is measured unkerned, which the browser cross-check bounds. +const KERN_MIN = 5; +const browser = await chromium.launch(); +const page = await browser.newPage(); +const face = (family: string, buf: Buffer) => + `@font-face{font-family:'${family}';font-weight:100 900;src:url(data:font/woff2;base64,${buf.toString('base64')}) format('woff2')}`; +await page.setContent(``); +await page.evaluate(async () => { + await Promise.all([ + document.fonts.load("400 16px 'Geist'"), + document.fonts.load("500 16px 'Geist'"), + document.fonts.load("400 16px 'Geist Mono'"), + ]); +}); + +const out: Record> = {}; +const kern: Record> = {}; +for (const [name, f] of Object.entries(FACES)) { + // Pair adjustment = kerned width of the pair minus both advances; only non-zero pairs are kept. + kern[name] = await page.evaluate( + ({ f, size, min }) => { + const span = document.createElement('span'); + Object.assign(span.style, { + fontFamily: `'${f.family}'`, + fontWeight: String(f.weight), + fontVariantNumeric: f.numeric, + fontSize: `${size}px`, + whiteSpace: 'pre', + position: 'absolute', + }); + document.body.append(span); + const width = (t: string) => ((span.textContent = t), span.getBoundingClientRect().width); + const adv = new Map(f.cps.map((cp) => [cp, width(String.fromCodePoint(cp))])); + const pairs: Record = {}; + const ascii = f.cps.filter((cp) => cp <= 0x7e); + for (const a of ascii) { + for (const b of ascii) { + const k = Math.round((width(String.fromCodePoint(a, b)) - adv.get(a)! - adv.get(b)!) * 100) / 100; + if (Math.abs(k) >= min) pairs[a * 0x10000 + b] = k; + } + } + span.remove(); + return pairs; + }, + { f, size: SIZE, min: KERN_MIN }, + ); + out[name] = await page.evaluate( + ({ f, size }) => { + const span = document.createElement('span'); + Object.assign(span.style, { + fontFamily: `'${f.family}'`, + fontWeight: String(f.weight), + fontVariantNumeric: f.numeric, + fontSize: `${size}px`, + whiteSpace: 'pre', + position: 'absolute', + }); + document.body.append(span); + const adv: Record = {}; + for (const cp of f.cps) { + span.textContent = String.fromCodePoint(cp); + adv[cp] = Math.round(span.getBoundingClientRect().width * 100) / 100; + } + span.remove(); + return adv; + }, + { f, size: SIZE }, + ); +} +await browser.close(); + +const table = (t: Record>) => + Object.entries(t) + .map(([name, m]) => ` ${name}: {${Object.entries(m).map(([k, v]) => `${k}:${v}`).join(',')}},`) + .join('\n'); +writeFileSync( + new URL('../../core/src/font-metrics.gen.ts', import.meta.url), + `// Generated by packages/viewer/scripts/gen-font-metrics.ts — do not edit.\n` + + `// Advance widths in 1/${SIZE} em keyed by code point; kerning keyed by first * 0x10000 + second.\n` + + `export type FontFace = ${Object.keys(FACES).map((f) => `'${f}'`).join(' | ')};\n\n` + + // Widened on purpose: literal types for ~12k keys make tsc slow and the tables unindexable. + `type Table = Record>;\n\n` + + `export const FONT_METRICS: { unitsPerEm: number; faces: Table; kerning: Table } = {\n unitsPerEm: ${SIZE},\n faces: {\n${table(out)}\n },\n kerning: {\n${table(kern)}\n },\n};\n`, +); +console.log(`wrote font-metrics.gen.ts (${Object.keys(out).map((n) => `${n}: ${Object.keys(out[n]!).length} glyphs, ${Object.keys(kern[n]!).length} pairs`).join('; ')})`); From 6ae85155c049bf5e0b7d043f03372733a192c895 Mon Sep 17 00:00:00 2001 From: Joseph Dale Banares Date: Mon, 28 Sep 2026 23:44:06 +0800 Subject: [PATCH 03/35] feat(core): derive per-slot text budgets for node cards --- packages/core/src/card-text.ts | 61 ++++++++++++++ packages/core/src/index.ts | 1 + packages/core/test/card-text.test.ts | 50 +++++++++++ packages/viewer/e2e/metrics.spec.ts | 37 +++++++- packages/viewer/src/pages/GalleryPage.tsx | 70 ++-------------- packages/viewer/src/pages/gallery-nodes.ts | 98 ++++++++++++++++++++++ 6 files changed, 252 insertions(+), 65 deletions(-) create mode 100644 packages/core/src/card-text.ts create mode 100644 packages/core/test/card-text.test.ts create mode 100644 packages/viewer/src/pages/gallery-nodes.ts diff --git a/packages/core/src/card-text.ts b/packages/core/src/card-text.ts new file mode 100644 index 0000000..0268423 --- /dev/null +++ b/packages/core/src/card-text.ts @@ -0,0 +1,61 @@ +import { CARD } from './card-metrics'; +import { measureText, type FontFace } from './text-measure'; +import type { CardData } from './types'; + +/** A truncating text slot on a node card, with the width NodeCard gives it before the ellipsis. */ +export interface TextSlot { + /** JSON pointer relative to the card, e.g. "/rows/0/value" */ + path: string; + text: string; + face: FontFace; + size: number; + maxWidth: number; +} + +// Horizontal geometry of NodeCard's Tailwind classes (px). NodeCard keeps its classes; the viewer's +// browser test proves truncation happens exactly where these budgets say it does. +const PAD = 16; // px-4 +const INNER = CARD.width - 2 * PAD; // 248: header, rows and footer content box +const ICON_TILE = 36; // size-9 +const GAP = 12; // gap-3 +const PANEL = CARD.width - 2 * 12; // 256: stats and CTA sit in px-3 +const ROW_VALUE_MAX = 0.55; // max-w-[55%] + +export function cardTextSlots(card: CardData): TextSlot[] { + const slots: TextSlot[] = []; + const add = (path: string, text: string | undefined, face: FontFace, size: number, maxWidth: number) => { + if (text !== undefined) slots.push({ path, text, face, size, maxWidth }); + }; + + const header = INNER - ICON_TILE - GAP; + add('/title', card.title, 'sans500', 13.5, header); + add('/subtitle', card.subtitle, 'sans400', 12, header); + + card.rows?.forEach((row, i) => { + const face: FontFace = row.mono ? 'mono400' : 'sans400'; + const valueMax = INNER * ROW_VALUE_MAX; + // The value is shrink-0 up to its cap, so the label gets whatever the rendered value leaves. + const valueWidth = Math.min(measureText(row.value, face, 12), valueMax); + add(`/rows/${i}/label`, row.label, 'sans400', 12, INNER - GAP - valueWidth); + add(`/rows/${i}/value`, row.value, face, 12, valueMax); + }); + + if (card.stats?.length) { + const n = card.stats.length; + const tileText = (PANEL - 2 * 6 - (n - 1) * 6) / n - 2 * 10; // p-1.5, gap-1.5, tile px-2.5 + card.stats.forEach((stat, i) => { + add(`/stats/${i}/value`, stat.value, 'sans500tnum', 15, tileText); + add(`/stats/${i}/label`, stat.label, 'sans400', 11, tileText); + }); + add('/statsNote', card.statsNote, 'sans400', 11.5, PANEL - 2 * 12 - 12 - 6); // px-3, 12px icon, gap-1.5 + } + + const half = (INNER - GAP) / 2; + for (const side of ['left', 'right'] as const) { + const item = card.footer?.[side]; + if (item) add(`/footer/${side}/text`, item.text, 'sans400', 12, half - (item.icon ? 13 + 6 : 0)); + } + + add('/cta/label', card.cta?.label, 'sans500', 13, PANEL - 2 * 12 - 15); // px-3 link, 15px arrow + return slots; +} diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index a56a4c7..847bc25 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -6,3 +6,4 @@ export * from './geometry'; export * from './diagram-stats'; export * from './brands'; export * from './text-measure'; +export * from './card-text'; diff --git a/packages/core/test/card-text.test.ts b/packages/core/test/card-text.test.ts new file mode 100644 index 0000000..825ebfe --- /dev/null +++ b/packages/core/test/card-text.test.ts @@ -0,0 +1,50 @@ +import { describe, expect, it } from 'vitest'; +import { cardTextSlots } from '../src/card-text'; +import { measureText } from '../src/text-measure'; + +const slot = (card: Parameters[0], path: string) => cardTextSlots(card).find((s) => s.path === path); + +describe('cardTextSlots', () => { + it('title and subtitle share the header text column', () => { + const slots = cardTextSlots({ title: 'orders', subtitle: 'Service' }); + expect(slots).toEqual([ + { path: '/title', text: 'orders', face: 'sans500', size: 13.5, maxWidth: 200 }, + { path: '/subtitle', text: 'Service', face: 'sans400', size: 12, maxWidth: 200 }, + ]); + }); + + it('caps a row value at 55% of the row and gives the label the rest', () => { + const value = ':3000'; + const card = { title: 't', rows: [{ label: '2 vCPU · 2 GB', value, mono: true }] }; + expect(slot(card, '/rows/0/value')).toMatchObject({ face: 'mono400', size: 12, maxWidth: 248 * 0.55 }); + expect(slot(card, '/rows/0/label')!.maxWidth).toBeCloseTo(248 - 12 - measureText(value, 'mono400', 12), 6); + }); + + it('a long row value leaves the label its floor, not less', () => { + const card = { title: 't', rows: [{ label: 'Connection', value: 'x'.repeat(200) }] }; + expect(slot(card, '/rows/0/label')!.maxWidth).toBeCloseTo(248 - 12 - 248 * 0.55, 6); + }); + + it('splits the stats panel into equal tiles', () => { + const card = { title: 't', stats: [{ value: '1', label: 'a' }, { value: '2', label: 'b' }, { value: '3', label: 'c' }] }; + const tile = (256 - 12 - 2 * 6) / 3 - 20; + expect(slot(card, '/stats/2/value')).toMatchObject({ face: 'sans500tnum', size: 15, maxWidth: tile }); + expect(slot(card, '/stats/2/label')).toMatchObject({ face: 'sans400', size: 11, maxWidth: tile }); + }); + + it('measures the stats note only when stats are rendered', () => { + expect(slot({ title: 't', statsNote: 'orphan' }, '/statsNote')).toBeUndefined(); + const card = { title: 't', stats: [{ value: '1', label: 'a' }], statsNote: '2 links' }; + expect(slot(card, '/statsNote')).toMatchObject({ face: 'sans400', size: 11.5, maxWidth: 214 }); + }); + + it('footer halves lose the icon and its gap when an icon is set', () => { + const card = { title: 't', footer: { left: { text: 'EU West', icon: 'region' as const }, right: { text: 'Stateless' } } }; + expect(slot(card, '/footer/left/text')!.maxWidth).toBe(118 - 13 - 6); + expect(slot(card, '/footer/right/text')!.maxWidth).toBe(118); + }); + + it('the CTA label leaves room for its arrow', () => { + expect(slot({ title: 't', cta: { label: 'Open cluster' } }, '/cta/label')).toMatchObject({ face: 'sans500', size: 13, maxWidth: 217 }); + }); +}); diff --git a/packages/viewer/e2e/metrics.spec.ts b/packages/viewer/e2e/metrics.spec.ts index f5c0c85..c97a31d 100644 --- a/packages/viewer/e2e/metrics.spec.ts +++ b/packages/viewer/e2e/metrics.spec.ts @@ -1,5 +1,6 @@ import { expect, test } from '@playwright/test'; -import { measureText, type FontFace } from '@stackmap/core'; +import { cardTextSlots, measureText, type FontFace } from '@stackmap/core'; +import { GALLERY_SECTIONS } from '../src/pages/gallery-nodes'; // Browser ground truth for the headless card-fit measure (M1): the generated table must match what // Chromium renders, including kerning, within a small conservative margin. @@ -55,3 +56,37 @@ test('headless text measure matches the browser within a conservative margin', a } expect(worst).toEqual([]); }); + +test('a card slot truncates exactly when its measured text exceeds its budget', async ({ page }) => { + await page.goto('/?page=gallery'); + await page.evaluate(() => document.fonts.ready); + const rendered = await page.$$eval('[data-testid="node-card"]', (cards) => + Object.fromEntries( + cards.map((card) => [ + card.getAttribute('data-node-id')!, + [...card.querySelectorAll('span[title], div[title]')].map((el) => ({ + text: el.getAttribute('title')!, + truncated: el.scrollWidth > el.clientWidth, + })), + ]), + ), + ); + const mismatches: string[] = []; + let checked = 0; + for (const [, nodes] of GALLERY_SECTIONS) { + for (const node of nodes) { + const slots = cardTextSlots(node.card); + const dom = rendered[node.id]!; + expect(dom.map((d) => d.text), node.id).toEqual(slots.map((s) => s.text)); + slots.forEach((slot, i) => { + const width = measureText(slot.text, slot.face, slot.size); + if (Math.abs(width - slot.maxWidth) < 1) return; // scrollWidth is integer-rounded + checked++; + if (width > slot.maxWidth !== dom[i]!.truncated) + mismatches.push(`${node.id}${slot.path}: measured ${width.toFixed(1)} / budget ${slot.maxWidth.toFixed(1)}, truncated=${dom[i]!.truncated}`); + }); + } + } + expect(mismatches).toEqual([]); + expect(checked).toBeGreaterThan(60); +}); diff --git a/packages/viewer/src/pages/GalleryPage.tsx b/packages/viewer/src/pages/GalleryPage.tsx index c1d8fe4..9640fd5 100644 --- a/packages/viewer/src/pages/GalleryPage.tsx +++ b/packages/viewer/src/pages/GalleryPage.tsx @@ -1,61 +1,7 @@ -import { NODE_TYPES, TYPE_LABELS, type DiagramNode, type NodeType } from '@stackmap/core'; +import type { DiagramNode } from '@stackmap/core'; import { NodeCard } from '../card/NodeCard'; import type { ThemeChoice } from '../theme/theme'; - -const BRAND: Partial> = { - client: 'nextdotjs', - gateway: 'nginx', - database: 'postgresql', - cache: 'redis', - queue: 'rabbitmq', - external: 'stripe', -}; - -const bare = (type: NodeType): DiagramNode => ({ id: `bare-${type}`, type, card: { title: TYPE_LABELS[type] } }); - -const rich = (type: NodeType): DiagramNode => { - const clustered = type === 'database' || type === 'cache'; - return { - id: `rich-${type}`, - type, - card: { - title: `${type}-primary`, - subtitle: `${TYPE_LABELS[type]} · Instance 1`, - brand: BRAND[type], - rows: clustered ? undefined : [{ label: '2 vCPU · 2 GB', value: ':3000', mono: true }], - stats: clustered - ? [ - { value: '1', label: 'Primary' }, - { value: '2', label: 'Read replicas' }, - ] - : undefined, - statsNote: clustered ? '2 replication links' : undefined, - footer: { left: { text: 'EU West', icon: 'region' }, right: { text: clustered ? '3 members' : 'Stateless' } }, - cta: clustered ? { label: 'Open cluster' } : undefined, - }, - }; -}; - -const stress: DiagramNode = { - id: 'stress', - type: 'service', - card: { - title: 'a-very-long-service-name-that-will-never-fit', - subtitle: 'An equally long subtitle that must truncate cleanly', - rows: [ - { label: 'Connection string', value: 'postgres://orders.internal:5432/orders_production', mono: true }, - { label: 'Region', value: 'EU West' }, - { label: 'Replicas', value: '12' }, - ], - stats: [ - { value: '12', label: 'Primary shards' }, - { value: '24', label: 'Replicas' }, - { value: '3', label: 'Zones' }, - ], - footer: { left: { text: 'eu-west-1a, eu-west-1b, eu-west-1c', icon: 'region' }, right: { text: 'HTTPS', icon: 'secure' } }, - cta: { label: 'Open the extremely detailed cluster dashboard' }, - }, -}; +import { GALLERY_SECTIONS } from './gallery-nodes'; export function GalleryPage({ theme, onToggleTheme }: { theme: ThemeChoice; onToggleTheme: () => void }) { return ( @@ -70,15 +16,11 @@ export function GalleryPage({ theme, onToggleTheme }: { theme: ThemeChoice; onTo {theme === 'dark' ? 'Light' : 'Dark'} theme - {[ - ['Bare', NODE_TYPES.map(bare)], - ['Rich', NODE_TYPES.map(rich)], - ['Stress', [stress]], - ].map(([label, nodes]) => ( -
-

{label as string}

+ {GALLERY_SECTIONS.map(([label, nodes]) => ( +
+

{label}

- {(nodes as DiagramNode[]).map((n) => ( + {nodes.map((n: DiagramNode) => ( ))}
diff --git a/packages/viewer/src/pages/gallery-nodes.ts b/packages/viewer/src/pages/gallery-nodes.ts new file mode 100644 index 0000000..d2a4667 --- /dev/null +++ b/packages/viewer/src/pages/gallery-nodes.ts @@ -0,0 +1,98 @@ +import { cardTextSlots, measureText, NODE_TYPES, TYPE_LABELS, type CardData, type DiagramNode, type NodeType } from '@stackmap/core'; + +const BRAND: Partial> = { + client: 'nextdotjs', + gateway: 'nginx', + database: 'postgresql', + cache: 'redis', + queue: 'rabbitmq', + external: 'stripe', +}; + +const bare = (type: NodeType): DiagramNode => ({ id: `bare-${type}`, type, card: { title: TYPE_LABELS[type] } }); + +const rich = (type: NodeType): DiagramNode => { + const clustered = type === 'database' || type === 'cache'; + return { + id: `rich-${type}`, + type, + card: { + title: `${type}-primary`, + subtitle: `${TYPE_LABELS[type]} · Instance 1`, + brand: BRAND[type], + rows: clustered ? undefined : [{ label: '2 vCPU · 2 GB', value: ':3000', mono: true }], + stats: clustered + ? [ + { value: '1', label: 'Primary' }, + { value: '2', label: 'Read replicas' }, + ] + : undefined, + statsNote: clustered ? '2 replication links' : undefined, + footer: { left: { text: 'EU West', icon: 'region' }, right: { text: clustered ? '3 members' : 'Stateless' } }, + cta: clustered ? { label: 'Open cluster' } : undefined, + }, + }; +}; + +const stress: DiagramNode = { + id: 'stress', + type: 'service', + card: { + title: 'a-very-long-service-name-that-will-never-fit', + subtitle: 'An equally long subtitle that must truncate cleanly', + rows: [ + { label: 'Connection string', value: 'postgres://orders.internal:5432/orders_production', mono: true }, + { label: 'Region', value: 'EU West' }, + { label: 'Replicas', value: '12' }, + ], + stats: [ + { value: '12', label: 'Primary shards' }, + { value: '24', label: 'Replicas' }, + { value: '3', label: 'Zones' }, + ], + footer: { left: { text: 'eu-west-1a, eu-west-1b, eu-west-1c', icon: 'region' }, right: { text: 'HTTPS', icon: 'secure' } }, + cta: { label: 'Open the extremely detailed cluster dashboard' }, + }, +}; + +// Every slot filled with text ~2px under (fits) and ~2px over (truncates) its budget, so the browser test +// that pins cardTextSlots to the rendered card has cases on both sides of each boundary. +// No spaces: trailing whitespace collapses in the browser and would skew the edge cases. +const FILLER = 'Boundary-text-for-budget-checks-abcdefghijklmnopqrstuvwxyz-0123456789-'.repeat(4); +const template: CardData = { + title: FILLER, + subtitle: FILLER, + rows: [{ label: FILLER, value: ':3000', mono: true }, { label: 'Region', value: FILLER }], + stats: [{ value: '1234567890', label: FILLER }, { value: '2', label: FILLER }], + statsNote: FILLER, + footer: { left: { text: FILLER, icon: 'region' }, right: { text: FILLER } }, + cta: { label: FILLER }, +}; + +/** Longest prefix at least 2px under each budget (`under`), or shortest prefix at least 2px over it. */ +function fitTo(card: CardData, side: 'under' | 'over'): CardData { + const out = structuredClone(card) as unknown as Record; + for (const slot of cardTextSlots(card)) { + const width = (n: number) => measureText(slot.text.slice(0, n), slot.face, slot.size); + let n = 1; + if (side === 'under') while (n < slot.text.length && width(n + 1) <= slot.maxWidth - 2) n++; + else while (n < slot.text.length && width(n) < slot.maxWidth + 2) n++; + const keys = slot.path.slice(1).split('/'); + let target = out as Record; + for (const k of keys.slice(0, -1)) target = target[k] as Record; + target[keys.at(-1)!] = slot.text.slice(0, n); + } + return out as unknown as CardData; +} + +const boundary: DiagramNode[] = [ + { id: 'boundary-under', type: 'database', card: fitTo(template, 'under') }, + { id: 'boundary-over', type: 'cache', card: fitTo(template, 'over') }, +]; + +export const GALLERY_SECTIONS: [string, DiagramNode[]][] = [ + ['Bare', NODE_TYPES.map(bare)], + ['Rich', NODE_TYPES.map(rich)], + ['Stress', [stress]], + ['Boundary', boundary], +]; From da80ad6cf72cc78627c5fd32ffc347d364cc9ce9 Mon Sep 17 00:00:00 2001 From: Joseph Dale Banares Date: Mon, 28 Sep 2026 23:45:00 +0800 Subject: [PATCH 04/35] feat(schema): add the DiagramDraft schema and JSON Schema export --- packages/schema/package.json | 22 ++ packages/schema/scripts/emit-schema.ts | 5 + packages/schema/src/schema.ts | 85 +++++++ packages/schema/stackmap.schema.json | 329 +++++++++++++++++++++++++ packages/schema/test/schema.test.ts | 58 +++++ packages/schema/tsconfig.json | 1 + 6 files changed, 500 insertions(+) create mode 100644 packages/schema/package.json create mode 100644 packages/schema/scripts/emit-schema.ts create mode 100644 packages/schema/src/schema.ts create mode 100644 packages/schema/stackmap.schema.json create mode 100644 packages/schema/test/schema.test.ts create mode 100644 packages/schema/tsconfig.json diff --git a/packages/schema/package.json b/packages/schema/package.json new file mode 100644 index 0000000..49c1d26 --- /dev/null +++ b/packages/schema/package.json @@ -0,0 +1,22 @@ +{ + "name": "@stackmap/schema", + "version": "0.0.0", + "private": true, + "type": "module", + "exports": { + ".": "./src/index.ts", + "./stackmap.schema.json": "./stackmap.schema.json" + }, + "scripts": { + "test": "vitest run", + "typecheck": "tsc --noEmit", + "schema:emit": "bun scripts/emit-schema.ts" + }, + "dependencies": { + "@stackmap/core": "workspace:*", + "zod": "^4.6.5" + }, + "devDependencies": { + "ajv": "^8.20.0" + } +} diff --git a/packages/schema/scripts/emit-schema.ts b/packages/schema/scripts/emit-schema.ts new file mode 100644 index 0000000..6b568c6 --- /dev/null +++ b/packages/schema/scripts/emit-schema.ts @@ -0,0 +1,5 @@ +import { writeFileSync } from 'node:fs'; +import { buildJsonSchema } from '../src/schema'; + +writeFileSync(new URL('../stackmap.schema.json', import.meta.url), `${JSON.stringify(buildJsonSchema(), null, 2)}\n`); +console.log('wrote stackmap.schema.json'); diff --git a/packages/schema/src/schema.ts b/packages/schema/src/schema.ts new file mode 100644 index 0000000..2beedc6 --- /dev/null +++ b/packages/schema/src/schema.ts @@ -0,0 +1,85 @@ +import { z } from 'zod'; +import { NODE_TYPES } from '@stackmap/core'; + +// Mirrors the hand-written types in @stackmap/core (a type test keeps them identical). Objects are strict +// so a misspelt key is reported instead of silently dropped. + +export const ID_PATTERN = /^[a-z0-9][a-z0-9_-]*$/; +export const LIMITS = { rows: 6, stats: 3, edgeLabel: 24 } as const; + +const id = z.string().regex(ID_PATTERN).meta({ description: 'Lowercase id: letters, digits, "-" and "_"; starts with a letter or digit.' }); +const text = z.string().min(1); + +const FooterItem = z.strictObject({ + text, + icon: z.enum(['region', 'secure', 'members']).optional(), +}); + +const Card = z.strictObject({ + title: text.meta({ description: 'Card title. Must fit the card; `stackmap validate` reports the character budget.' }), + subtitle: text.optional(), + brand: z.string().optional().meta({ description: 'simple-icons slug shown in the icon tile, e.g. "postgresql".' }), + rows: z + .array(z.strictObject({ label: text, value: text, mono: z.boolean().optional() })) + .max(LIMITS.rows) + .optional() + .meta({ description: 'Key/value rows. `mono` renders the value in Geist Mono (ports, IPs).' }), + stats: z + .array(z.strictObject({ value: text, label: text })) + .max(LIMITS.stats) + .optional() + .meta({ description: 'Stat tiles, e.g. replica counts.' }), + statsNote: text.optional().meta({ description: 'Line under the stat tiles; only shown with stats.' }), + footer: z.strictObject({ left: FooterItem.optional(), right: FooterItem.optional() }).optional(), + cta: z + .strictObject({ + label: text, + // A regex rather than z.url(): it carries into the JSON Schema, and only http(s) may become a link. + href: z.string().regex(/^https?:\/\/\S+$/).optional(), + }) + .optional(), +}); + +const Node = z.strictObject({ + id, + type: z.enum(NODE_TYPES).meta({ description: 'Sets the card color. Never color by brand.' }), + group: id.optional(), + card: Card, +}); + +const Edge = z.strictObject({ + id, + from: id, + to: id, + label: text.max(LIMITS.edgeLabel).optional().meta({ description: 'Short label; use sparingly.' }), + kind: z.enum(['sync', 'async']).optional().meta({ description: 'async edges render dashed.' }), +}); + +const Group = z.strictObject({ id, label: text, parent: id.optional() }); + +const View = z.strictObject({ + id, + label: text, + caption: text.optional(), + nodes: z.array(id).meta({ description: 'Node ids this guided view focuses; the rest are dimmed.' }), +}); + +export const DiagramDraftSchema = z + .strictObject({ + $schema: z.string().optional(), + kind: z.enum(['architecture', 'dataflow']), + title: text, + subtitle: text.optional(), + direction: z.enum(['RIGHT', 'DOWN']).optional().meta({ description: 'Layout flow. Default RIGHT; prefer DOWN for tiered/grouped diagrams.' }), + groups: z.array(Group).optional(), + nodes: z.array(Node).min(1), + edges: z.array(Edge), + views: z.array(View).optional(), + }) + .meta({ title: 'stackmap diagram', description: 'Agent-authored diagram. Layout is computed by stackmap; never give coordinates.' }); + +export const SCHEMA_ID = 'https://raw.githubusercontent.com/hyamero/stackmap/main/packages/schema/stackmap.schema.json'; + +export function buildJsonSchema(): Record { + return { ...z.toJSONSchema(DiagramDraftSchema, { target: 'draft-2020-12' }), $id: SCHEMA_ID }; +} diff --git a/packages/schema/stackmap.schema.json b/packages/schema/stackmap.schema.json new file mode 100644 index 0000000..f6aacff --- /dev/null +++ b/packages/schema/stackmap.schema.json @@ -0,0 +1,329 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "$schema": { + "type": "string" + }, + "kind": { + "type": "string", + "enum": [ + "architecture", + "dataflow" + ] + }, + "title": { + "type": "string", + "minLength": 1 + }, + "subtitle": { + "type": "string", + "minLength": 1 + }, + "direction": { + "description": "Layout flow. Default RIGHT; prefer DOWN for tiered/grouped diagrams.", + "type": "string", + "enum": [ + "RIGHT", + "DOWN" + ] + }, + "groups": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^[a-z0-9][a-z0-9_-]*$", + "description": "Lowercase id: letters, digits, \"-\" and \"_\"; starts with a letter or digit." + }, + "label": { + "type": "string", + "minLength": 1 + }, + "parent": { + "type": "string", + "pattern": "^[a-z0-9][a-z0-9_-]*$", + "description": "Lowercase id: letters, digits, \"-\" and \"_\"; starts with a letter or digit." + } + }, + "required": [ + "id", + "label" + ], + "additionalProperties": false + } + }, + "nodes": { + "minItems": 1, + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^[a-z0-9][a-z0-9_-]*$", + "description": "Lowercase id: letters, digits, \"-\" and \"_\"; starts with a letter or digit." + }, + "type": { + "type": "string", + "enum": [ + "client", + "service", + "gateway", + "database", + "cache", + "queue", + "storage", + "external", + "security" + ], + "description": "Sets the card color. Never color by brand." + }, + "group": { + "type": "string", + "pattern": "^[a-z0-9][a-z0-9_-]*$", + "description": "Lowercase id: letters, digits, \"-\" and \"_\"; starts with a letter or digit." + }, + "card": { + "type": "object", + "properties": { + "title": { + "type": "string", + "minLength": 1, + "description": "Card title. Must fit the card; `stackmap validate` reports the character budget." + }, + "subtitle": { + "type": "string", + "minLength": 1 + }, + "brand": { + "description": "simple-icons slug shown in the icon tile, e.g. \"postgresql\".", + "type": "string" + }, + "rows": { + "description": "Key/value rows. `mono` renders the value in Geist Mono (ports, IPs).", + "maxItems": 6, + "type": "array", + "items": { + "type": "object", + "properties": { + "label": { + "type": "string", + "minLength": 1 + }, + "value": { + "type": "string", + "minLength": 1 + }, + "mono": { + "type": "boolean" + } + }, + "required": [ + "label", + "value" + ], + "additionalProperties": false + } + }, + "stats": { + "description": "Stat tiles, e.g. replica counts.", + "maxItems": 3, + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "string", + "minLength": 1 + }, + "label": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "value", + "label" + ], + "additionalProperties": false + } + }, + "statsNote": { + "description": "Line under the stat tiles; only shown with stats.", + "type": "string", + "minLength": 1 + }, + "footer": { + "type": "object", + "properties": { + "left": { + "type": "object", + "properties": { + "text": { + "type": "string", + "minLength": 1 + }, + "icon": { + "type": "string", + "enum": [ + "region", + "secure", + "members" + ] + } + }, + "required": [ + "text" + ], + "additionalProperties": false + }, + "right": { + "type": "object", + "properties": { + "text": { + "type": "string", + "minLength": 1 + }, + "icon": { + "type": "string", + "enum": [ + "region", + "secure", + "members" + ] + } + }, + "required": [ + "text" + ], + "additionalProperties": false + } + }, + "additionalProperties": false + }, + "cta": { + "type": "object", + "properties": { + "label": { + "type": "string", + "minLength": 1 + }, + "href": { + "type": "string", + "pattern": "^https?:\\/\\/\\S+$" + } + }, + "required": [ + "label" + ], + "additionalProperties": false + } + }, + "required": [ + "title" + ], + "additionalProperties": false + } + }, + "required": [ + "id", + "type", + "card" + ], + "additionalProperties": false + } + }, + "edges": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^[a-z0-9][a-z0-9_-]*$", + "description": "Lowercase id: letters, digits, \"-\" and \"_\"; starts with a letter or digit." + }, + "from": { + "type": "string", + "pattern": "^[a-z0-9][a-z0-9_-]*$", + "description": "Lowercase id: letters, digits, \"-\" and \"_\"; starts with a letter or digit." + }, + "to": { + "type": "string", + "pattern": "^[a-z0-9][a-z0-9_-]*$", + "description": "Lowercase id: letters, digits, \"-\" and \"_\"; starts with a letter or digit." + }, + "label": { + "description": "Short label; use sparingly.", + "type": "string", + "minLength": 1, + "maxLength": 24 + }, + "kind": { + "description": "async edges render dashed.", + "type": "string", + "enum": [ + "sync", + "async" + ] + } + }, + "required": [ + "id", + "from", + "to" + ], + "additionalProperties": false + } + }, + "views": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^[a-z0-9][a-z0-9_-]*$", + "description": "Lowercase id: letters, digits, \"-\" and \"_\"; starts with a letter or digit." + }, + "label": { + "type": "string", + "minLength": 1 + }, + "caption": { + "type": "string", + "minLength": 1 + }, + "nodes": { + "type": "array", + "items": { + "type": "string", + "pattern": "^[a-z0-9][a-z0-9_-]*$", + "description": "Lowercase id: letters, digits, \"-\" and \"_\"; starts with a letter or digit." + }, + "description": "Node ids this guided view focuses; the rest are dimmed." + } + }, + "required": [ + "id", + "label", + "nodes" + ], + "additionalProperties": false + } + } + }, + "required": [ + "kind", + "title", + "nodes", + "edges" + ], + "additionalProperties": false, + "title": "stackmap diagram", + "description": "Agent-authored diagram. Layout is computed by stackmap; never give coordinates.", + "$id": "https://raw.githubusercontent.com/hyamero/stackmap/main/packages/schema/stackmap.schema.json" +} diff --git a/packages/schema/test/schema.test.ts b/packages/schema/test/schema.test.ts new file mode 100644 index 0000000..f55b474 --- /dev/null +++ b/packages/schema/test/schema.test.ts @@ -0,0 +1,58 @@ +import { readFileSync } from 'node:fs'; +import Ajv2020 from 'ajv/dist/2020.js'; +import { describe, expect, expectTypeOf, it } from 'vitest'; +import type { z } from 'zod'; +import type { DiagramDraft } from '@stackmap/core'; +import { commerceApi, groupedPlatform } from '@stackmap/core/samples'; +import { buildJsonSchema, DiagramDraftSchema } from '../src/schema'; + +type Inferred = z.infer; +const node = (over: Record = {}) => ({ id: 'a', type: 'service', card: { title: 'a' }, ...over }); +const draft = (over: Record = {}) => ({ kind: 'architecture', title: 'T', nodes: [node()], edges: [], ...over }); +const parses = (input: unknown) => DiagramDraftSchema.safeParse(input).success; + +describe('DiagramDraftSchema', () => { + it('infers exactly the core DiagramDraft shape (plus $schema)', () => { + expectTypeOf().toExtend(); + expectTypeOf().toExtend(); + }); + + it('accepts both samples and a minimal diagram', () => { + expect(parses(commerceApi)).toBe(true); + expect(parses(groupedPlatform)).toBe(true); + expect(parses(draft({ $schema: './stackmap.schema.json' }))).toBe(true); + }); + + it.each([ + ['an uppercase id', draft({ nodes: [node({ id: 'Orders' })] })], + ['an id starting with a dash', draft({ nodes: [node({ id: '-a' })] })], + ['an unknown node type', draft({ nodes: [node({ type: 'lambda' })] })], + ['more than 3 stats', draft({ nodes: [node({ card: { title: 'a', stats: Array(4).fill({ value: '1', label: 'x' }) } })] })], + ['more than 6 rows', draft({ nodes: [node({ card: { title: 'a', rows: Array(7).fill({ label: 'k', value: 'v' }) } })] })], + ['an edge label over 24 chars', draft({ edges: [{ id: 'e', from: 'a', to: 'a', label: 'x'.repeat(25) }] })], + ['a javascript: CTA link', draft({ nodes: [node({ card: { title: 'a', cta: { label: 'Go', href: 'javascript:alert(1)' } } })] })], + ['a typo key', draft({ nodes: [node({ card: { title: 'a', subtitel: 'x' } })] })], + ['an empty title', draft({ nodes: [node({ card: { title: '' } })] })], + ['no nodes', draft({ nodes: [] })], + ['a non-object', 'diagram'], + ])('rejects %s', (_name, input) => { + expect(parses(input)).toBe(false); + }); +}); + +describe('stackmap.schema.json', () => { + const committed = JSON.parse(readFileSync(new URL('../stackmap.schema.json', import.meta.url), 'utf8')); + + it('is up to date with the Zod source (run `bun run schema:emit`)', () => { + expect(committed).toEqual(buildJsonSchema()); + }); + + it('agrees with Zod on the samples and on the limits it can express', () => { + const validate = new Ajv2020({ strict: false }).compile(committed); + expect(validate(commerceApi)).toBe(true); + expect(validate(groupedPlatform)).toBe(true); + expect(validate(draft({ nodes: [node({ id: 'Bad' })] }))).toBe(false); + expect(validate(draft({ nodes: [node({ card: { title: 'a', cta: { label: 'Go', href: 'javascript:x' } } })] }))).toBe(false); + expect(validate(draft({ nodes: [node({ card: { title: 'a', stats: Array(4).fill({ value: '1', label: 'x' }) } })] }))).toBe(false); + }); +}); diff --git a/packages/schema/tsconfig.json b/packages/schema/tsconfig.json new file mode 100644 index 0000000..66b0774 --- /dev/null +++ b/packages/schema/tsconfig.json @@ -0,0 +1 @@ +{ "extends": "../../tsconfig.base.json", "compilerOptions": { "types": ["node"] }, "include": ["src", "test", "scripts"] } From ef1ff93bd7c510f2da0acd85cd8ed12ea12f6f00 Mon Sep 17 00:00:00 2001 From: Joseph Dale Banares Date: Mon, 28 Sep 2026 23:48:57 +0800 Subject: [PATCH 05/35] feat(schema): validate diagrams with structured diagnostics --- packages/schema/src/diagnostics.ts | 23 ++ packages/schema/src/index.ts | 3 + packages/schema/src/rules/card-fit.ts | 28 +++ packages/schema/src/rules/refs.ts | 90 +++++++ packages/schema/src/rules/schema.ts | 72 ++++++ packages/schema/src/rules/semantics.ts | 135 +++++++++++ packages/schema/src/util.ts | 33 +++ packages/schema/src/validate.ts | 20 ++ packages/schema/test/validate.test.ts | 232 +++++++++++++++++++ packages/viewer/e2e/metrics.spec.ts | 3 +- packages/viewer/scripts/check-single-file.ts | 2 + packages/viewer/src/pages/GalleryPage.tsx | 6 +- packages/viewer/src/pages/boundary-nodes.ts | 37 +++ packages/viewer/src/pages/gallery-nodes.ts | 38 +-- 14 files changed, 683 insertions(+), 39 deletions(-) create mode 100644 packages/schema/src/diagnostics.ts create mode 100644 packages/schema/src/index.ts create mode 100644 packages/schema/src/rules/card-fit.ts create mode 100644 packages/schema/src/rules/refs.ts create mode 100644 packages/schema/src/rules/schema.ts create mode 100644 packages/schema/src/rules/semantics.ts create mode 100644 packages/schema/src/util.ts create mode 100644 packages/schema/src/validate.ts create mode 100644 packages/schema/test/validate.test.ts create mode 100644 packages/viewer/src/pages/boundary-nodes.ts diff --git a/packages/schema/src/diagnostics.ts b/packages/schema/src/diagnostics.ts new file mode 100644 index 0000000..4be99a1 --- /dev/null +++ b/packages/schema/src/diagnostics.ts @@ -0,0 +1,23 @@ +import type { DiagramDraft } from '@stackmap/core'; + +export type Severity = 'error' | 'warning'; + +/** One repairable finding. The agent loop repairs only what a diagnostic names, using `allowedFixes`. */ +export interface Diagnostic { + /** `/`: schema · refs · semantics · card-fit */ + code: string; + severity: Severity; + /** JSON pointer into the diagram, e.g. "/nodes/3/card/title" */ + subject: string; + message: string; + evidence: Record; + allowedFixes: string[]; +} + +export interface ValidationResult { + /** No errors (warnings allowed). */ + ok: boolean; + /** The typed diagram, present whenever the input passed the schema. */ + diagram?: DiagramDraft; + diagnostics: Diagnostic[]; +} diff --git a/packages/schema/src/index.ts b/packages/schema/src/index.ts new file mode 100644 index 0000000..fecc79a --- /dev/null +++ b/packages/schema/src/index.ts @@ -0,0 +1,3 @@ +export * from './diagnostics'; +export { buildJsonSchema, DiagramDraftSchema, ID_PATTERN, LIMITS, SCHEMA_ID } from './schema'; +export { validateDiagram } from './validate'; diff --git a/packages/schema/src/rules/card-fit.ts b/packages/schema/src/rules/card-fit.ts new file mode 100644 index 0000000..a89ec1d --- /dev/null +++ b/packages/schema/src/rules/card-fit.ts @@ -0,0 +1,28 @@ +import { cardTextSlots, measureText, type DiagramDraft } from '@stackmap/core'; +import type { Diagnostic } from '../diagnostics'; + +const round = (n: number) => Math.round(n * 10) / 10; + +/** Text that the card would truncate with an ellipsis, measured headlessly with Geist metrics. */ +export function cardFitDiagnostics(d: DiagramDraft): Diagnostic[] { + const out: Diagnostic[] = []; + d.nodes.forEach((n, i) => { + for (const slot of cardTextSlots(n.card)) { + const width = measureText(slot.text, slot.face, slot.size); + if (width <= slot.maxWidth) continue; + const chars = [...slot.text]; + let maxChars = 0; + while (maxChars < chars.length && measureText(chars.slice(0, maxChars + 1).join(''), slot.face, slot.size) <= slot.maxWidth) maxChars++; + const header = slot.path === '/title' || slot.path === '/subtitle'; + out.push({ + code: 'card-fit/overflow', + severity: 'error', + subject: `/nodes/${i}/card${slot.path}`, + message: `"${slot.text}" is ${round(width)}px wide; this slot fits ${round(slot.maxWidth)}px (~${maxChars} characters)`, + evidence: { text: slot.text, width: round(width), maxWidth: round(slot.maxWidth), maxChars }, + allowedFixes: [`shorten to at most ${maxChars} characters`, ...(header ? ['move the detail into a card row'] : [])], + }); + } + }); + return out; +} diff --git a/packages/schema/src/rules/refs.ts b/packages/schema/src/rules/refs.ts new file mode 100644 index 0000000..5778e53 --- /dev/null +++ b/packages/schema/src/rules/refs.ts @@ -0,0 +1,90 @@ +import { BRAND_SLUGS, isBrandSlug, type DiagramDraft } from '@stackmap/core'; +import type { Diagnostic } from '../diagnostics'; +import { closest } from '../util'; + +function unknownRef(code: string, subject: string, kind: string, id: string, known: string[], extraFix: string): Diagnostic { + const near = closest(id, known); + return { + code, + severity: 'error', + subject, + message: `Unknown ${kind} "${id}"`, + evidence: { id, closest: near }, + allowedFixes: [...near.map((n) => `use "${n}"`), extraFix], + }; +} + +/** Dangling references, group parent cycles and unknown brands. */ +export function refsDiagnostics(d: DiagramDraft): Diagnostic[] { + const out: Diagnostic[] = []; + const nodeIds = d.nodes.map((n) => n.id); + const nodeSet = new Set(nodeIds); + const groups = d.groups ?? []; + const groupIds = groups.map((g) => g.id); + const groupSet = new Set(groupIds); + + groups.forEach((g, i) => { + if (g.parent !== undefined && !groupSet.has(g.parent)) + out.push(unknownRef('refs/unknown-group', `/groups/${i}/parent`, 'group', g.parent, groupIds, `remove "parent" or add group "${g.parent}"`)); + }); + + // Walk each parent chain; a chain that revisits a group is a cycle. Report each cycle once, at its + // first group in document order. + const parentOf = new Map(groups.map((g) => [g.id, g.parent])); + const reported = new Set(); + groups.forEach((g, i) => { + const seen: string[] = []; + let cur: string | undefined = g.id; + while (cur !== undefined && groupSet.has(cur) && !seen.includes(cur)) { + seen.push(cur); + cur = parentOf.get(cur); + } + if (cur === undefined || !seen.includes(cur)) return; + const cycle = seen.slice(seen.indexOf(cur)); + if (cycle[0] !== g.id) return; // g only leads into a cycle + const key = [...cycle].sort().join(','); + if (reported.has(key)) return; + reported.add(key); + out.push({ + code: 'refs/group-cycle', + severity: 'error', + subject: `/groups/${i}/parent`, + message: `Group parents form a cycle: ${[...cycle, cycle[0]].join(' → ')}`, + evidence: { cycle }, + allowedFixes: [`remove "parent" from one of: ${cycle.join(', ')}`], + }); + }); + + d.nodes.forEach((n, i) => { + if (n.group !== undefined && !groupSet.has(n.group)) + out.push(unknownRef('refs/unknown-group', `/nodes/${i}/group`, 'group', n.group, groupIds, `remove "group" or add group "${n.group}"`)); + const brand = n.card.brand; + if (brand !== undefined && !isBrandSlug(brand)) { + const near = closest(brand, BRAND_SLUGS); + out.push({ + code: 'refs/unknown-brand', + severity: 'warning', + subject: `/nodes/${i}/card/brand`, + message: `No icon for brand "${brand}"; the ${n.type} icon is shown instead`, + evidence: { brand, closest: near }, + allowedFixes: [...near.map((b) => `use "${b}"`), 'remove "brand"'], + }); + } + }); + + d.edges.forEach((e, i) => { + for (const end of ['from', 'to'] as const) { + if (!nodeSet.has(e[end])) + out.push(unknownRef('refs/unknown-node', `/edges/${i}/${end}`, 'node', e[end], nodeIds, `add node "${e[end]}" or remove the edge`)); + } + }); + + d.views?.forEach((v, i) => { + v.nodes.forEach((id, j) => { + if (!nodeSet.has(id)) + out.push(unknownRef('refs/unknown-view-node', `/views/${i}/nodes/${j}`, 'node', id, nodeIds, `remove "${id}" from the view`)); + }); + }); + + return out; +} diff --git a/packages/schema/src/rules/schema.ts b/packages/schema/src/rules/schema.ts new file mode 100644 index 0000000..f0d0164 --- /dev/null +++ b/packages/schema/src/rules/schema.ts @@ -0,0 +1,72 @@ +import type { z } from 'zod'; +import type { Diagnostic } from '../diagnostics'; +import { buildJsonSchema, ID_PATTERN } from '../schema'; +import { closest, pointer, toId } from '../util'; + +const kindOf = (v: unknown) => (v === null ? 'null' : Array.isArray(v) ? 'array' : typeof v); + +function valueAt(input: unknown, path: readonly PropertyKey[]): unknown { + let v = input; + for (const k of path) v = v !== null && typeof v === 'object' ? (v as Record)[k] : undefined; + return v; +} + +// Every property name the schema knows, for "did you mean" on misspelt keys. +let knownKeys: string[] | undefined; +function allKeys(): string[] { + if (knownKeys) return knownKeys; + const keys = new Set(); + const walk = (node: unknown) => { + if (node === null || typeof node !== 'object') return; + const props = (node as { properties?: Record }).properties; + if (props) for (const k of Object.keys(props)) keys.add(k); + for (const v of Object.values(node)) walk(v); + }; + walk(buildJsonSchema()); + return (knownKeys = [...keys]); +} + +function fixes(issue: z.core.$ZodIssue, received: unknown): string[] { + const key = String(issue.path.at(-1) ?? 'value'); + switch (issue.code) { + case 'invalid_type': + return received === undefined ? [`add the required "${key}" field (${issue.expected})`] : [`make "${key}" a ${issue.expected}`]; + case 'invalid_value': + return [`use one of: ${issue.values.map(String).join(', ')}`]; + case 'too_big': + return issue.origin === 'array' ? [`keep at most ${issue.maximum} items`] : [`shorten "${key}" to at most ${issue.maximum} characters`]; + case 'too_small': + return issue.origin === 'array' ? [`add at least ${issue.minimum} item(s)`] : [`give "${key}" a non-empty value`]; + case 'invalid_format': + if (issue.format === 'regex' && issue.pattern === String(ID_PATTERN)) + return [`use a lowercase id such as "${toId(String(received ?? ''))}"`]; + if (key === 'href') return ['use an http(s) URL', 'remove "href"']; + return [`match ${issue.pattern ?? issue.format}`]; + case 'unrecognized_keys': + return issue.keys.map((k) => { + const near = closest(k, allKeys(), 1)[0]; + return near ? `rename "${k}" to "${near}"` : `remove "${k}"`; + }); + default: + return ['fix the value to match stackmap.schema.json']; + } +} + +/** Zod issues → diagnostics: `schema/`, subject = the offending path. */ +export function schemaDiagnostics(issues: readonly z.core.$ZodIssue[], input: unknown): Diagnostic[] { + return issues.map((issue) => { + const received = valueAt(input, issue.path); + const { code, path, message, input: _input, ...rest } = issue as z.core.$ZodIssue & { input?: unknown }; + const evidence: Record = { ...rest }; + // Primitives verbatim; objects and arrays by kind only, so evidence stays small. + if (code !== 'unrecognized_keys') evidence.received = received !== null && typeof received === 'object' ? kindOf(received) : received ?? 'missing'; + return { + code: `schema/${code}`, + severity: 'error', + subject: pointer(path), + message: issue.code === 'invalid_type' ? `Expected ${issue.expected}, received ${received === undefined ? 'nothing' : kindOf(received)}` : message, + evidence, + allowedFixes: fixes(issue, received), + } satisfies Diagnostic; + }); +} diff --git a/packages/schema/src/rules/semantics.ts b/packages/schema/src/rules/semantics.ts new file mode 100644 index 0000000..0cd7e13 --- /dev/null +++ b/packages/schema/src/rules/semantics.ts @@ -0,0 +1,135 @@ +import type { DiagramDraft } from '@stackmap/core'; +import type { Diagnostic } from '../diagnostics'; + +function duplicates(items: { id: string }[] | undefined, collection: string): Diagnostic[] { + const first = new Map(); + const out: Diagnostic[] = []; + items?.forEach(({ id }, i) => { + const at = first.get(id); + if (at === undefined) return void first.set(id, i); + out.push({ + code: 'semantics/duplicate-id', + severity: 'error', + subject: `/${collection}/${i}/id`, + message: `Duplicate ${collection.slice(0, -1)} id "${id}"`, + evidence: { id, first: `/${collection}/${at}/id` }, + allowedFixes: [`rename to a unique id, e.g. "${id}-${i + 1}"`, 'remove the duplicate'], + }); + }); + return out; +} + +/** Tarjan's strongly connected components; returns components with more than one node, in discovery order. */ +function cycles(nodes: string[], edges: [string, string][]): string[][] { + const adj = new Map(nodes.map((n) => [n, [] as string[]])); + for (const [a, b] of edges) if (a !== b && adj.has(a) && adj.has(b)) adj.get(a)!.push(b); + let index = 0; + const idx = new Map(); + const low = new Map(); + const stack: string[] = []; + const on = new Set(); + const out: string[][] = []; + const visit = (v: string) => { + idx.set(v, index); + low.set(v, index++); + stack.push(v); + on.add(v); + for (const w of adj.get(v)!) { + if (!idx.has(w)) { + visit(w); + low.set(v, Math.min(low.get(v)!, low.get(w)!)); + } else if (on.has(w)) low.set(v, Math.min(low.get(v)!, idx.get(w)!)); + } + if (low.get(v) === idx.get(v)) { + const comp: string[] = []; + let w: string; + do { + w = stack.pop()!; + on.delete(w); + comp.push(w); + } while (w !== v); + if (comp.length > 1) out.push(comp.sort((a, b) => nodes.indexOf(a) - nodes.indexOf(b))); + } + }; + for (const n of nodes) if (!idx.has(n)) visit(n); + return out; +} + +/** Duplicate ids, orphans, self-loops, dataflow cycles, empty views and groups. */ +export function semanticsDiagnostics(d: DiagramDraft): Diagnostic[] { + const out: Diagnostic[] = [ + ...duplicates(d.nodes, 'nodes'), + ...duplicates(d.edges, 'edges'), + ...duplicates(d.groups, 'groups'), + ...duplicates(d.views, 'views'), + ]; + + const linked = new Set(d.edges.flatMap((e) => [e.from, e.to])); + if (d.nodes.length > 1) { + d.nodes.forEach((n, i) => { + if (!linked.has(n.id)) + out.push({ + code: 'semantics/orphan-node', + severity: 'warning', + subject: `/nodes/${i}`, + message: `Node "${n.id}" has no connections`, + evidence: { id: n.id }, + allowedFixes: [`add an edge to or from "${n.id}"`, 'remove the node'], + }); + }); + } + + d.edges.forEach((e, i) => { + if (e.from === e.to) + out.push({ + code: 'semantics/self-loop', + severity: 'warning', + subject: `/edges/${i}`, + message: `Edge "${e.id}" connects "${e.from}" to itself`, + evidence: { id: e.id, node: e.from }, + allowedFixes: ['remove the edge', 'describe the loop in a card row instead'], + }); + }); + + if (d.kind === 'dataflow') { + for (const comp of cycles(d.nodes.map((n) => n.id), d.edges.map((e) => [e.from, e.to]))) { + const members = new Set(comp); + const i = d.edges.findIndex((e) => members.has(e.from) && members.has(e.to) && e.from !== e.to); + out.push({ + code: 'semantics/dataflow-cycle', + severity: 'warning', + subject: `/edges/${i}`, + message: `Data flows in a cycle through: ${comp.join(', ')}`, + evidence: { nodes: comp }, + allowedFixes: ['remove or reverse the edge that feeds back', 'mark the feedback edge "kind": "async"'], + }); + } + } + + d.views?.forEach((v, i) => { + if (v.nodes.length === 0) + out.push({ + code: 'semantics/empty-view', + severity: 'error', + subject: `/views/${i}/nodes`, + message: `View "${v.id}" focuses no nodes`, + evidence: { id: v.id }, + allowedFixes: ['list the node ids this view focuses', 'remove the view'], + }); + }); + + const used = new Set([...d.nodes.map((n) => n.group), ...(d.groups ?? []).map((g) => g.parent)]); + d.groups?.forEach((g, i) => { + if (!used.has(g.id)) + out.push({ + code: 'semantics/empty-group', + severity: 'warning', + subject: `/groups/${i}`, + message: `Group "${g.id}" contains no nodes or groups`, + evidence: { id: g.id }, + allowedFixes: [`set "group": "${g.id}" on its nodes`, 'remove the group'], + }); + }); + + return out; +} diff --git a/packages/schema/src/util.ts b/packages/schema/src/util.ts new file mode 100644 index 0000000..3c207be --- /dev/null +++ b/packages/schema/src/util.ts @@ -0,0 +1,33 @@ +/** RFC 6901 JSON pointer. */ +export const pointer = (path: readonly PropertyKey[]): string => + path.map((p) => `/${String(p).replaceAll('~', '~0').replaceAll('/', '~1')}`).join(''); + +export function levenshtein(a: string, b: string): number { + let prev = Array.from({ length: b.length + 1 }, (_, i) => i); + for (let i = 1; i <= a.length; i++) { + const cur = [i]; + for (let j = 1; j <= b.length; j++) { + cur[j] = Math.min(prev[j]! + 1, cur[j - 1]! + 1, prev[j - 1]! + (a[i - 1] === b[j - 1] ? 0 : 1)); + } + prev = cur; + } + return prev[b.length]!; +} + +/** Up to `n` candidates closest to `target`, nearest first, ties in candidate order; only plausible matches. */ +export function closest(target: string, candidates: Iterable, n = 3): string[] { + const max = Math.max(2, Math.floor(target.length / 3)); + return [...new Set(candidates)] + .map((c, i) => ({ c, i, d: levenshtein(target.toLowerCase(), c.toLowerCase()) })) + .filter((x) => x.d <= max) + .sort((a, b) => a.d - b.d || a.i - b.i) + .slice(0, n) + .map((x) => x.c); +} + +/** A lowercase id derived from arbitrary text, for "use this id instead" fixes. */ +export const toId = (s: string): string => + s + .toLowerCase() + .replace(/[^a-z0-9_-]+/g, '-') + .replace(/^[-_]+|-+$/g, '') || 'id'; diff --git a/packages/schema/src/validate.ts b/packages/schema/src/validate.ts new file mode 100644 index 0000000..90ff0e3 --- /dev/null +++ b/packages/schema/src/validate.ts @@ -0,0 +1,20 @@ +import type { DiagramDraft } from '@stackmap/core'; +import type { ValidationResult } from './diagnostics'; +import { cardFitDiagnostics } from './rules/card-fit'; +import { refsDiagnostics } from './rules/refs'; +import { schemaDiagnostics } from './rules/schema'; +import { semanticsDiagnostics } from './rules/semantics'; +import { DiagramDraftSchema } from './schema'; + +/** + * Schema first: the other families need a typed diagram, so schema errors are returned alone. Otherwise + * refs, semantics and card-fit all run, in that order, each in document order. + */ +export function validateDiagram(input: unknown): ValidationResult { + const parsed = DiagramDraftSchema.safeParse(input); + if (!parsed.success) return { ok: false, diagnostics: schemaDiagnostics(parsed.error.issues, input) }; + const { $schema: _, ...diagram } = parsed.data; + const d: DiagramDraft = diagram; + const diagnostics = [...refsDiagnostics(d), ...semanticsDiagnostics(d), ...cardFitDiagnostics(d)]; + return { ok: !diagnostics.some((x) => x.severity === 'error'), diagram: d, diagnostics }; +} diff --git a/packages/schema/test/validate.test.ts b/packages/schema/test/validate.test.ts new file mode 100644 index 0000000..178da4d --- /dev/null +++ b/packages/schema/test/validate.test.ts @@ -0,0 +1,232 @@ +import { describe, expect, it } from 'vitest'; +import type { DiagramDraft } from '@stackmap/core'; +import { commerceApi, groupedPlatform } from '@stackmap/core/samples'; +import { validateDiagram, type Diagnostic } from '../src'; + +const node = (id: string, over: Partial = {}) => ({ id, type: 'service' as const, card: { title: id }, ...over }); +const base = (over: Partial = {}): DiagramDraft => ({ + kind: 'architecture', + title: 'T', + nodes: [node('a'), node('b')], + edges: [{ id: 'ab', from: 'a', to: 'b' }], + ...over, +}); +const diags = (input: unknown) => validateDiagram(input).diagnostics; +const only = (input: unknown, code: string) => diags(input).filter((d) => d.code === code); + +describe('validateDiagram', () => { + it.each([ + ['commerce API', commerceApi], + ['grouped platform', groupedPlatform], + ])('the %s sample validates with no diagnostics', (_n, sample) => { + expect(validateDiagram(sample)).toEqual({ ok: true, diagram: sample, diagnostics: [] }); + }); + + it('strips $schema from the typed diagram', () => { + const r = validateDiagram({ $schema: './stackmap.schema.json', ...base() }); + expect(r.ok).toBe(true); + expect(r.diagram).toEqual(base()); + }); + + describe('schema', () => { + it.each([null, [], 'diagram', 42, undefined])('reports a non-object root (%s) once, without throwing', (input) => { + const r = validateDiagram(input); + expect(r.ok).toBe(false); + expect(r.diagram).toBeUndefined(); + expect(r.diagnostics).toHaveLength(1); + expect(r.diagnostics[0]).toMatchObject({ code: 'schema/invalid_type', subject: '', evidence: { expected: 'object' } }); + }); + + it('a missing required field says to add it', () => { + const { edges: _, ...noEdges } = base(); + expect(diags(noEdges)).toEqual([ + { + code: 'schema/invalid_type', + severity: 'error', + subject: '/edges', + message: 'Expected array, received nothing', + evidence: { expected: 'array', received: 'missing' }, + allowedFixes: ['add the required "edges" field (array)'], + }, + ]); + }); + + it('a bad id suggests a valid one', () => { + const [d] = diags(base({ nodes: [node('Orders API'), node('b')], edges: [] })); + expect(d).toMatchObject({ code: 'schema/invalid_format', subject: '/nodes/0/id', allowedFixes: ['use a lowercase id such as "orders-api"'] }); + }); + + it('an unknown type lists the allowed types', () => { + const [d] = diags(base({ nodes: [node('a', { type: 'lambda' as never })] })); + expect(d).toMatchObject({ code: 'schema/invalid_value', subject: '/nodes/0/type' }); + expect(d!.allowedFixes[0]).toMatch(/^use one of: client, service, gateway/); + }); + + it('a misspelt key suggests the right one', () => { + const [d] = diags(base({ nodes: [node('a', { card: { title: 'a', subtitel: 'x' } as never })] })); + expect(d).toMatchObject({ code: 'schema/unrecognized_keys', subject: '/nodes/0/card', evidence: { keys: ['subtitel'] }, allowedFixes: ['rename "subtitel" to "subtitle"'] }); + }); + + it('limits say how far to cut', () => { + const stats = Array.from({ length: 4 }, (_, i) => ({ value: String(i), label: 'x' })); + expect(diags(base({ nodes: [node('a', { card: { title: 'a', stats } })] }))[0]).toMatchObject({ + code: 'schema/too_big', + subject: '/nodes/0/card/stats', + allowedFixes: ['keep at most 3 items'], + }); + expect(diags(base({ edges: [{ id: 'ab', from: 'a', to: 'b', label: 'x'.repeat(25) }] }))[0]).toMatchObject({ + code: 'schema/too_big', + subject: '/edges/0/label', + allowedFixes: ['shorten "label" to at most 24 characters'], + }); + }); + + it('rejects a non-http CTA link', () => { + const [d] = diags(base({ nodes: [node('a', { card: { title: 'a', cta: { label: 'Go', href: 'javascript:alert(1)' } } })] })); + expect(d).toMatchObject({ code: 'schema/invalid_format', subject: '/nodes/0/card/cta/href', allowedFixes: ['use an http(s) URL', 'remove "href"'] }); + }); + + it('returns only schema diagnostics when the schema fails', () => { + // Dangling edge + orphan would be reported too if later families ran. + const r = validateDiagram({ ...base({ edges: [{ id: 'ax', from: 'a', to: 'x' }] }), title: '' }); + expect(r.diagnostics.map((d) => d.code)).toEqual(['schema/too_small']); + }); + }); + + describe('refs', () => { + it('a dangling edge end names the closest node ids', () => { + expect(only(base({ nodes: [node('orders'), node('b')], edges: [{ id: 'e', from: 'order', to: 'b' }] }), 'refs/unknown-node')).toEqual([ + { + code: 'refs/unknown-node', + severity: 'error', + subject: '/edges/0/from', + message: 'Unknown node "order"', + evidence: { id: 'order', closest: ['orders'] }, + allowedFixes: ['use "orders"', 'add node "order" or remove the edge'], + }, + ]); + }); + + it('unknown groups on nodes and group parents', () => { + const d = base({ groups: [{ id: 'app', label: 'App', parent: 'missing' }], nodes: [node('a', { group: 'ap' }), node('b', { group: 'app' })] }); + expect(only(d, 'refs/unknown-group').map((x) => [x.subject, x.evidence])).toEqual([ + ['/groups/0/parent', { id: 'missing', closest: [] }], + ['/nodes/0/group', { id: 'ap', closest: ['app'] }], + ]); + }); + + it('unknown view members', () => { + const d = base({ views: [{ id: 'v', label: 'V', nodes: ['a', 'zz'] }] }); + expect(only(d, 'refs/unknown-view-node')).toMatchObject([{ subject: '/views/0/nodes/1', evidence: { id: 'zz' } }]); + }); + + it('reports each group parent cycle once and terminates', () => { + const d = base({ + groups: [ + { id: 'x', label: 'X', parent: 'y' }, + { id: 'y', label: 'Y', parent: 'x' }, + { id: 'self', label: 'S', parent: 'self' }, + { id: 'into', label: 'I', parent: 'x' }, + ], + nodes: [node('a', { group: 'x' }), node('b', { group: 'self' })], + }); + expect(only(d, 'refs/group-cycle').map((x) => [x.subject, x.evidence])).toEqual([ + ['/groups/0/parent', { cycle: ['x', 'y'] }], + ['/groups/2/parent', { cycle: ['self'] }], + ]); + }); + + it('an unknown brand is a warning with the nearest slugs', () => { + const r = validateDiagram(base({ nodes: [node('a', { card: { title: 'a', brand: 'postgres' } }), node('b')] })); + expect(r.ok).toBe(true); + expect(r.diagnostics).toMatchObject([ + { code: 'refs/unknown-brand', severity: 'warning', subject: '/nodes/0/card/brand', evidence: { closest: ['postgresql'] }, allowedFixes: ['use "postgresql"', 'remove "brand"'] }, + ]); + }); + }); + + describe('semantics', () => { + it('duplicate ids point at the first occurrence', () => { + const d = base({ nodes: [node('a'), node('b'), node('a')], edges: [{ id: 'ab', from: 'a', to: 'b' }, { id: 'ab', from: 'b', to: 'a' }] }); + expect(only(d, 'semantics/duplicate-id').map((x) => [x.subject, x.evidence])).toEqual([ + ['/nodes/2/id', { id: 'a', first: '/nodes/0/id' }], + ['/edges/1/id', { id: 'ab', first: '/edges/0/id' }], + ]); + }); + + it('an unconnected node is an orphan, except in a one-node diagram', () => { + expect(only(base({ nodes: [node('a'), node('b'), node('c')] }), 'semantics/orphan-node')).toMatchObject([{ subject: '/nodes/2', severity: 'warning' }]); + expect(diags(base({ nodes: [node('a')], edges: [] }))).toEqual([]); + }); + + it('a self-loop is a warning', () => { + expect(only(base({ edges: [{ id: 'ab', from: 'a', to: 'b' }, { id: 'aa', from: 'a', to: 'a' }] }), 'semantics/self-loop')).toMatchObject([ + { subject: '/edges/1', severity: 'warning' }, + ]); + }); + + it('cycles warn in dataflow diagrams only', () => { + const edges = [ + { id: 'ab', from: 'a', to: 'b' }, + { id: 'bc', from: 'b', to: 'c' }, + { id: 'ca', from: 'c', to: 'a' }, + ]; + const nodes = [node('a'), node('b'), node('c')]; + expect(only(base({ kind: 'dataflow', nodes, edges }), 'semantics/dataflow-cycle')).toMatchObject([ + { subject: '/edges/0', severity: 'warning', evidence: { nodes: ['a', 'b', 'c'] } }, + ]); + expect(only(base({ nodes, edges }), 'semantics/dataflow-cycle')).toEqual([]); + }); + + it('an empty view is an error, an empty group a warning', () => { + const r = validateDiagram(base({ views: [{ id: 'v', label: 'V', nodes: [] }], groups: [{ id: 'g', label: 'G' }] })); + expect(r.ok).toBe(false); + expect(r.diagnostics.map((x) => [x.code, x.severity, x.subject])).toEqual([ + ['semantics/empty-view', 'error', '/views/0/nodes'], + ['semantics/empty-group', 'warning', '/groups/0'], + ]); + }); + + it('a group holding only a child group is not empty', () => { + const d = base({ groups: [{ id: 'outer', label: 'O' }, { id: 'inner', label: 'I', parent: 'outer' }], nodes: [node('a', { group: 'inner' }), node('b')] }); + expect(only(d, 'semantics/empty-group')).toEqual([]); + }); + }); + + describe('card-fit', () => { + it('reports an overflowing title with its character budget', () => { + const title = 'a-very-long-service-name-that-will-never-fit'; + const [d] = only(base({ nodes: [node('a', { card: { title } }), node('b')] }), 'card-fit/overflow'); + expect(d).toMatchObject({ severity: 'error', subject: '/nodes/0/card/title', evidence: { text: title, maxWidth: 200 } }); + const { maxChars, width } = d!.evidence as { maxChars: number; width: number }; + expect(width).toBeGreaterThan(200); + expect(maxChars).toBeGreaterThan(20); + expect(maxChars).toBeLessThan(title.length); + expect(d!.allowedFixes).toEqual([`shorten to at most ${maxChars} characters`, 'move the detail into a card row']); + }); + + it('covers every slot, not just the header', () => { + const long = 'x'.repeat(80); + const card = { + title: 'a', + rows: [{ label: 'k', value: long }], + stats: [{ value: '1', label: long }], + statsNote: long, + footer: { left: { text: long, icon: 'region' as const } }, + cta: { label: long }, + }; + expect(only(base({ nodes: [node('a', { card }), node('b')] }), 'card-fit/overflow').map((x) => x.subject)).toEqual([ + '/nodes/0/card/rows/0/value', + '/nodes/0/card/stats/0/label', + '/nodes/0/card/statsNote', + '/nodes/0/card/footer/left/text', + '/nodes/0/card/cta/label', + ]); + }); + + it('measures non-Latin text conservatively instead of crashing', () => { + const [d] = only(base({ nodes: [node('a', { card: { title: '注文サービス本番環境クラスター東京' } }), node('b')] }), 'card-fit/overflow'); + expect(d).toMatchObject({ subject: '/nodes/0/card/title', evidence: { maxChars: 14 } }); + }); + }); +}); diff --git a/packages/viewer/e2e/metrics.spec.ts b/packages/viewer/e2e/metrics.spec.ts index c97a31d..237a600 100644 --- a/packages/viewer/e2e/metrics.spec.ts +++ b/packages/viewer/e2e/metrics.spec.ts @@ -1,5 +1,6 @@ import { expect, test } from '@playwright/test'; import { cardTextSlots, measureText, type FontFace } from '@stackmap/core'; +import { boundaryNodes } from '../src/pages/boundary-nodes'; import { GALLERY_SECTIONS } from '../src/pages/gallery-nodes'; // Browser ground truth for the headless card-fit measure (M1): the generated table must match what @@ -73,7 +74,7 @@ test('a card slot truncates exactly when its measured text exceeds its budget', ); const mismatches: string[] = []; let checked = 0; - for (const [, nodes] of GALLERY_SECTIONS) { + for (const [, nodes] of [...GALLERY_SECTIONS, ['Boundary', boundaryNodes()] as const]) { for (const node of nodes) { const slots = cardTextSlots(node.card); const dom = rendered[node.id]!; diff --git a/packages/viewer/scripts/check-single-file.ts b/packages/viewer/scripts/check-single-file.ts index 8416abd..a1f5ec1 100644 --- a/packages/viewer/scripts/check-single-file.ts +++ b/packages/viewer/scripts/check-single-file.ts @@ -23,6 +23,8 @@ if (external.length) fail(`external references: ${external.slice(0, 5).join(' ' if (!html.includes('data:font/woff2')) fail('Geist fonts are not inlined'); if (/elkjs|org\.eclipse\.elk/.test(html)) fail('elkjs leaked into the viewer bundle'); if (/@xyflow|react-flow__/.test(html)) fail('React Flow leaked into the viewer bundle'); +// The headless metrics table (~120 KB) is for the CLI's card-fit rule; the viewer measures with the browser. +if (/sans500tnum/.test(html)) fail('Geist metrics table leaked into the viewer bundle'); const kb = statSync(new URL('index.html', dist)).size / 1024; if (kb > BUDGET_KB) fail(`index.html is ${kb.toFixed(0)} KB, budget ${BUDGET_KB} KB`); diff --git a/packages/viewer/src/pages/GalleryPage.tsx b/packages/viewer/src/pages/GalleryPage.tsx index 9640fd5..4dfe565 100644 --- a/packages/viewer/src/pages/GalleryPage.tsx +++ b/packages/viewer/src/pages/GalleryPage.tsx @@ -1,8 +1,12 @@ import type { DiagramNode } from '@stackmap/core'; import { NodeCard } from '../card/NodeCard'; import type { ThemeChoice } from '../theme/theme'; +import { boundaryNodes } from './boundary-nodes'; import { GALLERY_SECTIONS } from './gallery-nodes'; +// Boundary cards back the card-fit browser test (dev server only); they would ship the metrics table. +const sections = import.meta.env.DEV ? [...GALLERY_SECTIONS, ['Boundary', boundaryNodes()] as const] : GALLERY_SECTIONS; + export function GalleryPage({ theme, onToggleTheme }: { theme: ThemeChoice; onToggleTheme: () => void }) { return (
@@ -16,7 +20,7 @@ export function GalleryPage({ theme, onToggleTheme }: { theme: ThemeChoice; onTo {theme === 'dark' ? 'Light' : 'Dark'} theme - {GALLERY_SECTIONS.map(([label, nodes]) => ( + {sections.map(([label, nodes]) => (

{label}

diff --git a/packages/viewer/src/pages/boundary-nodes.ts b/packages/viewer/src/pages/boundary-nodes.ts new file mode 100644 index 0000000..7cd6291 --- /dev/null +++ b/packages/viewer/src/pages/boundary-nodes.ts @@ -0,0 +1,37 @@ +import { cardTextSlots, measureText, type CardData, type DiagramNode } from '@stackmap/core'; + +// Every slot filled with text ~2px under (fits) and ~2px over (truncates) its budget, so the browser test +// that pins cardTextSlots to the rendered card has cases on both sides of each boundary. +// No spaces: trailing whitespace collapses in the browser and would skew the edge cases. +const FILLER = 'Boundary-text-for-budget-checks-abcdefghijklmnopqrstuvwxyz-0123456789-'.repeat(4); +const template: CardData = { + title: FILLER, + subtitle: FILLER, + rows: [{ label: FILLER, value: ':3000', mono: true }, { label: 'Region', value: FILLER }], + stats: [{ value: '1234567890', label: FILLER }, { value: '2', label: FILLER }], + statsNote: FILLER, + footer: { left: { text: FILLER, icon: 'region' }, right: { text: FILLER } }, + cta: { label: FILLER }, +}; + +/** Longest prefix at least 2px under each budget (`under`), or shortest prefix at least 2px over it. */ +function fitTo(card: CardData, side: 'under' | 'over'): CardData { + const out = structuredClone(card) as unknown as Record; + for (const slot of cardTextSlots(card)) { + const width = (n: number) => measureText(slot.text.slice(0, n), slot.face, slot.size); + let n = 1; + if (side === 'under') while (n < slot.text.length && width(n + 1) <= slot.maxWidth - 2) n++; + else while (n < slot.text.length && width(n) < slot.maxWidth + 2) n++; + const keys = slot.path.slice(1).split('/'); + let target = out as Record; + for (const k of keys.slice(0, -1)) target = target[k] as Record; + target[keys.at(-1)!] = slot.text.slice(0, n); + } + return out as unknown as CardData; +} + +// A function, so a production build that never calls it drops this module and the metrics table with it. +export const boundaryNodes = (): DiagramNode[] => [ + { id: 'boundary-under', type: 'database', card: fitTo(template, 'under') }, + { id: 'boundary-over', type: 'cache', card: fitTo(template, 'over') }, +]; diff --git a/packages/viewer/src/pages/gallery-nodes.ts b/packages/viewer/src/pages/gallery-nodes.ts index d2a4667..05a5542 100644 --- a/packages/viewer/src/pages/gallery-nodes.ts +++ b/packages/viewer/src/pages/gallery-nodes.ts @@ -1,4 +1,4 @@ -import { cardTextSlots, measureText, NODE_TYPES, TYPE_LABELS, type CardData, type DiagramNode, type NodeType } from '@stackmap/core'; +import { NODE_TYPES, TYPE_LABELS, type DiagramNode, type NodeType } from '@stackmap/core'; const BRAND: Partial> = { client: 'nextdotjs', @@ -55,44 +55,8 @@ const stress: DiagramNode = { }, }; -// Every slot filled with text ~2px under (fits) and ~2px over (truncates) its budget, so the browser test -// that pins cardTextSlots to the rendered card has cases on both sides of each boundary. -// No spaces: trailing whitespace collapses in the browser and would skew the edge cases. -const FILLER = 'Boundary-text-for-budget-checks-abcdefghijklmnopqrstuvwxyz-0123456789-'.repeat(4); -const template: CardData = { - title: FILLER, - subtitle: FILLER, - rows: [{ label: FILLER, value: ':3000', mono: true }, { label: 'Region', value: FILLER }], - stats: [{ value: '1234567890', label: FILLER }, { value: '2', label: FILLER }], - statsNote: FILLER, - footer: { left: { text: FILLER, icon: 'region' }, right: { text: FILLER } }, - cta: { label: FILLER }, -}; - -/** Longest prefix at least 2px under each budget (`under`), or shortest prefix at least 2px over it. */ -function fitTo(card: CardData, side: 'under' | 'over'): CardData { - const out = structuredClone(card) as unknown as Record; - for (const slot of cardTextSlots(card)) { - const width = (n: number) => measureText(slot.text.slice(0, n), slot.face, slot.size); - let n = 1; - if (side === 'under') while (n < slot.text.length && width(n + 1) <= slot.maxWidth - 2) n++; - else while (n < slot.text.length && width(n) < slot.maxWidth + 2) n++; - const keys = slot.path.slice(1).split('/'); - let target = out as Record; - for (const k of keys.slice(0, -1)) target = target[k] as Record; - target[keys.at(-1)!] = slot.text.slice(0, n); - } - return out as unknown as CardData; -} - -const boundary: DiagramNode[] = [ - { id: 'boundary-under', type: 'database', card: fitTo(template, 'under') }, - { id: 'boundary-over', type: 'cache', card: fitTo(template, 'over') }, -]; - export const GALLERY_SECTIONS: [string, DiagramNode[]][] = [ ['Bare', NODE_TYPES.map(bare)], ['Rich', NODE_TYPES.map(rich)], ['Stress', [stress]], - ['Boundary', boundary], ]; From 9891b342024fb596edf2934fb6ffca0e2756fb7c Mon Sep 17 00:00:00 2001 From: Joseph Dale Banares Date: Mon, 28 Sep 2026 23:58:41 +0800 Subject: [PATCH 06/35] fix(schema): address M1 review findings --- packages/core/src/font-metrics.gen.ts | 6 +- packages/core/src/text-measure.ts | 18 ++++-- packages/core/test/text-measure.test.ts | 10 ++-- packages/schema/src/rules/card-fit.ts | 14 ++++- packages/schema/src/rules/schema.ts | 47 +++++++++------- packages/schema/src/rules/semantics.ts | 27 ++++++++- packages/schema/src/schema.ts | 14 +++-- packages/schema/stackmap.schema.json | 38 +++++++------ packages/schema/test/validate.test.ts | 61 ++++++++++++++++++++- packages/viewer/e2e/metrics.spec.ts | 16 ++++++ packages/viewer/scripts/gen-font-metrics.ts | 6 +- 11 files changed, 191 insertions(+), 66 deletions(-) diff --git a/packages/core/src/font-metrics.gen.ts b/packages/core/src/font-metrics.gen.ts index 63c74a0..6139fe3 100644 --- a/packages/core/src/font-metrics.gen.ts +++ b/packages/core/src/font-metrics.gen.ts @@ -13,9 +13,9 @@ export const FONT_METRICS: { unitsPerEm: number; faces: Table; kerning: Table } mono400: {32:600,33:600,34:600,35:600,36:600,37:600,38:600,39:600,40:600,41:600,42:600,43:600,44:600,45:600,46:600,47:600,48:600,49:600,50:600,51:600,52:600,53:600,54:600,55:600,56:600,57:600,58:600,59:600,60:600,61:600,62:600,63:600,64:600,65:600,66:600,67:600,68:600,69:600,70:600,71:600,72:600,73:600,74:600,75:600,76:600,77:600,78:600,79:600,80:600,81:600,82:600,83:600,84:600,85:600,86:600,87:600,88:600,89:600,90:600,91:600,92:600,93:600,94:600,95:600,96:600,97:600,98:600,99:600,100:600,101:600,102:600,103:600,104:600,105:600,106:600,107:600,108:600,109:600,110:600,111:600,112:600,113:600,114:600,115:600,116:600,117:600,118:600,119:600,120:600,121:600,122:600,123:600,124:600,125:600,126:600,160:600,161:600,162:600,163:600,164:600,165:600,166:600,167:600,168:600,169:600,170:600,171:600,172:600,174:600,175:600,176:600,177:600,178:600,179:600,180:600,181:600,182:600,183:600,184:600,185:600,186:600,187:600,188:600,189:600,190:600,191:600,192:600,193:600,194:600,195:600,196:600,197:600,198:600,199:600,200:600,201:600,202:600,203:600,204:600,205:600,206:600,207:600,208:600,209:600,210:600,211:600,212:600,213:600,214:600,215:600,216:600,217:600,218:600,219:600,220:600,221:600,222:600,223:600,224:600,225:600,226:600,227:600,228:600,229:600,230:600,231:600,232:600,233:600,234:600,235:600,236:600,237:600,238:600,239:600,240:600,241:600,242:600,243:600,244:600,245:600,246:600,247:600,248:600,249:600,250:600,251:600,252:600,253:600,254:600,255:600,258:600,305:600,338:600,339:600,700:600,710:600,730:600,732:600,768:0,769:0,771:0,772:0,776:0,777:0,803:0,8211:600,8212:600,8216:600,8217:600,8218:600,8220:600,8221:600,8222:600,8226:600,8230:600,8242:600,8243:600,8249:600,8250:600,8260:600,8364:600,8482:600,8593:600,8595:600,8722:600,65535:500}, }, kerning: { - sans400: {2228271:-50,2228276:-30,2228279:10,2228289:-50,2228308:10,2228323:-10,2228324:-10,2228325:-10,2228327:-10,2228335:-10,2228337:-10,2228339:-10,2490423:-68,2490452:-68,2490454:-48,2490455:-48,2490460:-48,2555951:-50,2555956:-30,2555959:10,2555969:-50,2555988:10,2556003:-10,2556004:-10,2556005:-10,2556007:-10,2556015:-10,2556017:-10,2556019:-10,2621490:-10,2621491:-5,2621492:-40,2621496:-8,2621507:-15,2621511:-15,2621519:-15,2621521:-15,2621523:-15,2752556:-40,2752558:-40,2752559:-70,2752567:10,2752577:-70,2752596:10,2818103:-20,2818132:-20,2818137:-20,2883626:-40,2883633:-80,2883639:-60,2883651:-20,2883655:-20,2883658:-10,2883663:-20,2883665:-20,2883667:-20,2883668:-60,2883670:-80,2883671:-80,2883676:-80,2883686:-35,2883690:10,2883692:-10,2883702:-40,2883703:-40,2883705:-40,2949169:-20,2949172:10,2949175:-40,2949182:237,2949204:-40,2949222:-10,2949238:-10,2949239:-10,2949240:-50,2949241:-10,3014698:-40,3014705:-80,3014711:-60,3014723:-20,3014727:-20,3014730:-10,3014735:-20,3014737:-20,3014739:-20,3014740:-60,3014742:-80,3014743:-80,3014748:-80,3014758:-35,3014762:10,3014764:-10,3014774:-40,3014775:-40,3014777:-40,3080225:-30,3080230:-24,3080236:-80,3080238:-80,3080239:-106,3080240:-20,3080241:-20,3080242:-40,3080243:-40,3080244:-80,3080245:-10,3080246:-20,3080248:-20,3080249:-20,3080250:-30,3080251:-30,3080255:-30,3080257:-106,3080258:-22,3080259:-30,3080260:-22,3080261:-22,3080262:-22,3080263:-30,3080264:-22,3080265:-22,3080266:-80,3080267:-15,3080268:-15,3080269:-22,3080270:-22,3080271:-30,3080272:-22,3080273:-30,3080274:-22,3080275:-30,3080278:-10,3080279:-10,3080280:-10,3080282:-10,3080284:-10,3080289:-44,3080290:-22,3080291:-40,3080292:-40,3080293:-40,3080294:-50,3080295:-40,3080296:-22,3080297:-22,3080298:-40,3080299:-22,3080300:-30,3080301:-30,3080302:-30,3080303:-40,3080304:-30,3080305:-40,3080306:-30,3080307:-40,3080308:-40,3080309:-50,3080310:-40,3080311:-40,3080312:-60,3080313:-40,3080314:-34,3145776:10,3145777:-10,3145780:-10,3145782:10,3145783:-40,3145812:-40,3211309:-10,3211311:-20,3211312:-10,3211313:-40,3211314:-10,3211316:-20,3211318:-10,3211319:-20,3211320:-20,3211329:-20,3211331:-10,3211335:-10,3211339:-15,3211340:-15,3211343:-10,3211345:-10,3211347:-10,3211348:-20,3211361:-5,3211363:-20,3211364:-20,3211365:-20,3211367:-20,3211375:-20,3211377:-20,3211379:-20,3211381:-10,3276845:-30,3276847:-10,3276849:-10,3276851:-20,3276852:-40,3276855:-30,3276865:-10,3276867:-10,3276871:-10,3276879:-10,3276881:-10,3276883:-10,3276884:-30,3342377:-5,3342383:-30,3342391:-20,3342401:-30,3342420:-20,3407906:-10,3407909:-20,3407911:-10,3407917:-10,3407920:-10,3407921:-20,3407923:-20,3407926:-10,3407927:-30,3407930:-20,3407931:-20,3407956:-30,3473449:-10,3473455:-20,3473456:-20,3473458:-10,3473462:-20,3473463:-50,3473473:-20,3473492:-50,3538991:-20,3538993:-20,3538994:-10,3538999:-40,3539009:-20,3539028:-40,3604517:10,3604524:-100,3604525:-40,3604526:-100,3604527:-60,3604529:10,3604530:-10,3604532:-60,3604535:20,3604536:-10,3604538:-20,3604539:-20,3604545:-60,3604547:-10,3604551:-10,3604559:-10,3604561:-10,3604563:-10,3604564:20,3604573:30,3604605:30,3670057:-8,3670065:-20,3670071:-20,3670100:-20,3735600:10,3735601:-10,3735604:-10,3735606:10,3735607:-40,3735636:-40,3801135:-20,3801140:-20,3801143:-60,3801153:-20,3801155:-10,3801159:-10,3801167:-10,3801169:-10,3801171:-10,3801172:-60,3801174:-30,3801175:-30,3801176:-20,3801180:-30,3801190:-30,3801204:-30,3801206:-20,3801207:-20,3801208:-40,3801209:-20,3801210:-20,3866671:-20,3866676:-20,3866679:-60,3866689:-20,3866691:-10,3866695:-10,3866703:-10,3866705:-10,3866707:-10,3866708:-60,3866710:-30,3866711:-30,3866712:-20,3866716:-30,3866726:-30,3866740:-30,3866742:-20,3866743:-20,3866744:-40,3866745:-20,3866746:-20,3932205:237,3932215:-20,3932244:-20,3932249:-20,3997751:-20,3997780:-20,3997785:-20,4063287:-20,4063316:-20,4063321:-20,4259873:-10,4259874:-50,4259879:-50,4259882:-70,4259891:-30,4259895:-90,4259898:-20,4259899:-20,4259903:-50,4259906:-20,4259907:-30,4259908:-20,4259909:-20,4259910:-20,4259911:-30,4259912:-20,4259913:-20,4259914:-32,4259915:-15,4259916:-15,4259917:-20,4259918:-20,4259919:-30,4259920:-20,4259921:-30,4259922:-20,4259923:-30,4259924:-90,4259925:-16,4259926:-106,4259927:-106,4259929:-70,4259930:-10,4259932:-106,4259938:-20,4259939:-18,4259940:-18,4259941:-18,4259942:-40,4259943:-18,4259944:-20,4259945:-20,4259947:-20,4259948:-20,4259949:-20,4259950:-20,4259951:-18,4259952:-20,4259953:-18,4259954:-20,4259955:-18,4259956:-60,4259957:-20,4259958:-60,4259959:-60,4259960:-30,4259961:-60,4259962:-10,4325423:-18,4325431:-40,4325434:-20,4325435:-20,4325439:-30,4325441:-18,4325442:-8,4325443:-10,4325444:-8,4325445:-19,4325446:-8,4325447:-10,4325448:-8,4325449:-8,4325453:-8,4325454:-8,4325455:-10,4325456:-8,4325457:-10,4325458:-8,4325459:-10,4325460:-40,4325462:-30,4325463:-30,4325465:-40,4325468:-30,4325473:-8,4325474:-8,4325478:-20,4325480:-8,4325481:-8,4325482:-10,4325483:-8,4325484:-10,4325485:-10,4325486:-10,4325488:-10,4325490:-10,4325492:-20,4325493:-12,4325494:-30,4325495:-30,4325496:-40,4325497:-30,4325498:-20,4390959:-25,4390967:-15,4390977:-25,4390987:-10,4390988:-10,4390996:-15,4390998:-20,4390999:-20,4391000:-20,4391001:-20,4391004:-20,4391011:-8,4391012:-8,4391013:-8,4391014:-20,4391015:-8,4391020:-10,4391021:-8,4391022:-8,4391023:-8,4391024:-8,4391025:-8,4391026:-8,4391027:-8,4391028:-10,4391029:-10,4391030:-10,4391031:-10,4391032:-30,4391033:-10,4391034:-10,4456489:-20,4456490:-10,4456492:-20,4456494:-20,4456495:-30,4456498:-10,4456503:-40,4456506:-10,4456507:-10,4456511:-20,4456513:-30,4456514:12,4456516:12,4456517:12,4456518:12,4456520:12,4456521:12,4456522:-12,4456523:-10,4456524:-10,4456525:12,4456526:12,4456528:12,4456530:12,4456532:-40,4456534:-30,4456535:-30,4456536:-30,4456537:-40,4456538:-10,4456540:-30,4456545:10,4456546:12,4456547:14,4456548:14,4456549:14,4456550:-10,4456551:14,4456552:12,4456553:12,4456554:-20,4456555:12,4456559:14,4456561:14,4456563:14,4456564:-24,4456566:-15,4456567:-15,4456568:-20,4456569:-15,4522042:-10,4522043:-10,4522047:-20,4522050:-10,4522052:-10,4522053:-10,4522054:-10,4522056:-10,4522057:-10,4522061:-10,4522062:-10,4522064:-10,4522066:-10,4522070:15,4522071:15,4522073:-20,4522076:15,4522081:-8,4522082:-10,4522083:-20,4522084:-20,4522085:-20,4522086:-30,4522087:-20,4522088:-10,4522089:-10,4522090:-10,4522091:-10,4522095:-20,4522097:-20,4522099:-20,4522100:-40,4522102:-20,4522103:-20,4522104:-30,4522105:-20,4587564:-80,4587566:-80,4587567:-80,4587578:-30,4587579:-30,4587583:-20,4587585:-80,4587586:-20,4587588:-20,4587589:-20,4587590:-20,4587592:-20,4587593:-20,4587594:-60,4587595:-30,4587596:-30,4587597:-20,4587598:-20,4587600:-20,4587602:-20,4587608:-20,4587609:-20,4587610:-20,4587617:-20,4587618:-20,4587619:-30,4587620:-30,4587621:-30,4587622:-10,4587623:-30,4587624:-20,4587625:-20,4587626:-30,4587627:-20,4587628:-20,4587629:-30,4587630:-30,4587631:-30,4587632:-30,4587633:-30,4587634:-30,4587635:-30,4587636:-40,4587637:-30,4587638:-40,4587639:-40,4587640:-50,4587641:-40,4587642:-30,4653111:-20,4653140:-20,4653142:-30,4653143:-30,4653144:-10,4653145:-20,4653148:-30,4653153:12,4653155:10,4653156:10,4653157:10,4653158:-10,4653159:10,4653167:10,4653169:10,4653171:10,4653172:-10,4653176:-10,4653178:6,4718639:-10,4718647:-40,4718655:-10,4718657:-10,4718658:-20,4718659:-14,4718660:-20,4718661:-20,4718662:-20,4718663:-14,4718664:-20,4718665:-20,4718666:-20,4718669:-20,4718670:-20,4718671:-14,4718672:-20,4718673:-14,4718674:-20,4718675:-14,4718676:-40,4718677:15,4718678:-20,4718679:-20,4718680:-10,4718681:-20,4718684:-20,4718689:-10,4718690:-20,4718691:-10,4718692:-10,4718693:-10,4718694:-47,4718695:-10,4718696:-20,4718697:-20,4718698:-10,4718699:-20,4718700:-10,4718701:6,4718702:6,4718703:-10,4718704:6,4718705:-10,4718706:6,4718707:-10,4718708:-40,4718709:-20,4718710:-10,4718711:-10,4718712:-50,4718713:-10,4718714:-10,4784175:-10,4784183:-40,4784191:-10,4784193:-10,4784194:-20,4784195:-14,4784196:-20,4784197:-20,4784198:-20,4784199:-14,4784200:-20,4784201:-20,4784202:-20,4784205:-20,4784206:-20,4784207:-14,4784208:-20,4784209:-14,4784210:-20,4784211:-14,4784212:-40,4784213:15,4784214:-20,4784215:-20,4784216:-10,4784217:-20,4784220:-20,4784225:-10,4784226:-20,4784227:-10,4784228:-10,4784229:-10,4784230:-47,4784231:-10,4784232:-20,4784233:-20,4784234:-10,4784235:-20,4784236:-10,4784237:6,4784238:6,4784239:-10,4784240:6,4784241:-10,4784242:6,4784243:-10,4784244:-40,4784245:-20,4784246:-10,4784247:-10,4784248:-50,4784249:-10,4784250:-10,4849711:-16,4849729:-16,4849730:15,4849732:15,4849733:15,4849734:15,4849736:15,4849737:15,4849738:-30,4849741:15,4849742:15,4849744:15,4849746:15,4849752:-20,4849753:-20,4849762:15,4849763:-6,4849764:-6,4849765:-6,4849766:-20,4849767:-6,4849768:15,4849769:15,4849770:-6,4849771:15,4849775:-6,4849777:-6,4849779:-6,4849780:-20,4849782:-20,4849783:-20,4849784:-30,4849785:-20,4849786:-20,4915242:-10,4915258:-20,4915259:-20,4915263:-20,4915266:-10,4915267:-40,4915268:-10,4915269:-10,4915270:-10,4915271:-40,4915272:-10,4915273:-10,4915274:-30,4915275:-20,4915276:-20,4915277:-10,4915278:-10,4915279:-40,4915280:-10,4915281:-40,4915282:-10,4915283:-40,4915285:-20,4915286:-10,4915287:-10,4915290:-10,4915292:-10,4915297:-10,4915298:-10,4915299:-46,4915300:-46,4915301:-46,4915302:-50,4915303:-46,4915304:-10,4915305:-10,4915306:-10,4915307:-10,4915309:-20,4915310:-20,4915311:-46,4915312:-20,4915313:-46,4915314:-20,4915315:-46,4915316:-50,4915317:-30,4915318:-30,4915319:-30,4915320:-30,4915321:-30,4980769:-20,4980770:-100,4980775:-100,4980778:-120,4980780:-10,4980782:-10,4980783:-20,4980791:-140,4980794:-20,4980795:-20,4980799:-80,4980801:-20,4980802:-50,4980803:-50,4980804:-50,4980805:-50,4980806:-50,4980807:-50,4980808:-50,4980809:-50,4980810:-60,4980811:-30,4980812:-30,4980813:-50,4980814:-50,4980815:-50,4980816:-50,4980817:-50,4980818:-50,4980819:-50,4980820:-140,4980821:-50,4980822:-160,4980823:-160,4980825:-160,4980826:-20,4980828:-160,4980834:-50,4980835:-39,4980836:-39,4980837:-39,4980838:-60,4980839:-39,4980840:-50,4980841:-50,4980842:-20,4980843:-50,4980844:-40,4980847:-39,4980849:-39,4980851:-39,4980852:-80,4980853:-40,4980854:-80,4980855:-80,4980856:-50,4980857:-80,4980858:-20,5046319:-10,5046327:-40,5046335:-10,5046337:-10,5046338:-20,5046339:-14,5046340:-20,5046341:-20,5046342:-20,5046343:-14,5046344:-20,5046345:-20,5046346:-20,5046349:-20,5046350:-20,5046351:-14,5046352:-20,5046353:-14,5046354:-20,5046355:-14,5046356:-40,5046357:15,5046358:-20,5046359:-20,5046360:-10,5046361:-20,5046364:-20,5046369:-10,5046370:-20,5046371:-10,5046372:-10,5046373:-10,5046374:-47,5046375:-10,5046376:-20,5046377:-20,5046378:-10,5046379:-20,5046380:-10,5046381:6,5046382:6,5046383:-10,5046384:6,5046385:-10,5046386:6,5046387:-10,5046388:-40,5046389:-20,5046390:-10,5046391:-10,5046392:-50,5046393:-10,5046394:-10,5111855:-10,5111863:-40,5111871:-10,5111873:-10,5111874:-20,5111875:-14,5111876:-20,5111877:-20,5111878:-20,5111879:-14,5111880:-20,5111881:-20,5111882:-20,5111885:-20,5111886:-20,5111887:-14,5111888:-20,5111889:-14,5111890:-20,5111891:-14,5111892:-40,5111893:15,5111894:-20,5111895:-20,5111896:-10,5111897:-20,5111900:-20,5111905:-10,5111906:-20,5111907:-10,5111908:-10,5111909:-10,5111910:-47,5111911:-10,5111912:-20,5111913:-20,5111914:-10,5111915:-20,5111916:-10,5111917:6,5111918:6,5111919:-10,5111920:6,5111921:-10,5111922:6,5111923:-10,5111924:-40,5111925:-20,5111926:-10,5111927:-10,5111928:-50,5111929:-10,5111930:-10,5177385:-20,5177386:-10,5177388:-20,5177390:-20,5177391:-30,5177394:-10,5177399:-40,5177402:-10,5177403:-10,5177407:-20,5177409:-30,5177410:12,5177412:12,5177413:12,5177414:12,5177416:12,5177417:12,5177418:-12,5177419:-10,5177420:-10,5177421:12,5177422:12,5177424:12,5177426:12,5177428:-40,5177430:-30,5177431:-30,5177432:-30,5177433:-40,5177434:-10,5177436:-30,5177441:10,5177442:12,5177443:14,5177444:14,5177445:14,5177446:-10,5177447:14,5177448:12,5177449:12,5177450:-20,5177451:12,5177455:14,5177457:14,5177459:14,5177460:-24,5177462:-15,5177463:-15,5177464:-20,5177465:-15,5242913:-10,5242924:-110,5242925:-30,5242926:-110,5242927:-70,5242938:-20,5242939:-20,5242943:-20,5242945:-70,5242946:-20,5242947:-10,5242948:-20,5242949:-20,5242950:-20,5242951:-10,5242952:-20,5242953:-20,5242954:-80,5242957:-20,5242958:-20,5242959:-10,5242960:-20,5242961:-10,5242962:-20,5242963:-10,5242966:-40,5242967:-40,5242968:-40,5242969:-40,5242970:-20,5242972:-40,5242977:-22,5242978:-20,5242979:-28,5242980:-28,5242981:-28,5242983:-28,5242984:-20,5242985:-20,5242987:-20,5242989:-10,5242990:-10,5242991:-28,5242992:-10,5242993:-28,5242994:-10,5242995:-28,5242997:-30,5242998:-20,5242999:-20,5243000:-40,5243001:-20,5243002:-30,5308457:-20,5308458:-10,5308460:-20,5308462:-20,5308463:-30,5308466:-10,5308471:-40,5308474:-10,5308475:-10,5308479:-20,5308481:-30,5308482:12,5308484:12,5308485:12,5308486:12,5308488:12,5308489:12,5308490:-12,5308491:-10,5308492:-10,5308493:12,5308494:12,5308496:12,5308498:12,5308500:-40,5308502:-30,5308503:-30,5308504:-30,5308505:-40,5308506:-10,5308508:-30,5308513:10,5308514:12,5308515:14,5308516:14,5308517:14,5308518:-10,5308519:14,5308520:12,5308521:12,5308522:-20,5308523:12,5308527:14,5308529:14,5308531:14,5308532:-24,5308534:-15,5308535:-15,5308536:-20,5308537:-15,5373999:-10,5374007:-20,5374010:-10,5374011:-10,5374015:-20,5374017:-10,5374019:-15,5374023:-15,5374027:-15,5374028:-15,5374031:-15,5374033:-15,5374035:-15,5374036:-20,5374038:-50,5374039:-50,5374041:-20,5374044:-50,5374051:-12,5374052:-12,5374053:-12,5374054:-30,5374055:-12,5374058:-6,5374063:-12,5374065:-12,5374067:-12,5374068:-30,5374069:-10,5374070:-20,5374071:-20,5374072:-20,5374073:-20,5439529:-20,5439530:-10,5439532:-20,5439534:-20,5439535:-30,5439538:-10,5439543:-40,5439546:-10,5439547:-10,5439551:-20,5439553:-30,5439554:12,5439556:12,5439557:12,5439558:12,5439560:12,5439561:12,5439562:-12,5439563:-10,5439564:-10,5439565:12,5439566:12,5439568:12,5439570:12,5439572:-40,5439574:-30,5439575:-30,5439576:-30,5439577:-40,5439578:-10,5439580:-30,5439585:10,5439586:12,5439587:14,5439588:14,5439589:14,5439590:-10,5439591:14,5439592:12,5439593:12,5439594:-20,5439595:12,5439599:14,5439601:14,5439603:14,5439604:-24,5439606:-15,5439607:-15,5439608:-20,5439609:-15,5505058:10,5505062:-29,5505063:10,5505066:10,5505068:-100,5505069:-40,5505070:-100,5505071:-90,5505076:-30,5505079:10,5505082:-60,5505083:-60,5505087:-20,5505089:-90,5505090:-30,5505091:-40,5505092:-30,5505093:-30,5505094:-30,5505095:-40,5505096:-30,5505097:-30,5505098:-120,5505099:-40,5505100:-40,5505101:-30,5505102:-30,5505103:-40,5505104:-30,5505105:-40,5505106:-30,5505107:-40,5505108:10,5505110:-10,5505111:-10,5505113:8,5505116:-10,5505117:20,5505121:-70,5505122:-30,5505123:-80,5505124:-80,5505125:-80,5505126:-40,5505127:-80,5505128:-30,5505129:-30,5505130:-40,5505131:-30,5505132:-20,5505133:-50,5505134:-50,5505135:-80,5505136:-50,5505137:-80,5505138:-50,5505139:-80,5505140:-40,5505141:-70,5505142:-50,5505143:-50,5505144:-60,5505145:-50,5505146:-50,5570607:-16,5570625:-16,5570626:15,5570628:15,5570629:15,5570630:15,5570632:15,5570633:15,5570634:-30,5570637:15,5570638:15,5570640:15,5570642:15,5570648:-20,5570649:-20,5570658:15,5570659:-6,5570660:-6,5570661:-6,5570662:-20,5570663:-6,5570664:15,5570665:15,5570666:-6,5570667:15,5570671:-6,5570673:-6,5570675:-6,5570676:-20,5570678:-20,5570679:-20,5570680:-30,5570681:-20,5570682:-20,5636129:-30,5636134:-24,5636140:-80,5636142:-80,5636143:-106,5636144:-20,5636145:-20,5636146:-40,5636147:-40,5636148:-80,5636149:-10,5636150:-20,5636152:-20,5636153:-20,5636154:-30,5636155:-30,5636159:-30,5636161:-106,5636162:-22,5636163:-30,5636164:-22,5636165:-22,5636166:-22,5636167:-30,5636168:-22,5636169:-22,5636170:-80,5636171:-15,5636172:-15,5636173:-22,5636174:-22,5636175:-30,5636176:-22,5636177:-30,5636178:-22,5636179:-30,5636182:-10,5636183:-10,5636184:-10,5636186:-10,5636188:-10,5636193:-44,5636194:-22,5636195:-40,5636196:-40,5636197:-40,5636198:-50,5636199:-40,5636200:-22,5636201:-22,5636202:-40,5636203:-22,5636204:-30,5636205:-30,5636206:-30,5636207:-40,5636208:-30,5636209:-40,5636210:-30,5636211:-40,5636212:-40,5636213:-50,5636214:-40,5636215:-40,5636216:-60,5636217:-40,5636218:-34,5701665:-30,5701670:-24,5701676:-80,5701678:-80,5701679:-106,5701680:-20,5701681:-20,5701682:-40,5701683:-40,5701684:-80,5701685:-10,5701686:-20,5701688:-20,5701689:-20,5701690:-30,5701691:-30,5701695:-30,5701697:-106,5701698:-22,5701699:-30,5701700:-22,5701701:-22,5701702:-22,5701703:-30,5701704:-22,5701705:-22,5701706:-80,5701707:-15,5701708:-15,5701709:-22,5701710:-22,5701711:-30,5701712:-22,5701713:-30,5701714:-22,5701715:-30,5701718:-10,5701719:-10,5701720:-10,5701722:-10,5701724:-10,5701729:-44,5701730:-22,5701731:-40,5701732:-40,5701733:-40,5701734:-50,5701735:-40,5701736:-22,5701737:-22,5701738:-40,5701739:-22,5701740:-30,5701741:-30,5701742:-30,5701743:-40,5701744:-30,5701745:-40,5701746:-30,5701747:-40,5701748:-40,5701749:-50,5701750:-40,5701751:-40,5701752:-60,5701753:-40,5701754:-34,5767210:-10,5767226:-20,5767227:-20,5767231:-20,5767234:-10,5767235:-40,5767236:-10,5767237:-10,5767238:-10,5767239:-40,5767240:-10,5767241:-10,5767242:-30,5767243:-20,5767244:-20,5767245:-10,5767246:-10,5767247:-40,5767248:-10,5767249:-40,5767250:-10,5767251:-40,5767253:-20,5767254:-10,5767255:-10,5767258:-10,5767260:-10,5767265:-10,5767266:-10,5767267:-46,5767268:-46,5767269:-46,5767270:-50,5767271:-46,5767272:-10,5767273:-10,5767274:-10,5767275:-10,5767277:-20,5767278:-20,5767279:-46,5767280:-20,5767281:-46,5767282:-20,5767283:-46,5767284:-50,5767285:-30,5767286:-30,5767287:-30,5767288:-30,5767289:-30,5832747:-20,5832751:-70,5832759:8,5832764:-20,5832765:-20,5832766:-20,5832769:-70,5832770:-20,5832771:-40,5832772:-20,5832773:-20,5832774:-20,5832775:-40,5832776:-20,5832777:-20,5832778:-120,5832781:-20,5832782:-20,5832783:-40,5832784:-20,5832785:-40,5832786:-20,5832787:-40,5832788:8,5832789:-20,5832793:20,5832794:-10,5832798:-20,5832801:-60,5832802:-20,5832803:-70,5832804:-70,5832805:-70,5832806:-50,5832807:-70,5832808:-20,5832809:-20,5832810:-40,5832811:-20,5832812:-20,5832813:-60,5832814:-60,5832815:-70,5832816:-60,5832817:-70,5832818:-60,5832819:-70,5832820:-60,5832821:-60,5832822:-40,5832823:-40,5832824:-60,5832825:-40,5832826:-70,5832830:-20,5898285:-20,5898287:-20,5898303:-20,5898305:-20,5898307:-20,5898311:-20,5898314:-30,5898319:-20,5898321:-20,5898323:-20,5898326:-10,5898327:-10,5898328:-10,5898329:-10,5898332:-10,5898337:-10,5898339:-32,5898340:-32,5898341:-32,5898342:-40,5898343:-32,5898346:-15,5898348:-6,5898349:-10,5898350:-10,5898351:-32,5898352:-10,5898353:-32,5898354:-10,5898355:-32,5898356:-30,5898357:-20,5898358:-30,5898359:-30,5898360:-40,5898361:-30,5898362:-20,5963831:20,5963860:20,5963882:30,6029345:-10,6029346:-50,6029351:-50,6029354:-70,6029363:-30,6029367:-90,6029370:-20,6029371:-20,6029375:-50,6029378:-20,6029379:-30,6029380:-20,6029381:-20,6029382:-20,6029383:-30,6029384:-20,6029385:-20,6029386:-32,6029387:-15,6029388:-15,6029389:-20,6029390:-20,6029391:-30,6029392:-20,6029393:-30,6029394:-20,6029395:-30,6029396:-90,6029397:-16,6029398:-106,6029399:-106,6029401:-70,6029402:-10,6029404:-106,6029410:-20,6029411:-18,6029412:-18,6029413:-18,6029414:-40,6029415:-18,6029416:-20,6029417:-20,6029419:-20,6029420:-20,6029421:-20,6029422:-20,6029423:-18,6029424:-20,6029425:-18,6029426:-20,6029427:-18,6029428:-60,6029429:-20,6029430:-60,6029431:-60,6029432:-30,6029433:-60,6029434:-10,6160439:-20,6160468:-20,6160473:-20,6357034:-20,6357036:20,6357038:20,6357055:-20,6357058:-8,6357060:-8,6357061:-8,6357062:-8,6357064:-8,6357065:-8,6357069:-8,6357070:-8,6357072:-8,6357074:-8,6357090:-8,6357091:-6,6357092:-6,6357093:-6,6357094:-14,6357095:-6,6357096:-8,6357097:-8,6357099:-8,6357100:-10,6357103:-6,6357105:-6,6357107:-6,6357108:-50,6357109:-10,6357110:-24,6357111:-24,6357112:-26,6357113:-24,6357114:-8,6422562:-10,6422567:-10,6422570:-20,6422575:-10,6422583:-70,6422591:-40,6422593:-10,6422594:-10,6422596:-10,6422597:-10,6422598:-10,6422600:-10,6422601:-10,6422605:-10,6422606:-10,6422608:-10,6422610:-10,6422612:-70,6422614:-50,6422615:-50,6422616:-20,6422617:-50,6422620:-50,6422626:-10,6422627:-10,6422628:-10,6422629:-10,6422630:-30,6422631:-10,6422632:-10,6422633:-10,6422634:-10,6422635:-10,6422636:-5,6422637:-10,6422638:-10,6422639:-10,6422640:-10,6422641:-10,6422642:-10,6422643:-10,6422644:-30,6422645:-10,6422646:-25,6422647:-25,6422648:-50,6422649:-25,6422650:-24,6488098:-10,6488103:-10,6488106:-20,6488111:-10,6488119:-70,6488127:-40,6488129:-10,6488130:-10,6488132:-10,6488133:-10,6488134:-10,6488136:-10,6488137:-10,6488141:-10,6488142:-10,6488144:-10,6488146:-10,6488148:-70,6488150:-50,6488151:-50,6488152:-20,6488153:-50,6488156:-50,6488162:-10,6488163:-10,6488164:-10,6488165:-10,6488166:-30,6488167:-10,6488168:-10,6488169:-10,6488170:-10,6488171:-10,6488172:-5,6488173:-10,6488174:-10,6488175:-10,6488176:-10,6488177:-10,6488178:-10,6488179:-10,6488180:-30,6488181:-10,6488182:-25,6488183:-25,6488184:-50,6488185:-25,6488186:-24,6553647:-10,6553655:-40,6553663:-10,6553665:-10,6553666:-20,6553667:-14,6553668:-20,6553669:-20,6553670:-20,6553671:-14,6553672:-20,6553673:-20,6553674:-20,6553677:-20,6553678:-20,6553679:-14,6553680:-20,6553681:-14,6553682:-20,6553683:-14,6553684:-40,6553685:15,6553686:-20,6553687:-20,6553688:-10,6553689:-20,6553692:-20,6553697:-10,6553698:-20,6553699:-10,6553700:-10,6553701:-10,6553702:-47,6553703:-10,6553704:-20,6553705:-20,6553706:-10,6553707:-20,6553708:-10,6553709:6,6553710:6,6553711:-10,6553712:6,6553713:-10,6553714:6,6553715:-10,6553716:-40,6553717:-20,6553718:-10,6553719:-10,6553720:-50,6553721:-10,6553722:-10,6619170:-10,6619175:-10,6619178:-20,6619183:-10,6619191:-70,6619199:-40,6619201:-10,6619202:-10,6619204:-10,6619205:-10,6619206:-10,6619208:-10,6619209:-10,6619213:-10,6619214:-10,6619216:-10,6619218:-10,6619220:-70,6619222:-50,6619223:-50,6619224:-20,6619225:-50,6619228:-50,6619234:-10,6619235:-10,6619236:-10,6619237:-10,6619238:-30,6619239:-10,6619240:-10,6619241:-10,6619242:-10,6619243:-10,6619244:-5,6619245:-10,6619246:-10,6619247:-10,6619248:-10,6619249:-10,6619250:-10,6619251:-10,6619252:-30,6619253:-10,6619254:-25,6619255:-25,6619256:-50,6619257:-25,6619258:-24,6684714:10,6684716:-60,6684717:-30,6684718:-60,6684719:-39,6684730:-30,6684731:-30,6684737:-39,6684738:-40,6684740:-40,6684741:-40,6684742:-40,6684744:-40,6684745:-40,6684749:-40,6684750:-40,6684752:-40,6684754:-40,6684765:10,6684769:-30,6684770:-40,6684771:-44,6684772:-44,6684773:-44,6684774:-107,6684775:-44,6684776:-40,6684777:-40,6684778:-40,6684779:-40,6684780:-20,6684781:-30,6684782:-30,6684783:-44,6684784:-30,6684785:-44,6684786:-30,6684787:-44,6684788:-40,6684790:-40,6684791:-40,6684792:-40,6684793:-40,6684794:-10,6750263:-60,6750271:-20,6750274:-15,6750276:-15,6750277:-15,6750278:-15,6750280:-15,6750281:-15,6750285:-15,6750286:-15,6750288:-15,6750290:-15,6750292:-60,6750294:-20,6750295:-20,6750297:-20,6750300:-20,6750306:-15,6750307:-10,6750308:-10,6750309:-10,6750310:-23,6750311:-10,6750312:-15,6750313:-15,6750315:-15,6750319:-10,6750321:-10,6750323:-10,6750324:-28,6750326:-20,6750327:-20,6750328:-15,6750329:-20,6750330:-10,6815786:-20,6815799:-40,6815807:-20,6815810:-6,6815812:-6,6815813:-6,6815814:-6,6815816:-6,6815817:-6,6815821:-6,6815822:-6,6815824:-6,6815826:-6,6815828:-40,6815830:-20,6815831:-20,6815832:-10,6815833:-40,6815836:-20,6815841:-10,6815842:-6,6815843:-12,6815844:-12,6815845:-12,6815846:-34,6815847:-12,6815848:-6,6815849:-6,6815850:-30,6815851:-6,6815852:-15,6815853:-20,6815854:-20,6815855:-12,6815856:-20,6815857:-12,6815858:-20,6815859:-12,6815860:-40,6815861:-15,6815862:-34,6815863:-34,6815864:-50,6815865:-34,6815866:-20,6881327:-10,6881335:-40,6881343:-10,6881345:-10,6881346:-20,6881347:-14,6881348:-20,6881349:-20,6881350:-20,6881351:-14,6881352:-20,6881353:-20,6881354:-20,6881357:-20,6881358:-20,6881359:-14,6881360:-20,6881361:-14,6881362:-20,6881363:-14,6881364:-40,6881365:15,6881366:-20,6881367:-20,6881368:-10,6881369:-20,6881372:-20,6881377:-10,6881378:-20,6881379:-10,6881380:-10,6881381:-10,6881382:-47,6881383:-10,6881384:-20,6881385:-20,6881386:-10,6881387:-20,6881388:-10,6881389:6,6881390:6,6881391:-10,6881392:6,6881393:-10,6881394:6,6881395:-10,6881396:-40,6881397:-20,6881398:-10,6881399:-10,6881400:-50,6881401:-10,6881402:-10,6946863:-10,6946871:-40,6946879:-10,6946881:-10,6946882:-20,6946883:-14,6946884:-20,6946885:-20,6946886:-20,6946887:-14,6946888:-20,6946889:-20,6946890:-20,6946893:-20,6946894:-20,6946895:-14,6946896:-20,6946897:-14,6946898:-20,6946899:-14,6946900:-40,6946901:15,6946902:-20,6946903:-20,6946904:-10,6946905:-20,6946908:-20,6946913:-10,6946914:-20,6946915:-10,6946916:-10,6946917:-10,6946918:-47,6946919:-10,6946920:-20,6946921:-20,6946922:-10,6946923:-20,6946924:-10,6946925:6,6946926:6,6946927:-10,6946928:6,6946929:-10,6946930:6,6946931:-10,6946932:-40,6946933:-20,6946934:-10,6946935:-10,6946936:-50,6946937:-10,6946938:-10,7012385:-20,7012394:-20,7012396:-20,7012397:-70,7012398:-20,7012407:-20,7012410:-40,7012411:-40,7012415:-30,7012418:-50,7012419:-10,7012420:-50,7012421:-50,7012422:-50,7012423:-10,7012424:-50,7012425:-50,7012429:-50,7012430:-50,7012431:-10,7012432:-50,7012433:-10,7012434:-50,7012435:-10,7012436:-20,7012449:-44,7012450:-50,7012451:-50,7012452:-50,7012453:-50,7012454:-60,7012455:-50,7012456:-50,7012457:-50,7012458:-26,7012459:-50,7012460:-35,7012461:-42,7012462:-42,7012463:-50,7012464:-42,7012465:-50,7012466:-42,7012467:-50,7012468:-53,7012469:-20,7012470:-70,7012471:-70,7012472:-40,7012473:-70,7012474:-30,7077930:-20,7077932:20,7077934:20,7077951:-20,7077954:-8,7077956:-8,7077957:-8,7077958:-8,7077960:-8,7077961:-8,7077965:-8,7077966:-8,7077968:-8,7077970:-8,7077986:-8,7077987:-6,7077988:-6,7077989:-6,7077990:-14,7077991:-6,7077992:-8,7077993:-8,7077995:-8,7077996:-10,7077999:-6,7078001:-6,7078003:-6,7078004:-50,7078005:-10,7078006:-24,7078007:-24,7078008:-26,7078009:-24,7078010:-8,7143466:-20,7143479:-40,7143487:-20,7143490:-6,7143492:-6,7143493:-6,7143494:-6,7143496:-6,7143497:-6,7143501:-6,7143502:-6,7143504:-6,7143506:-6,7143508:-40,7143510:-20,7143511:-20,7143512:-10,7143513:-40,7143516:-20,7143521:-10,7143522:-6,7143523:-12,7143524:-12,7143525:-12,7143526:-34,7143527:-12,7143528:-6,7143529:-6,7143530:-30,7143531:-6,7143532:-15,7143533:-20,7143534:-20,7143535:-12,7143536:-20,7143537:-12,7143538:-20,7143539:-12,7143540:-40,7143541:-15,7143542:-34,7143543:-34,7143544:-50,7143545:-34,7143546:-20,7209002:-20,7209015:-40,7209023:-20,7209026:-6,7209028:-6,7209029:-6,7209030:-6,7209032:-6,7209033:-6,7209037:-6,7209038:-6,7209040:-6,7209042:-6,7209044:-40,7209046:-20,7209047:-20,7209048:-10,7209049:-40,7209052:-20,7209057:-10,7209058:-6,7209059:-12,7209060:-12,7209061:-12,7209062:-34,7209063:-12,7209064:-6,7209065:-6,7209066:-30,7209067:-6,7209068:-15,7209069:-20,7209070:-20,7209071:-12,7209072:-20,7209073:-12,7209074:-20,7209075:-12,7209076:-40,7209077:-15,7209078:-34,7209079:-34,7209080:-50,7209081:-34,7209082:-20,7274530:-10,7274535:-10,7274538:-20,7274543:-10,7274551:-70,7274559:-40,7274561:-10,7274562:-10,7274564:-10,7274565:-10,7274566:-10,7274568:-10,7274569:-10,7274573:-10,7274574:-10,7274576:-10,7274578:-10,7274580:-70,7274582:-50,7274583:-50,7274584:-20,7274585:-50,7274588:-50,7274594:-10,7274595:-10,7274596:-10,7274597:-10,7274598:-30,7274599:-10,7274600:-10,7274601:-10,7274602:-10,7274603:-10,7274604:-5,7274605:-10,7274606:-10,7274607:-10,7274608:-10,7274609:-10,7274610:-10,7274611:-10,7274612:-30,7274613:-10,7274614:-25,7274615:-25,7274616:-50,7274617:-25,7274618:-24,7340066:-10,7340071:-10,7340074:-20,7340079:-10,7340087:-70,7340095:-40,7340097:-10,7340098:-10,7340100:-10,7340101:-10,7340102:-10,7340104:-10,7340105:-10,7340109:-10,7340110:-10,7340112:-10,7340114:-10,7340116:-70,7340118:-50,7340119:-50,7340120:-20,7340121:-50,7340124:-50,7340130:-10,7340131:-10,7340132:-10,7340133:-10,7340134:-30,7340135:-10,7340136:-10,7340137:-10,7340138:-10,7340139:-10,7340140:-5,7340141:-10,7340142:-10,7340143:-10,7340144:-10,7340145:-10,7340146:-10,7340147:-10,7340148:-30,7340149:-10,7340150:-25,7340151:-25,7340152:-50,7340153:-25,7340154:-24,7405623:-60,7405631:-20,7405634:-15,7405636:-15,7405637:-15,7405638:-15,7405640:-15,7405641:-15,7405645:-15,7405646:-15,7405648:-15,7405650:-15,7405652:-60,7405654:-20,7405655:-20,7405657:-20,7405660:-20,7405666:-15,7405667:-10,7405668:-10,7405669:-10,7405670:-23,7405671:-10,7405672:-15,7405673:-15,7405675:-15,7405679:-10,7405681:-10,7405683:-10,7405684:-28,7405686:-20,7405687:-20,7405688:-15,7405689:-20,7405690:-10,7471148:-60,7471149:-40,7471150:-60,7471151:-30,7471159:-40,7471162:-50,7471163:-50,7471169:-30,7471170:-30,7471172:-30,7471173:-30,7471174:-30,7471176:-30,7471177:-30,7471181:-30,7471182:-30,7471184:-30,7471186:-30,7471188:-40,7471201:-40,7471202:-30,7471203:-40,7471204:-40,7471205:-40,7471206:-60,7471207:-40,7471208:-30,7471209:-30,7471210:-40,7471211:-30,7471212:-30,7471213:-40,7471214:-40,7471215:-40,7471216:-40,7471217:-40,7471218:-40,7471219:-40,7471220:-50,7471221:-20,7471222:-25,7471223:-25,7471224:-70,7471225:-25,7471226:-30,7536674:-10,7536679:-10,7536682:-20,7536687:-10,7536695:-70,7536703:-40,7536705:-10,7536706:-10,7536708:-10,7536709:-10,7536710:-10,7536712:-10,7536713:-10,7536717:-10,7536718:-10,7536720:-10,7536722:-10,7536724:-70,7536726:-50,7536727:-50,7536728:-20,7536729:-50,7536732:-50,7536738:-10,7536739:-10,7536740:-10,7536741:-10,7536742:-30,7536743:-10,7536744:-10,7536745:-10,7536746:-10,7536747:-10,7536748:-5,7536749:-10,7536750:-10,7536751:-10,7536752:-10,7536753:-10,7536754:-10,7536755:-10,7536756:-30,7536757:-10,7536758:-25,7536759:-25,7536760:-50,7536761:-25,7536762:-24,7602220:25,7602221:-30,7602222:25,7602223:10,7602241:10,7602242:-16,7602244:-16,7602245:-16,7602246:-16,7602248:-16,7602249:-16,7602253:-16,7602254:-16,7602256:-16,7602258:-16,7602262:-10,7602263:-10,7602266:30,7602268:-10,7602273:-10,7602274:-16,7602275:-16,7602276:-16,7602277:-16,7602278:-34,7602279:-16,7602280:-16,7602281:-16,7602282:-10,7602283:-16,7602285:5,7602286:5,7602287:-16,7602288:5,7602289:-16,7602290:5,7602291:-16,7602292:-91,7602293:-6,7602294:-10,7602295:-10,7602296:-30,7602297:-10,7667767:-60,7667775:-20,7667778:-15,7667780:-15,7667781:-15,7667782:-15,7667784:-15,7667785:-15,7667789:-15,7667790:-15,7667792:-15,7667794:-15,7667796:-60,7667798:-20,7667799:-20,7667801:-20,7667804:-20,7667810:-15,7667811:-10,7667812:-10,7667813:-10,7667814:-23,7667815:-10,7667816:-15,7667817:-15,7667819:-15,7667823:-10,7667825:-10,7667827:-10,7667828:-28,7667830:-20,7667831:-20,7667832:-15,7667833:-20,7667834:-10,7733292:-60,7733293:-10,7733294:-60,7733295:-50,7733303:-40,7733306:-20,7733307:-20,7733313:-50,7733314:-10,7733315:-15,7733316:-10,7733317:-10,7733318:-10,7733319:-15,7733320:-10,7733321:-10,7733322:-40,7733325:-10,7733326:-10,7733327:-15,7733328:-10,7733329:-15,7733330:-10,7733331:-15,7733332:-40,7733345:-22,7733346:-10,7733347:-26,7733348:-26,7733349:-26,7733350:-10,7733351:-26,7733352:-10,7733353:-10,7733354:-15,7733355:-10,7733356:-10,7733357:-24,7733358:-24,7733359:-26,7733360:-24,7733361:-26,7733362:-24,7733363:-26,7733364:-24,7733365:-20,7733368:-48,7733370:-22,7798828:-60,7798829:-10,7798830:-60,7798831:-50,7798839:-40,7798842:-20,7798843:-20,7798849:-50,7798850:-10,7798851:-15,7798852:-10,7798853:-10,7798854:-10,7798855:-15,7798856:-10,7798857:-10,7798858:-40,7798861:-10,7798862:-10,7798863:-15,7798864:-10,7798865:-15,7798866:-10,7798867:-15,7798868:-40,7798881:-22,7798882:-10,7798883:-26,7798884:-26,7798885:-26,7798886:-10,7798887:-26,7798888:-10,7798889:-10,7798890:-15,7798891:-10,7798892:-10,7798893:-24,7798894:-24,7798895:-26,7798896:-24,7798897:-26,7798898:-24,7798899:-26,7798900:-24,7798901:-20,7798904:-48,7798906:-22,7864353:-20,7864362:-20,7864364:-20,7864365:-70,7864366:-20,7864375:-20,7864378:-40,7864379:-40,7864383:-30,7864386:-50,7864387:-10,7864388:-50,7864389:-50,7864390:-50,7864391:-10,7864392:-50,7864393:-50,7864397:-50,7864398:-50,7864399:-10,7864400:-50,7864401:-10,7864402:-50,7864403:-10,7864404:-20,7864417:-44,7864418:-50,7864419:-50,7864420:-50,7864421:-50,7864422:-60,7864423:-50,7864424:-50,7864425:-50,7864426:-26,7864427:-50,7864428:-35,7864429:-42,7864430:-42,7864431:-50,7864432:-42,7864433:-50,7864434:-42,7864435:-50,7864436:-53,7864437:-20,7864438:-70,7864439:-70,7864440:-40,7864441:-70,7864442:-30,7929900:-60,7929901:-10,7929902:-60,7929903:-50,7929911:-40,7929914:-20,7929915:-20,7929921:-50,7929922:-10,7929923:-15,7929924:-10,7929925:-10,7929926:-10,7929927:-15,7929928:-10,7929929:-10,7929930:-40,7929933:-10,7929934:-10,7929935:-15,7929936:-10,7929937:-15,7929938:-10,7929939:-15,7929940:-40,7929953:-22,7929954:-10,7929955:-26,7929956:-26,7929957:-26,7929958:-10,7929959:-26,7929960:-10,7929961:-10,7929962:-15,7929963:-10,7929964:-10,7929965:-24,7929966:-24,7929967:-26,7929968:-24,7929969:-26,7929970:-24,7929971:-26,7929972:-24,7929973:-20,7929976:-48,7929978:-22,7995450:-20,7995451:-20,7995455:-10,7995458:-10,7995460:-10,7995461:-10,7995462:-10,7995464:-10,7995465:-10,7995469:-10,7995470:-10,7995472:-10,7995474:-10,7995478:-30,7995479:-30,7995480:-10,7995484:-30,7995489:-15,7995490:-10,7995491:-30,7995492:-30,7995493:-30,7995494:-20,7995495:-30,7995496:-10,7995497:-10,7995498:-20,7995499:-10,7995500:-25,7995501:-20,7995502:-20,7995503:-30,7995504:-20,7995505:-30,7995506:-20,7995507:-30,7995508:-30,7995509:-20,7995510:-26,7995511:-26,7995512:-50,7995513:-26,7995514:-16,8060983:10,8061012:10,8257591:-20,8257620:-20,8257625:-20}, - sans500: {2228271:-50.02,2228276:-30.02,2228279:9.98,2228289:-50.02,2228308:9.98,2228323:-10,2228324:-10.02,2228325:-10.02,2228327:-10,2228335:-10.02,2228337:-10.02,2228339:-10.02,2490423:-58.22,2490452:-58.2,2490454:-41.22,2490455:-41.2,2490460:-41.2,2555951:-50.02,2555956:-30.02,2555959:9.98,2555969:-50,2555988:9.98,2556003:-10,2556004:-10.02,2556005:-10.02,2556007:-10,2556015:-10.02,2556017:-10.02,2556019:-10,2621490:-8,2621491:-6,2621492:-35,2621496:-8.41,2621507:-15,2621511:-15,2621519:-15,2621521:-15.02,2621523:-15,2752556:-40,2752558:-40,2752559:-72.02,2752567:12,2752577:-72,2752596:12,2818103:-20.02,2818132:-20.02,2818137:-20.02,2883626:-40,2883633:-76.02,2883639:-60.02,2883651:-20.02,2883655:-20.02,2883658:-6.02,2883663:-20,2883665:-20.02,2883667:-20.02,2883668:-60.02,2883670:-77.22,2883671:-77.2,2883676:-77.2,2883686:-34.02,2883690:9.98,2883692:-10,2883702:-42,2883703:-42.02,2883705:-42.02,2949169:-20,2949172:9.98,2949175:-40.02,2949182:235.58,2949204:-40.02,2949222:-10.02,2949238:-10,2949239:-10.02,2949240:-50,2949241:-10,3014698:-40,3014705:-76.02,3014711:-60.02,3014723:-20.02,3014727:-20.02,3014730:-6.02,3014735:-20,3014737:-20.02,3014739:-20.02,3014740:-60.02,3014742:-77.22,3014743:-77.2,3014748:-77.2,3014758:-34.02,3014762:9.98,3014764:-10,3014774:-42,3014775:-42.02,3014777:-42.02,3080225:-32.02,3080230:-20.61,3080236:-77.22,3080238:-77.22,3080239:-108.83,3080240:-20.02,3080241:-20.02,3080242:-40.02,3080243:-40.02,3080244:-76.02,3080245:-10.02,3080246:-20.02,3080248:-20.02,3080249:-20.02,3080250:-32.02,3080251:-32.02,3080255:-32.02,3080257:-108.81,3080258:-23.61,3080259:-36.02,3080260:-23.61,3080261:-23.61,3080262:-23.62,3080263:-36.02,3080264:-23.62,3080265:-23.62,3080266:-80.02,3080267:-15.02,3080268:-15.02,3080269:-23.61,3080270:-23.61,3080271:-36.02,3080272:-23.61,3080273:-36.02,3080274:-23.61,3080275:-36.02,3080278:-10.02,3080279:-10.02,3080280:-10.02,3080282:-12.02,3080284:-10.02,3080289:-49.61,3080290:-23.62,3080291:-44.02,3080292:-44.02,3080293:-44.02,3080294:-50.02,3080295:-44.02,3080296:-23.62,3080297:-23.61,3080298:-48.02,3080299:-23.62,3080300:-28.02,3080301:-34.02,3080302:-34.02,3080303:-44.02,3080304:-34.02,3080305:-44.02,3080306:-34.02,3080307:-44.02,3080308:-40.02,3080309:-52.02,3080310:-42.02,3080311:-42.02,3080312:-64.02,3080313:-42.02,3080314:-38.02,3145776:9.98,3145777:-10.02,3145780:-7.22,3145782:9.98,3145783:-40.02,3145812:-40.02,3211309:-10,3211311:-20.02,3211312:-12.02,3211313:-40.02,3211314:-10,3211316:-20.02,3211318:-12,3211319:-22.02,3211320:-20.02,3211329:-20.02,3211331:-12,3211335:-12.02,3211339:-14.2,3211340:-14.22,3211343:-12,3211345:-12.02,3211347:-12.02,3211348:-22.02,3211361:-5,3211363:-18.61,3211364:-18.61,3211365:-18.61,3211367:-18.61,3211375:-18.61,3211377:-18.61,3211379:-18.61,3211381:-8.02,3276845:-30,3276847:-10.02,3276849:-9.61,3276851:-21,3276852:-36.02,3276855:-28.02,3276865:-10,3276867:-11.2,3276871:-11.2,3276879:-11.2,3276881:-11.22,3276883:-11.2,3276884:-28.02,3342377:-6,3342383:-32.81,3342391:-20,3342401:-32.8,3342420:-20,3407906:-10.02,3407909:-20.02,3407911:-10.02,3407917:-10.02,3407920:-10.02,3407921:-20.02,3407923:-20,3407926:-10,3407927:-30.02,3407930:-20.02,3407931:-20.02,3407956:-30.02,3473449:-11.02,3473455:-20.02,3473456:-20.02,3473458:-10.02,3473462:-20.02,3473463:-50.02,3473473:-20.02,3473492:-50.02,3538991:-22.02,3538993:-20,3538994:-10.8,3538999:-38,3539009:-22,3539028:-38,3604517:11.98,3604524:-96.02,3604525:-36.02,3604526:-96.02,3604527:-56.02,3604529:9.98,3604530:-10.02,3604532:-54.02,3604535:19.98,3604536:-9.22,3604538:-20.02,3604539:-20.02,3604545:-56.02,3604547:-10.02,3604551:-10.02,3604559:-10,3604561:-10.02,3604563:-10.02,3604564:19.98,3604573:30,3604605:30,3670057:-8.41,3670065:-18.02,3670071:-20.02,3670100:-20.02,3735600:9.98,3735601:-10.02,3735604:-7.22,3735606:10,3735607:-40.02,3735636:-40.02,3801135:-20.02,3801140:-20.02,3801143:-58.02,3801153:-20.02,3801155:-10,3801159:-10.02,3801167:-10,3801169:-10.02,3801171:-10.02,3801172:-58.02,3801174:-32.02,3801175:-32,3801176:-20,3801180:-32,3801190:-28.02,3801204:-28.02,3801206:-20,3801207:-20.02,3801208:-42.02,3801209:-20,3801210:-20,3866671:-20.02,3866676:-20.02,3866679:-58.02,3866689:-20.02,3866691:-10,3866695:-10.02,3866703:-10,3866705:-10.02,3866707:-10.02,3866708:-58.02,3866710:-32.02,3866711:-32,3866712:-20,3866716:-32,3866726:-28.02,3866740:-28.02,3866742:-20,3866743:-20.02,3866744:-42.02,3866745:-20,3866746:-20,3932205:235.58,3932215:-20.02,3932244:-20.02,3932249:-20.02,3997751:-20.02,3997780:-20.02,3997785:-20.02,4063287:-20.02,4063316:-20.02,4063321:-20.02,4259873:-10.02,4259874:-50.02,4259879:-50,4259882:-72,4259891:-34.41,4259895:-93.22,4259898:-20.02,4259899:-20.02,4259903:-52.02,4259906:-22.02,4259907:-34,4259908:-22,4259909:-22,4259910:-22.02,4259911:-34.02,4259912:-22.02,4259913:-22.02,4259914:-30.02,4259915:-15.8,4259916:-15.81,4259917:-22.02,4259918:-22,4259919:-34,4259920:-22,4259921:-34.02,4259922:-22,4259923:-34.02,4259924:-93.22,4259925:-18.81,4259926:-108.81,4259927:-108.8,4259929:-74,4259930:-10.02,4259932:-108.8,4259938:-22.02,4259939:-20.41,4259940:-20.42,4259941:-20.41,4259942:-42.02,4259943:-20.41,4259944:-22.02,4259945:-22,4259947:-22.02,4259948:-22,4259949:-20.02,4259950:-20.02,4259951:-20.42,4259952:-20.02,4259953:-20.42,4259954:-20,4259955:-20.41,4259956:-64.02,4259957:-20.81,4259958:-62,4259959:-62.02,4259960:-30.02,4259961:-62,4259962:-12,4325423:-22.42,4325431:-38.02,4325434:-20.02,4325435:-20.02,4325439:-28.02,4325441:-22.41,4325442:-8.02,4325443:-10,4325444:-8,4325445:-16.2,4325446:-8.02,4325447:-10.02,4325448:-8.02,4325449:-8.02,4325453:-8.02,4325454:-8,4325455:-10,4325456:-8,4325457:-10.02,4325458:-8,4325459:-10.02,4325460:-38.02,4325462:-34.02,4325463:-34,4325465:-44,4325468:-34,4325473:-8.41,4325474:-8.02,4325478:-20.02,4325480:-8.02,4325481:-8,4325482:-14.02,4325483:-8.02,4325484:-12.8,4325485:-10.02,4325486:-10.02,4325488:-10.02,4325490:-10,4325492:-20.02,4325493:-11.61,4325494:-34,4325495:-34.02,4325496:-43.61,4325497:-34,4325498:-22,4390959:-26.41,4390967:-15.02,4390977:-26.41,4390987:-8.59,4390988:-8.61,4390996:-15.02,4390998:-22.02,4390999:-22,4391000:-20,4391001:-22,4391004:-22,4391009:-5.61,4391011:-8.41,4391012:-8.41,4391013:-8.41,4391014:-20.02,4391015:-8.41,4391020:-10.8,4391021:-8.41,4391022:-8.41,4391023:-8.41,4391024:-8.41,4391025:-8.41,4391026:-8.41,4391027:-8.41,4391028:-10,4391029:-12.02,4391030:-12,4391031:-12.02,4391032:-32,4391033:-12,4391034:-10,4456489:-19,4456490:-10,4456492:-20,4456494:-20,4456495:-36.02,4456498:-11,4456503:-40,4456506:-10,4456507:-10,4456511:-20,4456513:-36,4456514:10.39,4456516:10.41,4456517:10.41,4456518:10.39,4456520:10.39,4456521:10.39,4456522:-10.81,4456523:-11.39,4456524:-11.41,4456525:10.39,4456526:10.41,4456528:10.41,4456530:10.41,4456532:-40,4456534:-36.41,4456535:-36.39,4456536:-32,4456537:-42,4456538:-10,4456540:-36.39,4456545:7.59,4456546:10.39,4456547:11.61,4456548:11.59,4456549:11.59,4456550:-10,4456551:11.61,4456552:10.39,4456553:10.41,4456554:-20,4456555:10.39,4456559:11.59,4456561:11.59,4456563:11.59,4456564:-23.2,4456566:-16.8,4456567:-16.81,4456568:-24,4456569:-16.8,4522042:-10,4522043:-10,4522047:-20,4522050:-7.61,4522052:-7.59,4522053:-7.59,4522054:-7.61,4522056:-7.61,4522057:-7.61,4522061:-7.61,4522062:-8.59,4522064:-7.59,4522066:-7.59,4522070:12.8,4522071:12.8,4522073:-20,4522076:12.8,4522081:-9.59,4522082:-7.61,4522083:-18.39,4522084:-18.41,4522085:-18.41,4522086:-32,4522087:-18.39,4522088:-7.61,4522089:-7.59,4522090:-12,4522091:-7.61,4522095:-18.41,4522097:-18.41,4522099:-18.41,4522100:-38,4522102:-22,4522103:-22.02,4522104:-30,4522105:-22,4587564:-80.02,4587566:-80.02,4587567:-81.62,4587578:-30.02,4587579:-30.02,4587583:-18.02,4587585:-81.61,4587586:-18.02,4587588:-18,4587589:-18,4587590:-18.02,4587592:-18.02,4587593:-18.02,4587594:-60.02,4587595:-28,4587596:-28.02,4587597:-18.02,4587598:-18.02,4587600:-18,4587602:-18.02,4587608:-20,4587609:-18.02,4587610:-18.02,4587617:-22.02,4587618:-18.02,4587619:-28,4587620:-28.02,4587621:-28.02,4587622:-10.02,4587623:-28,4587624:-18.02,4587625:-18.02,4587626:-32.02,4587627:-18.02,4587628:-20,4587629:-28.02,4587630:-28.02,4587631:-28.02,4587632:-28.02,4587633:-28.02,4587634:-28,4587635:-28.02,4587636:-36.02,4587637:-30.02,4587638:-40,4587639:-40.02,4587640:-48.02,4587641:-40.02,4587642:-30,4653111:-20.02,4653140:-20.02,4653142:-32.02,4653143:-32,4653144:-12,4653145:-20.02,4653148:-32,4653153:9.98,4653155:10,4653156:9.98,4653157:9.98,4653158:-14.02,4653159:10,4653167:9.98,4653169:9.98,4653171:9.98,4653172:-12.02,4653174:-7.2,4653175:-7.22,4653176:-16.02,4653177:-7.2,4718639:-10.02,4718647:-36.02,4718655:-10.02,4718657:-10.02,4718658:-18.02,4718659:-14.81,4718660:-18,4718661:-18,4718662:-18.02,4718663:-14.81,4718664:-18.02,4718665:-18.02,4718666:-18.02,4718669:-18.02,4718670:-18.02,4718671:-14.81,4718672:-18,4718673:-14.81,4718674:-18.02,4718675:-14.81,4718676:-36.02,4718677:14.98,4718678:-22.02,4718679:-22,4718680:-10,4718681:-20.02,4718684:-22,4718689:-10.02,4718690:-18.02,4718691:-10,4718692:-10.02,4718693:-10.02,4718694:-43.61,4718695:-10,4718696:-18.02,4718697:-18.02,4718698:-16.02,4718699:-18.02,4718700:-8.41,4718701:5.98,4718702:5.98,4718703:-10.02,4718704:5.98,4718705:-10.02,4718706:6,4718707:-10.02,4718708:-36.41,4718709:-19.22,4718710:-10,4718711:-10.02,4718712:-50.02,4718713:-10.02,4718714:-10,4784175:-10.02,4784183:-36.02,4784191:-10.02,4784193:-10.02,4784194:-18.02,4784195:-14.81,4784196:-18.02,4784197:-18.02,4784198:-18.02,4784199:-14.81,4784200:-18.02,4784201:-18.02,4784202:-18.02,4784205:-18.02,4784206:-18.02,4784207:-14.81,4784208:-18.02,4784209:-14.83,4784210:-18.02,4784211:-14.81,4784212:-36.02,4784213:14.98,4784214:-22.02,4784215:-22.02,4784216:-10.02,4784217:-20.02,4784220:-22.02,4784225:-10.02,4784226:-18.02,4784227:-10.02,4784228:-10.02,4784229:-10.02,4784230:-43.62,4784231:-10.02,4784232:-18.02,4784233:-18.02,4784234:-16.02,4784235:-18.02,4784236:-8.41,4784237:5.98,4784238:5.98,4784239:-10.02,4784240:5.98,4784241:-10.02,4784242:5.98,4784243:-10.02,4784244:-36.42,4784245:-19.22,4784246:-10.02,4784247:-10.02,4784248:-50.02,4784249:-10.02,4784250:-10.02,4849711:-18.83,4849729:-18.81,4849730:14.98,4849732:14.98,4849733:14.98,4849734:14.98,4849736:14.98,4849737:14.98,4849738:-26.02,4849741:14.98,4849742:14.98,4849744:14.98,4849746:14.98,4849752:-20.02,4849753:-18.02,4849762:14.98,4849763:-6.02,4849764:-6.02,4849765:-6.02,4849766:-19.22,4849767:-6.02,4849768:14.98,4849769:14.98,4849770:-6.81,4849771:14.98,4849775:-6.02,4849777:-6.02,4849779:-6.02,4849780:-18.02,4849782:-20.02,4849783:-20.02,4849784:-30.02,4849785:-20.02,4849786:-20.02,4915242:-12,4915258:-20,4915259:-20,4915263:-22,4915266:-10,4915267:-40,4915268:-10,4915269:-10,4915270:-10,4915271:-40,4915272:-10,4915273:-10.02,4915274:-30.02,4915275:-19.2,4915276:-19.2,4915277:-10,4915278:-10,4915279:-40,4915280:-10,4915281:-40.02,4915282:-10,4915283:-40,4915285:-20,4915286:-10.02,4915287:-10,4915290:-10,4915292:-10,4915297:-16,4915298:-10.02,4915299:-48.8,4915300:-48.81,4915301:-48.81,4915302:-52,4915303:-48.8,4915304:-10.02,4915305:-10,4915306:-9.61,4915307:-10.02,4915309:-18.61,4915310:-18.61,4915311:-48.81,4915312:-18.61,4915313:-48.81,4915314:-18.59,4915315:-48.8,4915316:-50,4915317:-30,4915318:-32,4915319:-32.02,4915320:-32,4915321:-32,4980769:-18.02,4980770:-96.02,4980775:-96.02,4980778:-120.02,4980780:-7.62,4980782:-7.62,4980783:-20.02,4980791:-136.02,4980794:-18.02,4980795:-18.02,4980799:-80.02,4980801:-20.02,4980802:-44.02,4980803:-48.02,4980804:-44.02,4980805:-44.02,4980806:-44.02,4980807:-48.02,4980808:-44.02,4980809:-44.02,4980810:-51.62,4980811:-28.02,4980812:-28.02,4980813:-44.02,4980814:-44.02,4980815:-48.02,4980816:-44.02,4980817:-48.02,4980818:-44.02,4980819:-48.02,4980820:-136.02,4980821:-46.02,4980822:-152.02,4980823:-152.02,4980825:-160.02,4980826:-18.02,4980828:-152.02,4980834:-44.02,4980835:-35.61,4980836:-35.62,4980837:-35.62,4980838:-56.02,4980839:-35.61,4980840:-44.02,4980841:-44.02,4980842:-18.02,4980843:-44.02,4980844:-36.02,4980847:-35.62,4980849:-35.62,4980851:-35.61,4980852:-76.02,4980853:-36.02,4980854:-80.02,4980855:-80.02,4980856:-48.02,4980857:-80.02,4980858:-20.02,5046319:-10.02,5046327:-36.02,5046335:-10.02,5046337:-10.02,5046338:-18.02,5046339:-14.81,5046340:-18,5046341:-18,5046342:-18.02,5046343:-14.81,5046344:-18.02,5046345:-18.02,5046346:-18.02,5046349:-18.02,5046350:-18,5046351:-14.8,5046352:-18,5046353:-14.81,5046354:-18,5046355:-14.81,5046356:-36.02,5046357:14.98,5046358:-22.02,5046359:-22,5046360:-10,5046361:-20,5046364:-22,5046369:-10,5046370:-18.02,5046371:-10,5046372:-10.02,5046373:-10.02,5046374:-43.61,5046375:-10,5046376:-18.02,5046377:-18,5046378:-16.02,5046379:-18.02,5046380:-8.41,5046381:5.98,5046382:5.98,5046383:-10.02,5046384:5.98,5046385:-10.02,5046386:6,5046387:-10.02,5046388:-36.41,5046389:-19.22,5046390:-10,5046391:-10.02,5046392:-50.02,5046393:-10,5046394:-10,5111855:-10.02,5111863:-36.02,5111871:-10.02,5111873:-10,5111874:-18,5111875:-14.8,5111876:-18,5111877:-18,5111878:-18.02,5111879:-14.81,5111880:-18.02,5111881:-18.02,5111882:-18.02,5111885:-18,5111886:-18,5111887:-14.8,5111888:-18,5111889:-14.81,5111890:-18,5111891:-14.81,5111892:-36.02,5111893:14.98,5111894:-22.02,5111895:-22,5111896:-10,5111897:-20,5111900:-22,5111905:-10,5111906:-18.02,5111907:-10,5111908:-10.02,5111909:-10.02,5111910:-43.61,5111911:-10,5111912:-18.02,5111913:-18,5111914:-16.02,5111915:-18.02,5111916:-8.41,5111917:6,5111918:5.98,5111919:-10.02,5111920:5.98,5111921:-10.02,5111922:6,5111923:-10,5111924:-36.41,5111925:-19.2,5111926:-10,5111927:-10.02,5111928:-50,5111929:-10,5111930:-10,5177385:-19,5177386:-10,5177388:-20,5177390:-20,5177391:-36.02,5177394:-11,5177399:-40,5177402:-10,5177403:-10,5177407:-20,5177409:-36,5177410:10.39,5177412:10.41,5177413:10.41,5177414:10.39,5177416:10.39,5177417:10.39,5177418:-10.81,5177419:-11.39,5177420:-11.41,5177421:10.39,5177422:10.41,5177424:10.41,5177426:10.41,5177428:-40,5177430:-36.41,5177431:-36.39,5177432:-32,5177433:-42,5177434:-10,5177436:-36.39,5177441:7.59,5177442:10.39,5177443:11.61,5177444:11.59,5177445:11.59,5177446:-10,5177447:11.61,5177448:10.39,5177449:10.41,5177450:-20,5177451:10.39,5177455:11.59,5177457:11.59,5177459:11.59,5177460:-23.2,5177462:-16.8,5177463:-16.81,5177464:-24,5177465:-16.8,5242913:-10,5242924:-108,5242925:-28,5242926:-108,5242927:-74.41,5242938:-20,5242939:-20,5242943:-18,5242945:-74.41,5242946:-20,5242947:-12,5242948:-20,5242949:-20,5242950:-20,5242951:-12,5242952:-20,5242953:-20.02,5242954:-80.02,5242957:-20,5242958:-20,5242959:-12,5242960:-20,5242961:-12.02,5242962:-20,5242963:-12,5242966:-42.02,5242967:-42,5242968:-40,5242969:-40,5242970:-22,5242972:-42,5242977:-22,5242978:-20.02,5242979:-28,5242980:-28.02,5242981:-28,5242983:-28,5242984:-20.02,5242985:-20,5242987:-20.02,5242989:-8.61,5242990:-8.61,5242991:-28.02,5242992:-8.61,5242993:-28.02,5242994:-8.59,5242995:-28,5242997:-28,5242998:-20,5242999:-20.02,5243000:-40,5243001:-20,5243002:-30,5308457:-19.02,5308458:-10.02,5308460:-20.02,5308462:-20.02,5308463:-36.02,5308466:-11.02,5308471:-40.02,5308474:-10.02,5308475:-10.02,5308479:-20.02,5308481:-36.02,5308482:10.39,5308484:10.39,5308485:10.39,5308486:10.38,5308488:10.38,5308489:10.38,5308490:-10.83,5308491:-11.41,5308492:-11.42,5308493:10.39,5308494:10.39,5308496:10.39,5308498:10.39,5308500:-40.02,5308502:-36.42,5308503:-36.41,5308504:-32.02,5308505:-42.02,5308506:-10.02,5308508:-36.41,5308513:7.59,5308514:10.38,5308515:11.59,5308516:11.58,5308517:11.58,5308518:-10.02,5308519:11.59,5308520:10.38,5308521:10.39,5308522:-20.02,5308523:10.38,5308527:11.58,5308529:11.58,5308531:11.58,5308532:-23.22,5308534:-16.81,5308535:-16.83,5308536:-24.02,5308537:-16.81,5373999:-10.02,5374007:-19.2,5374010:-8.81,5374011:-8.81,5374015:-20.02,5374017:-10,5374019:-15,5374023:-15.02,5374027:-14.2,5374028:-14.22,5374031:-15,5374033:-15.02,5374035:-15.02,5374036:-19.2,5374038:-50.02,5374039:-50,5374041:-22,5374044:-50,5374051:-14,5374052:-14.02,5374053:-14.02,5374054:-28.02,5374055:-14,5374058:-10.81,5374063:-14.02,5374065:-14.02,5374067:-14,5374068:-30,5374069:-10.02,5374070:-22,5374071:-22.02,5374072:-24,5374073:-22,5439529:-19,5439530:-10,5439532:-20.02,5439534:-20.02,5439535:-36.02,5439538:-11.02,5439543:-40.02,5439546:-10.02,5439547:-10.02,5439551:-20.02,5439553:-36.02,5439554:10.39,5439556:10.39,5439557:10.39,5439558:10.39,5439560:10.39,5439561:10.38,5439562:-10.81,5439563:-11.41,5439564:-11.42,5439565:10.39,5439566:10.39,5439568:10.39,5439570:10.39,5439572:-40.02,5439574:-36.42,5439575:-36.41,5439576:-32,5439577:-42.02,5439578:-10.02,5439580:-36.41,5439585:7.59,5439586:10.38,5439587:11.59,5439588:11.58,5439589:11.58,5439590:-10.02,5439591:11.59,5439592:10.38,5439593:10.39,5439594:-20.02,5439595:10.38,5439599:11.58,5439601:11.58,5439603:11.59,5439604:-23.22,5439606:-16.81,5439607:-16.81,5439608:-24.02,5439609:-16.81,5505058:9.98,5505062:-24.81,5505063:9.98,5505066:12,5505068:-96.02,5505069:-38.02,5505070:-96.02,5505071:-93.22,5505076:-28.61,5505079:9.98,5505082:-58.02,5505083:-58.02,5505087:-20.02,5505089:-93.22,5505090:-26.02,5505091:-40.02,5505092:-26,5505093:-26,5505094:-26.02,5505095:-40.02,5505096:-26.02,5505097:-26.02,5505098:-120.02,5505099:-36,5505100:-36.02,5505101:-26.02,5505102:-26.02,5505103:-40,5505104:-26,5505105:-40.02,5505106:-26.02,5505107:-40.02,5505108:9.98,5505110:-10.02,5505111:-10,5505113:8.39,5505116:-10,5505117:20,5505121:-70.02,5505122:-26.02,5505123:-80,5505124:-80.02,5505125:-80.02,5505126:-38.02,5505127:-80,5505128:-26.02,5505129:-26.02,5505130:-44.02,5505131:-26.02,5505132:-18,5505133:-48.02,5505134:-48.02,5505135:-80.02,5505136:-48.02,5505137:-80.02,5505138:-48,5505139:-80.02,5505140:-36.02,5505141:-64.02,5505142:-44,5505143:-44.02,5505144:-56.02,5505145:-44.02,5505146:-48,5570607:-18.81,5570625:-18.81,5570626:14.98,5570628:15,5570629:15,5570630:14.98,5570632:14.98,5570633:14.98,5570634:-26.02,5570637:14.98,5570638:14.98,5570640:15,5570642:14.98,5570648:-20,5570649:-18.02,5570658:14.98,5570659:-6,5570660:-6.02,5570661:-6.02,5570662:-19.22,5570663:-6,5570664:14.98,5570665:14.98,5570666:-6.81,5570667:14.98,5570671:-6.02,5570673:-6.02,5570675:-6.02,5570676:-18.02,5570678:-20,5570679:-20.02,5570680:-30.02,5570681:-20.02,5570682:-20,5636129:-32.02,5636134:-20.61,5636140:-77.22,5636142:-77.22,5636143:-108.83,5636144:-20.02,5636145:-20.02,5636146:-40.02,5636147:-40.02,5636148:-76.02,5636149:-10.02,5636150:-20.02,5636152:-20.02,5636153:-20.02,5636154:-32.02,5636155:-32.02,5636159:-32.02,5636161:-108.81,5636162:-23.61,5636163:-36.02,5636164:-23.61,5636165:-23.61,5636166:-23.62,5636167:-36.02,5636168:-23.62,5636169:-23.62,5636170:-80.02,5636171:-15.02,5636172:-15.02,5636173:-23.61,5636174:-23.61,5636175:-36.02,5636176:-23.61,5636177:-36.02,5636178:-23.61,5636179:-36.02,5636182:-10.02,5636183:-10.02,5636184:-10.02,5636186:-12.02,5636188:-10.02,5636193:-49.61,5636194:-23.62,5636195:-44.02,5636196:-44.02,5636197:-44.02,5636198:-50.02,5636199:-44.02,5636200:-23.62,5636201:-23.61,5636202:-48.02,5636203:-23.62,5636204:-28.02,5636205:-34.02,5636206:-34.02,5636207:-44.02,5636208:-34.02,5636209:-44.02,5636210:-34.02,5636211:-44.02,5636212:-40.02,5636213:-52.02,5636214:-42.02,5636215:-42.02,5636216:-64.02,5636217:-42.02,5636218:-38.02,5701665:-32,5701670:-20.59,5701676:-77.2,5701678:-77.2,5701679:-108.81,5701680:-20.02,5701681:-20,5701682:-40,5701683:-40,5701684:-76,5701685:-10.02,5701686:-20,5701688:-20.02,5701689:-20,5701690:-32,5701691:-32,5701695:-32,5701697:-108.8,5701698:-23.61,5701699:-36,5701700:-23.59,5701701:-23.59,5701702:-23.61,5701703:-36,5701704:-23.61,5701705:-23.61,5701706:-80.02,5701707:-15,5701708:-15.02,5701709:-23.61,5701710:-23.59,5701711:-36,5701712:-23.59,5701713:-36.02,5701714:-23.59,5701715:-36,5701718:-10.02,5701719:-10,5701720:-10,5701722:-12,5701724:-10,5701729:-49.59,5701730:-23.61,5701731:-44,5701732:-44.02,5701733:-44,5701734:-50,5701735:-44,5701736:-23.61,5701737:-23.59,5701738:-48,5701739:-23.61,5701740:-28,5701741:-34,5701742:-34.02,5701743:-44.02,5701744:-34.02,5701745:-44.02,5701746:-34,5701747:-44,5701748:-40,5701749:-52,5701750:-42,5701751:-42.02,5701752:-64,5701753:-42,5701754:-38,5767210:-12,5767226:-20,5767227:-20,5767231:-22,5767234:-10,5767235:-40,5767236:-10,5767237:-10,5767238:-10,5767239:-40,5767240:-10,5767241:-10.02,5767242:-30.02,5767243:-19.2,5767244:-19.2,5767245:-10,5767246:-10,5767247:-40,5767248:-10,5767249:-40.02,5767250:-10,5767251:-40,5767253:-20,5767254:-10.02,5767255:-10,5767258:-10,5767260:-10,5767265:-16,5767266:-10.02,5767267:-48.8,5767268:-48.81,5767269:-48.81,5767270:-52,5767271:-48.8,5767272:-10.02,5767273:-10,5767274:-9.61,5767275:-10.02,5767277:-18.61,5767278:-18.61,5767279:-48.81,5767280:-18.61,5767281:-48.81,5767282:-18.59,5767283:-48.8,5767284:-50,5767285:-30,5767286:-32,5767287:-32.02,5767288:-32,5767289:-32,5832747:-20.02,5832751:-74.02,5832759:8.39,5832764:-20.02,5832765:-20.02,5832766:-20.02,5832769:-74,5832770:-20,5832771:-42,5832772:-20,5832773:-20,5832774:-20.02,5832775:-42.02,5832776:-20.02,5832777:-20.02,5832778:-124.02,5832781:-20,5832782:-20,5832783:-42,5832784:-20,5832785:-42.02,5832786:-20,5832787:-42.02,5832788:8.39,5832789:-18.02,5832793:20,5832794:-10,5832798:-20.02,5832801:-64,5832802:-20.02,5832803:-70,5832804:-70.02,5832805:-70.02,5832806:-54.02,5832807:-70,5832808:-20.02,5832809:-20,5832810:-44.02,5832811:-20.02,5832812:-18,5832813:-60,5832814:-60.02,5832815:-70.02,5832816:-60.02,5832817:-70.02,5832818:-60,5832819:-70,5832820:-60,5832821:-60.02,5832822:-40,5832823:-40.02,5832824:-60,5832825:-40,5832826:-72,5832830:-20,5898285:-18,5898287:-20.02,5898303:-20.02,5898305:-20.02,5898307:-20,5898311:-20.02,5898314:-28.02,5898319:-20,5898321:-20.02,5898323:-20.02,5898326:-12.02,5898327:-12,5898328:-10,5898329:-10,5898332:-12,5898337:-10,5898339:-33.2,5898340:-33.22,5898341:-33.22,5898342:-42.02,5898343:-33.2,5898346:-16.02,5898348:-6.41,5898349:-10.02,5898350:-10.02,5898351:-33.22,5898352:-10.02,5898353:-33.22,5898354:-10,5898355:-33.2,5898356:-30.02,5898357:-18.02,5898358:-32,5898359:-32.02,5898360:-40.02,5898361:-32,5898362:-20,5963831:20,5963860:20,5963882:30,6029345:-10,6029346:-50,6029351:-50,6029354:-72,6029363:-34.39,6029367:-93.2,6029370:-20,6029371:-20,6029375:-52,6029378:-22,6029379:-34,6029380:-22,6029381:-22,6029382:-22,6029383:-34,6029384:-22,6029385:-22.02,6029386:-30.02,6029387:-15.8,6029388:-15.81,6029389:-22,6029390:-22,6029391:-34,6029392:-22,6029393:-34.02,6029394:-22,6029395:-34,6029396:-93.2,6029397:-18.81,6029398:-108.81,6029399:-108.8,6029401:-74,6029402:-10,6029404:-108.8,6029410:-22.02,6029411:-20.39,6029412:-20.41,6029413:-20.41,6029414:-42,6029415:-20.39,6029416:-22.02,6029417:-22,6029419:-22.02,6029420:-22,6029421:-20,6029422:-20.02,6029423:-20.41,6029424:-20.02,6029425:-20.41,6029426:-20,6029427:-20.41,6029428:-64,6029429:-20.81,6029430:-62,6029431:-62.02,6029432:-30,6029433:-62,6029434:-12,6160439:-20.02,6160468:-20.02,6160473:-20.02,6357034:-22,6357036:19.98,6357038:19.98,6357055:-21.41,6357058:-8,6357060:-8,6357061:-8,6357062:-8.02,6357064:-8.02,6357065:-8.02,6357069:-8,6357070:-8,6357072:-8,6357074:-8,6357090:-8.02,6357091:-7.2,6357092:-7.22,6357093:-7.2,6357094:-12.81,6357095:-7.2,6357096:-8.02,6357097:-8,6357099:-8.02,6357100:-10,6357103:-7.22,6357105:-7.22,6357107:-7.2,6357108:-48,6357109:-9.2,6357110:-27.2,6357111:-27.22,6357112:-26.81,6357113:-27.2,6357114:-9.2,6422562:-10.02,6422567:-10.02,6422570:-22.02,6422575:-10.02,6422583:-70.02,6422591:-40.02,6422593:-10.02,6422594:-10.02,6422596:-10.02,6422597:-10.02,6422598:-10.02,6422600:-10.02,6422601:-10.02,6422605:-10.02,6422606:-10.02,6422608:-10.02,6422610:-10.02,6422612:-70.02,6422614:-50.02,6422615:-50.02,6422616:-20.02,6422617:-50.02,6422620:-50.02,6422626:-10.02,6422627:-10.02,6422628:-10.02,6422629:-10.02,6422630:-30.02,6422631:-10.02,6422632:-10.02,6422633:-10.02,6422634:-18.02,6422635:-10.02,6422636:-5.02,6422637:-10.02,6422638:-10.02,6422639:-10.02,6422640:-10.02,6422641:-10.02,6422642:-10.02,6422643:-10.02,6422644:-28.81,6422645:-10.02,6422646:-26.41,6422647:-26.42,6422648:-54.42,6422649:-26.41,6422650:-23.61,6488098:-10,6488103:-10,6488106:-22,6488111:-10.02,6488119:-70,6488127:-40,6488129:-10,6488130:-10,6488132:-10,6488133:-10,6488134:-10,6488136:-10,6488137:-10.02,6488141:-10,6488142:-10,6488144:-10,6488146:-10,6488148:-70,6488150:-50.02,6488151:-50,6488152:-20,6488153:-50,6488156:-50,6488162:-10.02,6488163:-10,6488164:-10.02,6488165:-10,6488166:-30,6488167:-10,6488168:-10.02,6488169:-10,6488170:-18,6488171:-10.02,6488172:-5,6488173:-10,6488174:-10.02,6488175:-10.02,6488176:-10.02,6488177:-10.02,6488178:-10,6488179:-10,6488180:-28.8,6488181:-10,6488182:-26.39,6488183:-26.41,6488184:-54.41,6488185:-26.41,6488186:-23.59,6553647:-10.02,6553655:-36.02,6553663:-10.02,6553665:-10.02,6553666:-18.02,6553667:-14.81,6553668:-18.02,6553669:-18.02,6553670:-18.02,6553671:-14.81,6553672:-18.02,6553673:-18.02,6553674:-18.02,6553677:-18.02,6553678:-18.02,6553679:-14.81,6553680:-18.02,6553681:-14.83,6553682:-18.02,6553683:-14.81,6553684:-36.02,6553685:14.98,6553686:-22.02,6553687:-22.02,6553688:-10.02,6553689:-20.02,6553692:-22.02,6553697:-10.02,6553698:-18.02,6553699:-10.02,6553700:-10.02,6553701:-10.02,6553702:-43.62,6553703:-10.02,6553704:-18.02,6553705:-18.02,6553706:-16.02,6553707:-18.02,6553708:-8.41,6553709:5.98,6553710:5.98,6553711:-10.02,6553712:5.98,6553713:-10.02,6553714:5.98,6553715:-10.02,6553716:-36.42,6553717:-19.22,6553718:-10.02,6553719:-10.02,6553720:-50.02,6553721:-10.02,6553722:-10.02,6619170:-10.02,6619175:-10.02,6619178:-22,6619183:-10.02,6619191:-70.02,6619199:-40.02,6619201:-10.02,6619202:-10.02,6619204:-10,6619205:-10,6619206:-10.02,6619208:-10.02,6619209:-10.02,6619213:-10.02,6619214:-10.02,6619216:-10,6619218:-10.02,6619220:-70.02,6619222:-50.02,6619223:-50,6619224:-20,6619225:-50.02,6619228:-50,6619234:-10.02,6619235:-10,6619236:-10.02,6619237:-10.02,6619238:-30.02,6619239:-10,6619240:-10.02,6619241:-10.02,6619242:-18.02,6619243:-10.02,6619244:-5,6619245:-10.02,6619246:-10.02,6619247:-10.02,6619248:-10.02,6619249:-10.02,6619250:-10,6619251:-10.02,6619252:-28.81,6619253:-10.02,6619254:-26.41,6619255:-26.42,6619256:-54.41,6619257:-26.41,6619258:-23.61,6684714:12,6684716:-60.02,6684717:-28.02,6684718:-60.02,6684719:-40.62,6684730:-26.02,6684731:-26.02,6684737:-40.61,6684738:-35.22,6684740:-35.2,6684741:-35.2,6684742:-35.22,6684744:-35.22,6684745:-35.22,6684749:-35.22,6684750:-35.2,6684752:-35.2,6684754:-35.2,6684765:14,6684769:-30.02,6684770:-35.22,6684771:-42,6684772:-42.02,6684773:-42.02,6684774:-104.23,6684775:-42,6684776:-35.22,6684777:-35.22,6684778:-46.02,6684779:-35.22,6684780:-18.41,6684781:-28.02,6684782:-28.02,6684783:-42.02,6684784:-28.02,6684785:-42.02,6684786:-28,6684787:-42.02,6684788:-36.02,6684790:-38,6684791:-38.02,6684792:-40.02,6684793:-38.02,6684794:-12,6750263:-52,6750271:-20,6750274:-12.8,6750276:-12.8,6750277:-12.8,6750278:-12.81,6750280:-12.81,6750281:-12.81,6750285:-12.8,6750286:-12.8,6750288:-12.8,6750290:-12.8,6750292:-52,6750294:-22.02,6750295:-22,6750297:-20,6750300:-22,6750306:-12.81,6750307:-10,6750308:-10.02,6750309:-10,6750310:-19.61,6750311:-10,6750312:-12.81,6750313:-12.8,6750315:-12.81,6750319:-10.02,6750321:-10.02,6750323:-10,6750324:-25.61,6750326:-20,6750327:-20.02,6750328:-18,6750329:-20,6750330:-10,6815786:-18.02,6815799:-40.02,6815807:-20.02,6815810:-6.02,6815812:-6.02,6815813:-6.02,6815814:-6.02,6815816:-6.02,6815817:-6.02,6815821:-6.02,6815822:-6.02,6815824:-6.02,6815826:-6.02,6815828:-40.02,6815830:-20.02,6815831:-20.02,6815832:-10.02,6815833:-40.02,6815836:-20.02,6815841:-11.02,6815842:-6.02,6815843:-12.41,6815844:-12.42,6815845:-12.42,6815846:-30.81,6815847:-12.41,6815848:-6.02,6815849:-6.02,6815850:-32.02,6815851:-6.02,6815852:-12.81,6815853:-18.02,6815854:-18.02,6815855:-12.42,6815856:-18.02,6815857:-12.42,6815858:-18.02,6815859:-12.42,6815860:-38.42,6815861:-14.22,6815862:-33.2,6815863:-33.22,6815864:-50.02,6815865:-33.22,6815866:-20.02,6881327:-10.02,6881335:-36.02,6881343:-10.02,6881345:-10,6881346:-18,6881347:-14.8,6881348:-18,6881349:-18,6881350:-18.02,6881351:-14.81,6881352:-18.02,6881353:-18.02,6881354:-18.02,6881357:-18,6881358:-18,6881359:-14.8,6881360:-18,6881361:-14.81,6881362:-18,6881363:-14.81,6881364:-36.02,6881365:14.98,6881366:-22.02,6881367:-22,6881368:-10,6881369:-20,6881372:-22,6881377:-10,6881378:-18.02,6881379:-10,6881380:-10.02,6881381:-10.02,6881382:-43.61,6881383:-10,6881384:-18.02,6881385:-18,6881386:-16.02,6881387:-18.02,6881388:-8.41,6881389:6,6881390:5.98,6881391:-10.02,6881392:5.98,6881393:-10.02,6881394:6,6881395:-10,6881396:-36.41,6881397:-19.2,6881398:-10,6881399:-10.02,6881400:-50,6881401:-10,6881402:-10,6946863:-10.02,6946871:-36.02,6946879:-10.02,6946881:-10.02,6946882:-18.02,6946883:-14.81,6946884:-18,6946885:-18,6946886:-18.02,6946887:-14.81,6946888:-18.02,6946889:-18.02,6946890:-18.02,6946893:-18.02,6946894:-18.02,6946895:-14.81,6946896:-18,6946897:-14.81,6946898:-18.02,6946899:-14.81,6946900:-36.02,6946901:14.98,6946902:-22.02,6946903:-22,6946904:-10,6946905:-20.02,6946908:-22,6946913:-10.02,6946914:-18.02,6946915:-10,6946916:-10.02,6946917:-10.02,6946918:-43.61,6946919:-10,6946920:-18.02,6946921:-18.02,6946922:-16.02,6946923:-18.02,6946924:-8.41,6946925:5.98,6946926:5.98,6946927:-10.02,6946928:5.98,6946929:-10.02,6946930:6,6946931:-10.02,6946932:-36.41,6946933:-19.22,6946934:-10,6946935:-10.02,6946936:-50.02,6946937:-10.02,6946938:-10,7012385:-20.02,7012394:-18.02,7012396:-20.02,7012397:-66.02,7012398:-20.02,7012407:-20.02,7012410:-42.02,7012411:-42.02,7012415:-30.02,7012418:-50.02,7012419:-10.02,7012420:-50.02,7012421:-50.02,7012422:-50.02,7012423:-10.02,7012424:-50.02,7012425:-50.02,7012429:-50.02,7012430:-50.02,7012431:-10.02,7012432:-50.02,7012433:-10.02,7012434:-50.02,7012435:-10.02,7012436:-20.02,7012449:-48.02,7012450:-50.02,7012451:-57.2,7012452:-57.22,7012453:-57.22,7012454:-58.02,7012455:-57.2,7012456:-50.02,7012457:-50.02,7012458:-28.81,7012459:-50.02,7012460:-40.02,7012461:-42.02,7012462:-42.02,7012463:-57.22,7012464:-42.02,7012465:-57.22,7012466:-42.02,7012467:-57.22,7012468:-51.22,7012469:-20.02,7012470:-70.02,7012471:-70.02,7012472:-42.02,7012473:-70.02,7012474:-32.02,7077930:-22,7077932:20,7077934:20,7077951:-21.41,7077954:-8,7077956:-8,7077957:-8,7077958:-8,7077960:-8,7077961:-8.02,7077965:-8,7077966:-8,7077968:-8,7077970:-8,7077986:-8.02,7077987:-7.2,7077988:-7.2,7077989:-7.2,7077990:-12.81,7077991:-7.2,7077992:-8.02,7077993:-8,7077995:-8.02,7077996:-10,7077999:-7.2,7078001:-7.2,7078003:-7.2,7078004:-48,7078005:-9.2,7078006:-27.2,7078007:-27.2,7078008:-26.8,7078009:-27.2,7078010:-9.2,7143466:-18,7143479:-40.02,7143487:-20.02,7143490:-6.02,7143492:-6,7143493:-6,7143494:-6.02,7143496:-6.02,7143497:-6.02,7143501:-6.02,7143502:-6,7143504:-6,7143506:-6,7143508:-40.02,7143510:-20.02,7143511:-20,7143512:-10,7143513:-40,7143516:-20,7143521:-11,7143522:-6.02,7143523:-12.41,7143524:-12.42,7143525:-12.41,7143526:-30.81,7143527:-12.41,7143528:-6.02,7143529:-6,7143530:-32.02,7143531:-6.02,7143532:-12.8,7143533:-18.02,7143534:-18.02,7143535:-12.42,7143536:-18.02,7143537:-12.42,7143538:-18,7143539:-12.41,7143540:-38.41,7143541:-14.22,7143542:-33.2,7143543:-33.22,7143544:-50.02,7143545:-33.2,7143546:-20,7209002:-18.02,7209015:-40.02,7209023:-20.02,7209026:-6.02,7209028:-6.02,7209029:-6.02,7209030:-6.02,7209032:-6.02,7209033:-6.02,7209037:-6.02,7209038:-6.02,7209040:-6.02,7209042:-6.02,7209044:-40.02,7209046:-20.02,7209047:-20.02,7209048:-10.02,7209049:-40.02,7209052:-20.02,7209057:-11.02,7209058:-6.02,7209059:-12.41,7209060:-12.42,7209061:-12.42,7209062:-30.81,7209063:-12.41,7209064:-6.02,7209065:-6.02,7209066:-32.02,7209067:-6.02,7209068:-12.81,7209069:-18.02,7209070:-18.02,7209071:-12.42,7209072:-18.02,7209073:-12.42,7209074:-18.02,7209075:-12.42,7209076:-38.42,7209077:-14.22,7209078:-33.2,7209079:-33.22,7209080:-50.02,7209081:-33.22,7209082:-20.02,7274530:-10.02,7274535:-10.02,7274538:-22.02,7274543:-10.02,7274551:-70.02,7274559:-40.02,7274561:-10.02,7274562:-10.02,7274564:-10.02,7274565:-10.02,7274566:-10.02,7274568:-10.02,7274569:-10.02,7274573:-10.02,7274574:-10.02,7274576:-10.02,7274578:-10.02,7274580:-70.02,7274582:-50.02,7274583:-50.02,7274584:-20.02,7274585:-50.02,7274588:-50.02,7274594:-10.02,7274595:-10.02,7274596:-10.02,7274597:-10.02,7274598:-30.02,7274599:-10.02,7274600:-10.02,7274601:-10.02,7274602:-18.02,7274603:-10.02,7274604:-5.02,7274605:-10.02,7274606:-10.02,7274607:-10.02,7274608:-10.02,7274609:-10.02,7274610:-10.02,7274611:-10.02,7274612:-28.81,7274613:-10.02,7274614:-26.41,7274615:-26.42,7274616:-54.42,7274617:-26.41,7274618:-23.61,7340066:-10.02,7340071:-10.02,7340074:-22.02,7340079:-10.02,7340087:-70.02,7340095:-40.02,7340097:-10.02,7340098:-10.02,7340100:-10.02,7340101:-10.02,7340102:-10.02,7340104:-10.02,7340105:-10.02,7340109:-10.02,7340110:-10.02,7340112:-10.02,7340114:-10.02,7340116:-70.02,7340118:-50.02,7340119:-50.02,7340120:-20.02,7340121:-50.02,7340124:-50.02,7340130:-10.02,7340131:-10.02,7340132:-10.02,7340133:-10.02,7340134:-30.02,7340135:-10.02,7340136:-10.02,7340137:-10.02,7340138:-18.02,7340139:-10.02,7340140:-5.02,7340141:-10.02,7340142:-10.02,7340143:-10.02,7340144:-10.02,7340145:-10.02,7340146:-10.02,7340147:-10.02,7340148:-28.81,7340149:-10.02,7340150:-26.41,7340151:-26.42,7340152:-54.42,7340153:-26.41,7340154:-23.61,7405623:-52.02,7405631:-20.02,7405634:-12.81,7405636:-12.81,7405637:-12.81,7405638:-12.81,7405640:-12.81,7405641:-12.83,7405645:-12.81,7405646:-12.81,7405648:-12.81,7405650:-12.81,7405652:-52.02,7405654:-22.02,7405655:-22.02,7405657:-20.02,7405660:-22.02,7405666:-12.83,7405667:-10.02,7405668:-10.02,7405669:-10.02,7405670:-19.62,7405671:-10.02,7405672:-12.83,7405673:-12.81,7405675:-12.83,7405679:-10.02,7405681:-10.02,7405683:-10.02,7405684:-25.61,7405686:-20.02,7405687:-20.02,7405688:-18.02,7405689:-20.02,7405690:-10.02,7471148:-58,7471149:-36,7471150:-58,7471151:-30.02,7471159:-36,7471162:-46,7471163:-46,7471169:-30,7471170:-28,7471172:-28,7471173:-28,7471174:-28,7471176:-28,7471177:-28.02,7471181:-28,7471182:-28,7471184:-28,7471186:-28,7471188:-36,7471201:-38,7471202:-28.02,7471203:-40,7471204:-40.02,7471205:-40,7471206:-54,7471207:-40,7471208:-28.02,7471209:-28,7471210:-48,7471211:-28.02,7471212:-28,7471213:-36,7471214:-36.02,7471215:-40.02,7471216:-36.02,7471217:-40.02,7471218:-36,7471219:-40,7471220:-44,7471221:-18,7471222:-24,7471223:-24.02,7471224:-68,7471225:-24,7471226:-30,7536674:-10.02,7536679:-10,7536682:-22,7536687:-10.02,7536695:-70.02,7536703:-40.02,7536705:-10.02,7536706:-10.02,7536708:-10,7536709:-10,7536710:-10.02,7536712:-10.02,7536713:-10.02,7536717:-10.02,7536718:-10,7536720:-10,7536722:-10,7536724:-70.02,7536726:-50.02,7536727:-50,7536728:-20,7536729:-50,7536732:-50,7536738:-10.02,7536739:-10,7536740:-10.02,7536741:-10.02,7536742:-30.02,7536743:-10,7536744:-10.02,7536745:-10,7536746:-18.02,7536747:-10.02,7536748:-5,7536749:-10.02,7536750:-10.02,7536751:-10.02,7536752:-10.02,7536753:-10.02,7536754:-10,7536755:-10.02,7536756:-28.81,7536757:-10.02,7536758:-26.41,7536759:-26.42,7536760:-54.41,7536761:-26.41,7536762:-23.61,7602220:27.19,7602221:-28,7602222:27.19,7602223:9.58,7602241:9.59,7602242:-14.41,7602244:-14.41,7602245:-14.41,7602246:-14.41,7602248:-14.41,7602249:-14.42,7602253:-14.41,7602254:-14.41,7602256:-14.41,7602258:-14.41,7602262:-12.02,7602263:-12,7602266:27.98,7602268:-12,7602273:-9.2,7602274:-14.42,7602275:-15.2,7602276:-15.22,7602277:-15.22,7602278:-28.81,7602279:-15.2,7602280:-14.42,7602281:-14.41,7602282:-10.02,7602283:-14.42,7602287:-15.22,7602289:-15.22,7602290:5,7602291:-15.2,7602292:-87.02,7602294:-10.8,7602295:-10.81,7602296:-32.02,7602297:-10.81,7667767:-52.02,7667775:-20.02,7667778:-12.81,7667780:-12.81,7667781:-12.81,7667782:-12.81,7667784:-12.81,7667785:-12.81,7667789:-12.81,7667790:-12.81,7667792:-12.81,7667794:-12.81,7667796:-52.02,7667798:-22.02,7667799:-22,7667801:-20.02,7667804:-22,7667810:-12.81,7667811:-10,7667812:-10.02,7667813:-10.02,7667814:-19.61,7667815:-10,7667816:-12.81,7667817:-12.81,7667819:-12.81,7667823:-10.02,7667825:-10.02,7667827:-10.02,7667828:-25.61,7667830:-20,7667831:-20.02,7667832:-18.02,7667833:-20.02,7667834:-10,7733292:-57.2,7733293:-10,7733294:-57.2,7733295:-50.02,7733303:-36,7733306:-20,7733307:-20,7733313:-50,7733314:-10,7733315:-15,7733316:-10,7733317:-10,7733318:-10,7733319:-15,7733320:-10,7733321:-10.02,7733322:-38.02,7733325:-10,7733326:-10,7733327:-15,7733328:-10,7733329:-15.02,7733330:-10,7733331:-15,7733332:-36,7733345:-24.41,7733346:-10.02,7733347:-26.8,7733348:-26.81,7733349:-26.81,7733350:-10,7733351:-26.8,7733352:-10.02,7733353:-10,7733354:-26,7733355:-10.02,7733356:-10,7733357:-23.2,7733358:-23.2,7733359:-26.81,7733360:-23.2,7733361:-26.81,7733362:-23.2,7733363:-26.8,7733364:-23.2,7733365:-20,7733368:-46.41,7733370:-25.59,7798828:-57.22,7798829:-10.02,7798830:-57.22,7798831:-50.02,7798839:-36.02,7798842:-20.02,7798843:-20.02,7798849:-50.02,7798850:-10.02,7798851:-15.02,7798852:-10.02,7798853:-10.02,7798854:-10.02,7798855:-15.02,7798856:-10.02,7798857:-10.02,7798858:-38.02,7798861:-10.02,7798862:-10.02,7798863:-15.02,7798864:-10.02,7798865:-15.02,7798866:-10.02,7798867:-15.02,7798868:-36.02,7798881:-24.41,7798882:-10.02,7798883:-26.81,7798884:-26.83,7798885:-26.81,7798886:-10.02,7798887:-26.81,7798888:-10.02,7798889:-10.02,7798890:-26.02,7798891:-10.02,7798892:-10.02,7798893:-23.22,7798894:-23.22,7798895:-26.83,7798896:-23.22,7798897:-26.83,7798898:-23.2,7798899:-26.81,7798900:-23.22,7798901:-20.02,7798904:-46.42,7798906:-25.61,7864353:-20.02,7864362:-18,7864364:-20.02,7864365:-66,7864366:-20.02,7864375:-20.02,7864378:-42.02,7864379:-42.02,7864383:-30.02,7864386:-50.02,7864387:-10,7864388:-50,7864389:-50,7864390:-50.02,7864391:-10.02,7864392:-50.02,7864393:-50.02,7864397:-50.02,7864398:-50,7864399:-10,7864400:-50,7864401:-10.02,7864402:-50,7864403:-10.02,7864404:-20.02,7864417:-48,7864418:-50.02,7864419:-54.41,7864420:-54.42,7864421:-54.41,7864422:-58.02,7864423:-54.41,7864424:-50.02,7864425:-50,7864426:-28.81,7864427:-50.02,7864428:-40,7864429:-42.02,7864430:-42.02,7864431:-54.42,7864432:-42.02,7864433:-54.42,7864434:-42,7864435:-54.41,7864436:-51.2,7864437:-20.02,7864438:-70,7864439:-70.02,7864440:-42.02,7864441:-70,7864442:-32,7929900:-57.2,7929901:-10,7929902:-57.2,7929903:-50.02,7929911:-36.02,7929914:-20,7929915:-20,7929921:-50,7929922:-10,7929923:-15,7929924:-10,7929925:-10,7929926:-10.02,7929927:-15.02,7929928:-10.02,7929929:-10.02,7929930:-38.02,7929933:-10,7929934:-10,7929935:-15,7929936:-10,7929937:-15.02,7929938:-10,7929939:-15.02,7929940:-36.02,7929953:-24.41,7929954:-10.02,7929955:-26.8,7929956:-26.81,7929957:-26.81,7929958:-10.02,7929959:-26.8,7929960:-10.02,7929961:-10,7929962:-26.02,7929963:-10.02,7929964:-10,7929965:-23.2,7929966:-23.22,7929967:-26.81,7929968:-23.22,7929969:-26.81,7929970:-23.2,7929971:-26.81,7929972:-23.2,7929973:-20.02,7929976:-46.41,7929978:-25.59,7995450:-20,7995451:-20,7995455:-10,7995458:-10,7995460:-10,7995461:-10,7995462:-10,7995464:-10,7995465:-10.02,7995469:-10,7995470:-10,7995472:-10,7995474:-10,7995478:-30.02,7995479:-30,7995480:-10,7995484:-30,7995489:-16,7995490:-10.02,7995491:-30,7995492:-30.02,7995493:-30,7995494:-20,7995495:-30,7995496:-10.02,7995497:-10,7995498:-22,7995499:-10.02,7995500:-26,7995501:-20,7995502:-20.02,7995503:-30.02,7995504:-20.02,7995505:-30.02,7995506:-20,7995507:-30,7995508:-28,7995509:-18.81,7995510:-29.59,7995511:-29.61,7995512:-50,7995513:-29.59,7995514:-18,8060983:12,8061012:12,8257591:-20,8257620:-20,8257625:-20}, - sans500tnum: {2228271:-50.02,2228289:-50.02,2228308:9.98,2228323:-10,2228324:-10.02,2228325:-10.02,2228327:-10,2228335:-10.02,2228337:-10.02,2228339:-10.02,2490452:-58.2,2490454:-41.22,2490455:-41.2,2490460:-41.2,2555951:-50.02,2555969:-50,2555988:9.98,2556003:-10,2556004:-10.02,2556005:-10.02,2556007:-10,2556015:-10.02,2556017:-10.02,2556019:-10,2621507:-15,2621511:-15,2621519:-15,2621521:-15.02,2621523:-15,2752556:-40,2752558:-40,2752559:-72.02,2752577:-72,2752596:12,2818132:-20.02,2818137:-20.02,2883626:-40,2883651:-20.02,2883655:-20.02,2883658:-6.02,2883663:-20,2883665:-20.02,2883667:-20.02,2883668:-60.02,2883670:-77.22,2883671:-77.2,2883676:-77.2,2883686:-34.02,2883690:9.98,2883692:-10,2883702:-42,2883703:-42.02,2883705:-42.02,2949182:235.58,2949204:-40.02,2949222:-10.02,2949238:-10,2949239:-10.02,2949240:-50,2949241:-10,3014698:-40,3014723:-20.02,3014727:-20.02,3014730:-6.02,3014735:-20,3014737:-20.02,3014739:-20.02,3014740:-60.02,3014742:-77.22,3014743:-77.2,3014748:-77.2,3014758:-34.02,3014762:9.98,3014764:-10,3014774:-42,3014775:-42.02,3014777:-42.02,3080225:-32.02,3080230:-20.61,3080236:-77.22,3080238:-77.22,3080239:-108.83,3080250:-32.02,3080251:-32.02,3080255:-32.02,3080257:-108.81,3080258:-23.61,3080259:-36.02,3080260:-23.61,3080261:-23.61,3080262:-23.62,3080263:-36.02,3080264:-23.62,3080265:-23.62,3080266:-80.02,3080267:-15.02,3080268:-15.02,3080269:-23.61,3080270:-23.61,3080271:-36.02,3080272:-23.61,3080273:-36.02,3080274:-23.61,3080275:-36.02,3080278:-10.02,3080279:-10.02,3080280:-10.02,3080282:-12.02,3080284:-10.02,3080289:-49.61,3080290:-23.62,3080291:-44.02,3080292:-44.02,3080293:-44.02,3080294:-50.02,3080295:-44.02,3080296:-23.62,3080297:-23.61,3080298:-48.02,3080299:-23.62,3080300:-28.02,3080301:-34.02,3080302:-34.02,3080303:-44.02,3080304:-34.02,3080305:-44.02,3080306:-34.02,3080307:-44.02,3080308:-40.02,3080309:-52.02,3080310:-42.02,3080311:-42.02,3080312:-64.02,3080313:-42.02,3080314:-38.02,3801135:-20.02,3801153:-20.02,3801155:-10,3801159:-10.02,3801167:-10,3801169:-10.02,3801171:-10.02,3801172:-58.02,3801174:-32.02,3801175:-32,3801176:-20,3801180:-32,3801190:-28.02,3801204:-28.02,3801206:-20,3801207:-20.02,3801208:-42.02,3801209:-20,3801210:-20,3866671:-20.02,3866689:-20.02,3866691:-10,3866695:-10.02,3866703:-10,3866705:-10.02,3866707:-10.02,3866708:-58.02,3866710:-32.02,3866711:-32,3866712:-20,3866716:-32,3866726:-28.02,3866740:-28.02,3866742:-20,3866743:-20.02,3866744:-42.02,3866745:-20,3866746:-20,3932205:235.58,3932244:-20.02,3932249:-20.02,3997780:-20.02,3997785:-20.02,4063316:-20.02,4063321:-20.02,4259873:-10.02,4259874:-50.02,4259879:-50,4259882:-72,4259898:-20.02,4259899:-20.02,4259903:-52.02,4259906:-22.02,4259907:-34,4259908:-22,4259909:-22,4259910:-22.02,4259911:-34.02,4259912:-22.02,4259913:-22.02,4259914:-30.02,4259915:-15.8,4259916:-15.81,4259917:-22.02,4259918:-22,4259919:-34,4259920:-22,4259921:-34.02,4259922:-22,4259923:-34.02,4259924:-93.22,4259925:-18.81,4259926:-108.81,4259927:-108.8,4259929:-74,4259930:-10.02,4259932:-108.8,4259938:-22.02,4259939:-20.41,4259940:-20.42,4259941:-20.41,4259942:-42.02,4259943:-20.41,4259944:-22.02,4259945:-22,4259947:-22.02,4259948:-22,4259949:-20.02,4259950:-20.02,4259951:-20.42,4259952:-20.02,4259953:-20.42,4259954:-20,4259955:-20.41,4259956:-64.02,4259957:-20.81,4259958:-62,4259959:-62.02,4259960:-30.02,4259961:-62,4259962:-12,4325423:-22.42,4325434:-20.02,4325435:-20.02,4325439:-28.02,4325441:-22.41,4325442:-8.02,4325443:-10,4325444:-8,4325445:-16.2,4325446:-8.02,4325447:-10.02,4325448:-8.02,4325449:-8.02,4325453:-8.02,4325454:-8,4325455:-10,4325456:-8,4325457:-10.02,4325458:-8,4325459:-10.02,4325460:-38.02,4325462:-34.02,4325463:-34,4325465:-44,4325468:-34,4325473:-8.41,4325474:-8.02,4325478:-20.02,4325480:-8.02,4325481:-8,4325482:-14.02,4325483:-8.02,4325484:-12.8,4325485:-10.02,4325486:-10.02,4325488:-10.02,4325490:-10,4325492:-20.02,4325493:-11.61,4325494:-34,4325495:-34.02,4325496:-43.61,4325497:-34,4325498:-22,4390959:-26.41,4390977:-26.41,4390987:-8.59,4390988:-8.61,4390996:-15.02,4390998:-22.02,4390999:-22,4391000:-20,4391001:-22,4391004:-22,4391009:-5.61,4391011:-8.41,4391012:-8.41,4391013:-8.41,4391014:-20.02,4391015:-8.41,4391020:-10.8,4391021:-8.41,4391022:-8.41,4391023:-8.41,4391024:-8.41,4391025:-8.41,4391026:-8.41,4391027:-8.41,4391028:-10,4391029:-12.02,4391030:-12,4391031:-12.02,4391032:-32,4391033:-12,4391034:-10,4456489:-19,4456490:-10,4456492:-20,4456494:-20,4456495:-36.02,4456506:-10,4456507:-10,4456511:-20,4456513:-36,4456514:10.39,4456516:10.41,4456517:10.41,4456518:10.39,4456520:10.39,4456521:10.39,4456522:-10.81,4456523:-11.39,4456524:-11.41,4456525:10.39,4456526:10.41,4456528:10.41,4456530:10.41,4456532:-40,4456534:-36.41,4456535:-36.39,4456536:-32,4456537:-42,4456538:-10,4456540:-36.39,4456545:7.59,4456546:10.39,4456547:11.61,4456548:11.59,4456549:11.59,4456550:-10,4456551:11.61,4456552:10.39,4456553:10.41,4456554:-20,4456555:10.39,4456559:11.59,4456561:11.59,4456563:11.59,4456564:-23.2,4456566:-16.8,4456567:-16.81,4456568:-24,4456569:-16.8,4522042:-10,4522043:-10,4522047:-20,4522050:-7.61,4522052:-7.59,4522053:-7.59,4522054:-7.61,4522056:-7.61,4522057:-7.61,4522061:-7.61,4522062:-8.59,4522064:-7.59,4522066:-7.59,4522070:12.8,4522071:12.8,4522073:-20,4522076:12.8,4522081:-9.59,4522082:-7.61,4522083:-18.39,4522084:-18.41,4522085:-18.41,4522086:-32,4522087:-18.39,4522088:-7.61,4522089:-7.59,4522090:-12,4522091:-7.61,4522095:-18.41,4522097:-18.41,4522099:-18.41,4522100:-38,4522102:-22,4522103:-22.02,4522104:-30,4522105:-22,4587564:-80.02,4587566:-80.02,4587567:-81.62,4587578:-30.02,4587579:-30.02,4587583:-18.02,4587585:-81.61,4587586:-18.02,4587588:-18,4587589:-18,4587590:-18.02,4587592:-18.02,4587593:-18.02,4587594:-60.02,4587595:-28,4587596:-28.02,4587597:-18.02,4587598:-18.02,4587600:-18,4587602:-18.02,4587608:-20,4587609:-18.02,4587610:-18.02,4587617:-22.02,4587618:-18.02,4587619:-28,4587620:-28.02,4587621:-28.02,4587622:-10.02,4587623:-28,4587624:-18.02,4587625:-18.02,4587626:-32.02,4587627:-18.02,4587628:-20,4587629:-28.02,4587630:-28.02,4587631:-28.02,4587632:-28.02,4587633:-28.02,4587634:-28,4587635:-28.02,4587636:-36.02,4587637:-30.02,4587638:-40,4587639:-40.02,4587640:-48.02,4587641:-40.02,4587642:-30,4653140:-20.02,4653142:-32.02,4653143:-32,4653144:-12,4653145:-20.02,4653148:-32,4653153:9.98,4653155:10,4653156:9.98,4653157:9.98,4653158:-14.02,4653159:10,4653167:9.98,4653169:9.98,4653171:9.98,4653172:-12.02,4653174:-7.2,4653175:-7.22,4653176:-16.02,4653177:-7.2,4718639:-10.02,4718655:-10.02,4718657:-10.02,4718658:-18.02,4718659:-14.81,4718660:-18,4718661:-18,4718662:-18.02,4718663:-14.81,4718664:-18.02,4718665:-18.02,4718666:-18.02,4718669:-18.02,4718670:-18.02,4718671:-14.81,4718672:-18,4718673:-14.81,4718674:-18.02,4718675:-14.81,4718676:-36.02,4718677:14.98,4718678:-22.02,4718679:-22,4718680:-10,4718681:-20.02,4718684:-22,4718689:-10.02,4718690:-18.02,4718691:-10,4718692:-10.02,4718693:-10.02,4718694:-43.61,4718695:-10,4718696:-18.02,4718697:-18.02,4718698:-16.02,4718699:-18.02,4718700:-8.41,4718701:5.98,4718702:5.98,4718703:-10.02,4718704:5.98,4718705:-10.02,4718706:6,4718707:-10.02,4718708:-36.41,4718709:-19.22,4718710:-10,4718711:-10.02,4718712:-50.02,4718713:-10.02,4718714:-10,4784175:-10.02,4784191:-10.02,4784193:-10.02,4784194:-18.02,4784195:-14.81,4784196:-18.02,4784197:-18.02,4784198:-18.02,4784199:-14.81,4784200:-18.02,4784201:-18.02,4784202:-18.02,4784205:-18.02,4784206:-18.02,4784207:-14.81,4784208:-18.02,4784209:-14.83,4784210:-18.02,4784211:-14.81,4784212:-36.02,4784213:14.98,4784214:-22.02,4784215:-22.02,4784216:-10.02,4784217:-20.02,4784220:-22.02,4784225:-10.02,4784226:-18.02,4784227:-10.02,4784228:-10.02,4784229:-10.02,4784230:-43.62,4784231:-10.02,4784232:-18.02,4784233:-18.02,4784234:-16.02,4784235:-18.02,4784236:-8.41,4784237:5.98,4784238:5.98,4784239:-10.02,4784240:5.98,4784241:-10.02,4784242:5.98,4784243:-10.02,4784244:-36.42,4784245:-19.22,4784246:-10.02,4784247:-10.02,4784248:-50.02,4784249:-10.02,4784250:-10.02,4849711:-18.83,4849729:-18.81,4849730:14.98,4849732:14.98,4849733:14.98,4849734:14.98,4849736:14.98,4849737:14.98,4849738:-26.02,4849741:14.98,4849742:14.98,4849744:14.98,4849746:14.98,4849752:-20.02,4849753:-18.02,4849762:14.98,4849763:-6.02,4849764:-6.02,4849765:-6.02,4849766:-19.22,4849767:-6.02,4849768:14.98,4849769:14.98,4849770:-6.81,4849771:14.98,4849775:-6.02,4849777:-6.02,4849779:-6.02,4849780:-18.02,4849782:-20.02,4849783:-20.02,4849784:-30.02,4849785:-20.02,4849786:-20.02,4915242:-12,4915258:-20,4915259:-20,4915263:-22,4915266:-10,4915267:-40,4915268:-10,4915269:-10,4915270:-10,4915271:-40,4915272:-10,4915273:-10.02,4915274:-30.02,4915275:-19.2,4915276:-19.2,4915277:-10,4915278:-10,4915279:-40,4915280:-10,4915281:-40.02,4915282:-10,4915283:-40,4915285:-20,4915286:-10.02,4915287:-10,4915290:-10,4915292:-10,4915297:-16,4915298:-10.02,4915299:-48.8,4915300:-48.81,4915301:-48.81,4915302:-52,4915303:-48.8,4915304:-10.02,4915305:-10,4915306:-9.61,4915307:-10.02,4915309:-18.61,4915310:-18.61,4915311:-48.81,4915312:-18.61,4915313:-48.81,4915314:-18.59,4915315:-48.8,4915316:-50,4915317:-30,4915318:-32,4915319:-32.02,4915320:-32,4915321:-32,4980769:-18.02,4980770:-96.02,4980775:-96.02,4980778:-120.02,4980780:-7.62,4980782:-7.62,4980783:-20.02,4980794:-18.02,4980795:-18.02,4980799:-80.02,4980801:-20.02,4980802:-44.02,4980803:-48.02,4980804:-44.02,4980805:-44.02,4980806:-44.02,4980807:-48.02,4980808:-44.02,4980809:-44.02,4980810:-51.62,4980811:-28.02,4980812:-28.02,4980813:-44.02,4980814:-44.02,4980815:-48.02,4980816:-44.02,4980817:-48.02,4980818:-44.02,4980819:-48.02,4980820:-136.02,4980821:-46.02,4980822:-152.02,4980823:-152.02,4980825:-160.02,4980826:-18.02,4980828:-152.02,4980834:-44.02,4980835:-35.61,4980836:-35.62,4980837:-35.62,4980838:-56.02,4980839:-35.61,4980840:-44.02,4980841:-44.02,4980842:-18.02,4980843:-44.02,4980844:-36.02,4980847:-35.62,4980849:-35.62,4980851:-35.61,4980852:-76.02,4980853:-36.02,4980854:-80.02,4980855:-80.02,4980856:-48.02,4980857:-80.02,4980858:-20.02,5046319:-10.02,5046335:-10.02,5046337:-10.02,5046338:-18.02,5046339:-14.81,5046340:-18,5046341:-18,5046342:-18.02,5046343:-14.81,5046344:-18.02,5046345:-18.02,5046346:-18.02,5046349:-18.02,5046350:-18,5046351:-14.8,5046352:-18,5046353:-14.81,5046354:-18,5046355:-14.81,5046356:-36.02,5046357:14.98,5046358:-22.02,5046359:-22,5046360:-10,5046361:-20,5046364:-22,5046369:-10,5046370:-18.02,5046371:-10,5046372:-10.02,5046373:-10.02,5046374:-43.61,5046375:-10,5046376:-18.02,5046377:-18,5046378:-16.02,5046379:-18.02,5046380:-8.41,5046381:5.98,5046382:5.98,5046383:-10.02,5046384:5.98,5046385:-10.02,5046386:6,5046387:-10.02,5046388:-36.41,5046389:-19.22,5046390:-10,5046391:-10.02,5046392:-50.02,5046393:-10,5046394:-10,5111855:-10.02,5111871:-10.02,5111873:-10,5111874:-18,5111875:-14.8,5111876:-18,5111877:-18,5111878:-18.02,5111879:-14.81,5111880:-18.02,5111881:-18.02,5111882:-18.02,5111885:-18,5111886:-18,5111887:-14.8,5111888:-18,5111889:-14.81,5111890:-18,5111891:-14.81,5111892:-36.02,5111893:14.98,5111894:-22.02,5111895:-22,5111896:-10,5111897:-20,5111900:-22,5111905:-10,5111906:-18.02,5111907:-10,5111908:-10.02,5111909:-10.02,5111910:-43.61,5111911:-10,5111912:-18.02,5111913:-18,5111914:-16.02,5111915:-18.02,5111916:-8.41,5111917:6,5111918:5.98,5111919:-10.02,5111920:5.98,5111921:-10.02,5111922:6,5111923:-10,5111924:-36.41,5111925:-19.2,5111926:-10,5111927:-10.02,5111928:-50,5111929:-10,5111930:-10,5177385:-19,5177386:-10,5177388:-20,5177390:-20,5177391:-36.02,5177402:-10,5177403:-10,5177407:-20,5177409:-36,5177410:10.39,5177412:10.41,5177413:10.41,5177414:10.39,5177416:10.39,5177417:10.39,5177418:-10.81,5177419:-11.39,5177420:-11.41,5177421:10.39,5177422:10.41,5177424:10.41,5177426:10.41,5177428:-40,5177430:-36.41,5177431:-36.39,5177432:-32,5177433:-42,5177434:-10,5177436:-36.39,5177441:7.59,5177442:10.39,5177443:11.61,5177444:11.59,5177445:11.59,5177446:-10,5177447:11.61,5177448:10.39,5177449:10.41,5177450:-20,5177451:10.39,5177455:11.59,5177457:11.59,5177459:11.59,5177460:-23.2,5177462:-16.8,5177463:-16.81,5177464:-24,5177465:-16.8,5242913:-10,5242924:-108,5242925:-28,5242926:-108,5242927:-74.41,5242938:-20,5242939:-20,5242943:-18,5242945:-74.41,5242946:-20,5242947:-12,5242948:-20,5242949:-20,5242950:-20,5242951:-12,5242952:-20,5242953:-20.02,5242954:-80.02,5242957:-20,5242958:-20,5242959:-12,5242960:-20,5242961:-12.02,5242962:-20,5242963:-12,5242966:-42.02,5242967:-42,5242968:-40,5242969:-40,5242970:-22,5242972:-42,5242977:-22,5242978:-20.02,5242979:-28,5242980:-28.02,5242981:-28,5242983:-28,5242984:-20.02,5242985:-20,5242987:-20.02,5242989:-8.61,5242990:-8.61,5242991:-28.02,5242992:-8.61,5242993:-28.02,5242994:-8.59,5242995:-28,5242997:-28,5242998:-20,5242999:-20.02,5243000:-40,5243001:-20,5243002:-30,5308457:-19.02,5308458:-10.02,5308460:-20.02,5308462:-20.02,5308463:-36.02,5308474:-10.02,5308475:-10.02,5308479:-20.02,5308481:-36.02,5308482:10.39,5308484:10.39,5308485:10.39,5308486:10.38,5308488:10.38,5308489:10.38,5308490:-10.83,5308491:-11.41,5308492:-11.42,5308493:10.39,5308494:10.39,5308496:10.39,5308498:10.39,5308500:-40.02,5308502:-36.42,5308503:-36.41,5308504:-32.02,5308505:-42.02,5308506:-10.02,5308508:-36.41,5308513:7.59,5308514:10.38,5308515:11.59,5308516:11.58,5308517:11.58,5308518:-10.02,5308519:11.59,5308520:10.38,5308521:10.39,5308522:-20.02,5308523:10.38,5308527:11.58,5308529:11.58,5308531:11.58,5308532:-23.22,5308534:-16.81,5308535:-16.83,5308536:-24.02,5308537:-16.81,5373999:-10.02,5374010:-8.81,5374011:-8.81,5374015:-20.02,5374017:-10,5374019:-15,5374023:-15.02,5374027:-14.2,5374028:-14.22,5374031:-15,5374033:-15.02,5374035:-15.02,5374036:-19.2,5374038:-50.02,5374039:-50,5374041:-22,5374044:-50,5374051:-14,5374052:-14.02,5374053:-14.02,5374054:-28.02,5374055:-14,5374058:-10.81,5374063:-14.02,5374065:-14.02,5374067:-14,5374068:-30,5374069:-10.02,5374070:-22,5374071:-22.02,5374072:-24,5374073:-22,5439529:-19,5439530:-10,5439532:-20.02,5439534:-20.02,5439535:-36.02,5439546:-10.02,5439547:-10.02,5439551:-20.02,5439553:-36.02,5439554:10.39,5439556:10.39,5439557:10.39,5439558:10.39,5439560:10.39,5439561:10.38,5439562:-10.81,5439563:-11.41,5439564:-11.42,5439565:10.39,5439566:10.39,5439568:10.39,5439570:10.39,5439572:-40.02,5439574:-36.42,5439575:-36.41,5439576:-32,5439577:-42.02,5439578:-10.02,5439580:-36.41,5439585:7.59,5439586:10.38,5439587:11.59,5439588:11.58,5439589:11.58,5439590:-10.02,5439591:11.59,5439592:10.38,5439593:10.39,5439594:-20.02,5439595:10.38,5439599:11.58,5439601:11.58,5439603:11.59,5439604:-23.22,5439606:-16.81,5439607:-16.81,5439608:-24.02,5439609:-16.81,5505058:9.98,5505062:-24.81,5505063:9.98,5505066:12,5505068:-96.02,5505069:-38.02,5505070:-96.02,5505071:-93.22,5505082:-58.02,5505083:-58.02,5505087:-20.02,5505089:-93.22,5505090:-26.02,5505091:-40.02,5505092:-26,5505093:-26,5505094:-26.02,5505095:-40.02,5505096:-26.02,5505097:-26.02,5505098:-120.02,5505099:-36,5505100:-36.02,5505101:-26.02,5505102:-26.02,5505103:-40,5505104:-26,5505105:-40.02,5505106:-26.02,5505107:-40.02,5505108:9.98,5505110:-10.02,5505111:-10,5505113:8.39,5505116:-10,5505117:20,5505121:-70.02,5505122:-26.02,5505123:-80,5505124:-80.02,5505125:-80.02,5505126:-38.02,5505127:-80,5505128:-26.02,5505129:-26.02,5505130:-44.02,5505131:-26.02,5505132:-18,5505133:-48.02,5505134:-48.02,5505135:-80.02,5505136:-48.02,5505137:-80.02,5505138:-48,5505139:-80.02,5505140:-36.02,5505141:-64.02,5505142:-44,5505143:-44.02,5505144:-56.02,5505145:-44.02,5505146:-48,5570607:-18.81,5570625:-18.81,5570626:14.98,5570628:15,5570629:15,5570630:14.98,5570632:14.98,5570633:14.98,5570634:-26.02,5570637:14.98,5570638:14.98,5570640:15,5570642:14.98,5570648:-20,5570649:-18.02,5570658:14.98,5570659:-6,5570660:-6.02,5570661:-6.02,5570662:-19.22,5570663:-6,5570664:14.98,5570665:14.98,5570666:-6.81,5570667:14.98,5570671:-6.02,5570673:-6.02,5570675:-6.02,5570676:-18.02,5570678:-20,5570679:-20.02,5570680:-30.02,5570681:-20.02,5570682:-20,5636129:-32.02,5636134:-20.61,5636140:-77.22,5636142:-77.22,5636143:-108.83,5636154:-32.02,5636155:-32.02,5636159:-32.02,5636161:-108.81,5636162:-23.61,5636163:-36.02,5636164:-23.61,5636165:-23.61,5636166:-23.62,5636167:-36.02,5636168:-23.62,5636169:-23.62,5636170:-80.02,5636171:-15.02,5636172:-15.02,5636173:-23.61,5636174:-23.61,5636175:-36.02,5636176:-23.61,5636177:-36.02,5636178:-23.61,5636179:-36.02,5636182:-10.02,5636183:-10.02,5636184:-10.02,5636186:-12.02,5636188:-10.02,5636193:-49.61,5636194:-23.62,5636195:-44.02,5636196:-44.02,5636197:-44.02,5636198:-50.02,5636199:-44.02,5636200:-23.62,5636201:-23.61,5636202:-48.02,5636203:-23.62,5636204:-28.02,5636205:-34.02,5636206:-34.02,5636207:-44.02,5636208:-34.02,5636209:-44.02,5636210:-34.02,5636211:-44.02,5636212:-40.02,5636213:-52.02,5636214:-42.02,5636215:-42.02,5636216:-64.02,5636217:-42.02,5636218:-38.02,5701665:-32,5701670:-20.59,5701676:-77.2,5701678:-77.2,5701679:-108.81,5701690:-32,5701691:-32,5701695:-32,5701697:-108.8,5701698:-23.61,5701699:-36,5701700:-23.59,5701701:-23.59,5701702:-23.61,5701703:-36,5701704:-23.61,5701705:-23.61,5701706:-80.02,5701707:-15,5701708:-15.02,5701709:-23.61,5701710:-23.59,5701711:-36,5701712:-23.59,5701713:-36.02,5701714:-23.59,5701715:-36,5701718:-10.02,5701719:-10,5701720:-10,5701722:-12,5701724:-10,5701729:-49.59,5701730:-23.61,5701731:-44,5701732:-44.02,5701733:-44,5701734:-50,5701735:-44,5701736:-23.61,5701737:-23.59,5701738:-48,5701739:-23.61,5701740:-28,5701741:-34,5701742:-34.02,5701743:-44.02,5701744:-34.02,5701745:-44.02,5701746:-34,5701747:-44,5701748:-40,5701749:-52,5701750:-42,5701751:-42.02,5701752:-64,5701753:-42,5701754:-38,5767210:-12,5767226:-20,5767227:-20,5767231:-22,5767234:-10,5767235:-40,5767236:-10,5767237:-10,5767238:-10,5767239:-40,5767240:-10,5767241:-10.02,5767242:-30.02,5767243:-19.2,5767244:-19.2,5767245:-10,5767246:-10,5767247:-40,5767248:-10,5767249:-40.02,5767250:-10,5767251:-40,5767253:-20,5767254:-10.02,5767255:-10,5767258:-10,5767260:-10,5767265:-16,5767266:-10.02,5767267:-48.8,5767268:-48.81,5767269:-48.81,5767270:-52,5767271:-48.8,5767272:-10.02,5767273:-10,5767274:-9.61,5767275:-10.02,5767277:-18.61,5767278:-18.61,5767279:-48.81,5767280:-18.61,5767281:-48.81,5767282:-18.59,5767283:-48.8,5767284:-50,5767285:-30,5767286:-32,5767287:-32.02,5767288:-32,5767289:-32,5832747:-20.02,5832751:-74.02,5832764:-20.02,5832765:-20.02,5832766:-20.02,5832769:-74,5832770:-20,5832771:-42,5832772:-20,5832773:-20,5832774:-20.02,5832775:-42.02,5832776:-20.02,5832777:-20.02,5832778:-124.02,5832781:-20,5832782:-20,5832783:-42,5832784:-20,5832785:-42.02,5832786:-20,5832787:-42.02,5832788:8.39,5832789:-18.02,5832793:20,5832794:-10,5832798:-20.02,5832801:-64,5832802:-20.02,5832803:-70,5832804:-70.02,5832805:-70.02,5832806:-54.02,5832807:-70,5832808:-20.02,5832809:-20,5832810:-44.02,5832811:-20.02,5832812:-18,5832813:-60,5832814:-60.02,5832815:-70.02,5832816:-60.02,5832817:-70.02,5832818:-60,5832819:-70,5832820:-60,5832821:-60.02,5832822:-40,5832823:-40.02,5832824:-60,5832825:-40,5832826:-72,5832830:-20,5898285:-18,5898287:-20.02,5898303:-20.02,5898305:-20.02,5898307:-20,5898311:-20.02,5898314:-28.02,5898319:-20,5898321:-20.02,5898323:-20.02,5898326:-12.02,5898327:-12,5898328:-10,5898329:-10,5898332:-12,5898337:-10,5898339:-33.2,5898340:-33.22,5898341:-33.22,5898342:-42.02,5898343:-33.2,5898346:-16.02,5898348:-6.41,5898349:-10.02,5898350:-10.02,5898351:-33.22,5898352:-10.02,5898353:-33.22,5898354:-10,5898355:-33.2,5898356:-30.02,5898357:-18.02,5898358:-32,5898359:-32.02,5898360:-40.02,5898361:-32,5898362:-20,5963860:20,5963882:30,6029345:-10,6029346:-50,6029351:-50,6029354:-72,6029370:-20,6029371:-20,6029375:-52,6029378:-22,6029379:-34,6029380:-22,6029381:-22,6029382:-22,6029383:-34,6029384:-22,6029385:-22.02,6029386:-30.02,6029387:-15.8,6029388:-15.81,6029389:-22,6029390:-22,6029391:-34,6029392:-22,6029393:-34.02,6029394:-22,6029395:-34,6029396:-93.2,6029397:-18.81,6029398:-108.81,6029399:-108.8,6029401:-74,6029402:-10,6029404:-108.8,6029410:-22.02,6029411:-20.39,6029412:-20.41,6029413:-20.41,6029414:-42,6029415:-20.39,6029416:-22.02,6029417:-22,6029419:-22.02,6029420:-22,6029421:-20,6029422:-20.02,6029423:-20.41,6029424:-20.02,6029425:-20.41,6029426:-20,6029427:-20.41,6029428:-64,6029429:-20.81,6029430:-62,6029431:-62.02,6029432:-30,6029433:-62,6029434:-12,6160468:-20.02,6160473:-20.02,6357034:-22,6357036:19.98,6357038:19.98,6357055:-21.41,6357058:-8,6357060:-8,6357061:-8,6357062:-8.02,6357064:-8.02,6357065:-8.02,6357069:-8,6357070:-8,6357072:-8,6357074:-8,6357090:-8.02,6357091:-7.2,6357092:-7.22,6357093:-7.2,6357094:-12.81,6357095:-7.2,6357096:-8.02,6357097:-8,6357099:-8.02,6357100:-10,6357103:-7.22,6357105:-7.22,6357107:-7.2,6357108:-48,6357109:-9.2,6357110:-27.2,6357111:-27.22,6357112:-26.81,6357113:-27.2,6357114:-9.2,6422562:-10.02,6422567:-10.02,6422570:-22.02,6422575:-10.02,6422591:-40.02,6422593:-10.02,6422594:-10.02,6422596:-10.02,6422597:-10.02,6422598:-10.02,6422600:-10.02,6422601:-10.02,6422605:-10.02,6422606:-10.02,6422608:-10.02,6422610:-10.02,6422612:-70.02,6422614:-50.02,6422615:-50.02,6422616:-20.02,6422617:-50.02,6422620:-50.02,6422626:-10.02,6422627:-10.02,6422628:-10.02,6422629:-10.02,6422630:-30.02,6422631:-10.02,6422632:-10.02,6422633:-10.02,6422634:-18.02,6422635:-10.02,6422636:-5.02,6422637:-10.02,6422638:-10.02,6422639:-10.02,6422640:-10.02,6422641:-10.02,6422642:-10.02,6422643:-10.02,6422644:-28.81,6422645:-10.02,6422646:-26.41,6422647:-26.42,6422648:-54.42,6422649:-26.41,6422650:-23.61,6488098:-10,6488103:-10,6488106:-22,6488111:-10.02,6488127:-40,6488129:-10,6488130:-10,6488132:-10,6488133:-10,6488134:-10,6488136:-10,6488137:-10.02,6488141:-10,6488142:-10,6488144:-10,6488146:-10,6488148:-70,6488150:-50.02,6488151:-50,6488152:-20,6488153:-50,6488156:-50,6488162:-10.02,6488163:-10,6488164:-10.02,6488165:-10,6488166:-30,6488167:-10,6488168:-10.02,6488169:-10,6488170:-18,6488171:-10.02,6488172:-5,6488173:-10,6488174:-10.02,6488175:-10.02,6488176:-10.02,6488177:-10.02,6488178:-10,6488179:-10,6488180:-28.8,6488181:-10,6488182:-26.39,6488183:-26.41,6488184:-54.41,6488185:-26.41,6488186:-23.59,6553647:-10.02,6553663:-10.02,6553665:-10.02,6553666:-18.02,6553667:-14.81,6553668:-18.02,6553669:-18.02,6553670:-18.02,6553671:-14.81,6553672:-18.02,6553673:-18.02,6553674:-18.02,6553677:-18.02,6553678:-18.02,6553679:-14.81,6553680:-18.02,6553681:-14.83,6553682:-18.02,6553683:-14.81,6553684:-36.02,6553685:14.98,6553686:-22.02,6553687:-22.02,6553688:-10.02,6553689:-20.02,6553692:-22.02,6553697:-10.02,6553698:-18.02,6553699:-10.02,6553700:-10.02,6553701:-10.02,6553702:-43.62,6553703:-10.02,6553704:-18.02,6553705:-18.02,6553706:-16.02,6553707:-18.02,6553708:-8.41,6553709:5.98,6553710:5.98,6553711:-10.02,6553712:5.98,6553713:-10.02,6553714:5.98,6553715:-10.02,6553716:-36.42,6553717:-19.22,6553718:-10.02,6553719:-10.02,6553720:-50.02,6553721:-10.02,6553722:-10.02,6619170:-10.02,6619175:-10.02,6619178:-22,6619183:-10.02,6619199:-40.02,6619201:-10.02,6619202:-10.02,6619204:-10,6619205:-10,6619206:-10.02,6619208:-10.02,6619209:-10.02,6619213:-10.02,6619214:-10.02,6619216:-10,6619218:-10.02,6619220:-70.02,6619222:-50.02,6619223:-50,6619224:-20,6619225:-50.02,6619228:-50,6619234:-10.02,6619235:-10,6619236:-10.02,6619237:-10.02,6619238:-30.02,6619239:-10,6619240:-10.02,6619241:-10.02,6619242:-18.02,6619243:-10.02,6619244:-5,6619245:-10.02,6619246:-10.02,6619247:-10.02,6619248:-10.02,6619249:-10.02,6619250:-10,6619251:-10.02,6619252:-28.81,6619253:-10.02,6619254:-26.41,6619255:-26.42,6619256:-54.41,6619257:-26.41,6619258:-23.61,6684714:12,6684716:-60.02,6684717:-28.02,6684718:-60.02,6684719:-40.62,6684730:-26.02,6684731:-26.02,6684737:-40.61,6684738:-35.22,6684740:-35.2,6684741:-35.2,6684742:-35.22,6684744:-35.22,6684745:-35.22,6684749:-35.22,6684750:-35.2,6684752:-35.2,6684754:-35.2,6684765:14,6684769:-30.02,6684770:-35.22,6684771:-42,6684772:-42.02,6684773:-42.02,6684774:-104.23,6684775:-42,6684776:-35.22,6684777:-35.22,6684778:-46.02,6684779:-35.22,6684780:-18.41,6684781:-28.02,6684782:-28.02,6684783:-42.02,6684784:-28.02,6684785:-42.02,6684786:-28,6684787:-42.02,6684788:-36.02,6684790:-38,6684791:-38.02,6684792:-40.02,6684793:-38.02,6684794:-12,6750271:-20,6750274:-12.8,6750276:-12.8,6750277:-12.8,6750278:-12.81,6750280:-12.81,6750281:-12.81,6750285:-12.8,6750286:-12.8,6750288:-12.8,6750290:-12.8,6750292:-52,6750294:-22.02,6750295:-22,6750297:-20,6750300:-22,6750306:-12.81,6750307:-10,6750308:-10.02,6750309:-10,6750310:-19.61,6750311:-10,6750312:-12.81,6750313:-12.8,6750315:-12.81,6750319:-10.02,6750321:-10.02,6750323:-10,6750324:-25.61,6750326:-20,6750327:-20.02,6750328:-18,6750329:-20,6750330:-10,6815786:-18.02,6815807:-20.02,6815810:-6.02,6815812:-6.02,6815813:-6.02,6815814:-6.02,6815816:-6.02,6815817:-6.02,6815821:-6.02,6815822:-6.02,6815824:-6.02,6815826:-6.02,6815828:-40.02,6815830:-20.02,6815831:-20.02,6815832:-10.02,6815833:-40.02,6815836:-20.02,6815841:-11.02,6815842:-6.02,6815843:-12.41,6815844:-12.42,6815845:-12.42,6815846:-30.81,6815847:-12.41,6815848:-6.02,6815849:-6.02,6815850:-32.02,6815851:-6.02,6815852:-12.81,6815853:-18.02,6815854:-18.02,6815855:-12.42,6815856:-18.02,6815857:-12.42,6815858:-18.02,6815859:-12.42,6815860:-38.42,6815861:-14.22,6815862:-33.2,6815863:-33.22,6815864:-50.02,6815865:-33.22,6815866:-20.02,6881327:-10.02,6881343:-10.02,6881345:-10,6881346:-18,6881347:-14.8,6881348:-18,6881349:-18,6881350:-18.02,6881351:-14.81,6881352:-18.02,6881353:-18.02,6881354:-18.02,6881357:-18,6881358:-18,6881359:-14.8,6881360:-18,6881361:-14.81,6881362:-18,6881363:-14.81,6881364:-36.02,6881365:14.98,6881366:-22.02,6881367:-22,6881368:-10,6881369:-20,6881372:-22,6881377:-10,6881378:-18.02,6881379:-10,6881380:-10.02,6881381:-10.02,6881382:-43.61,6881383:-10,6881384:-18.02,6881385:-18,6881386:-16.02,6881387:-18.02,6881388:-8.41,6881389:6,6881390:5.98,6881391:-10.02,6881392:5.98,6881393:-10.02,6881394:6,6881395:-10,6881396:-36.41,6881397:-19.2,6881398:-10,6881399:-10.02,6881400:-50,6881401:-10,6881402:-10,6946863:-10.02,6946879:-10.02,6946881:-10.02,6946882:-18.02,6946883:-14.81,6946884:-18,6946885:-18,6946886:-18.02,6946887:-14.81,6946888:-18.02,6946889:-18.02,6946890:-18.02,6946893:-18.02,6946894:-18.02,6946895:-14.81,6946896:-18,6946897:-14.81,6946898:-18.02,6946899:-14.81,6946900:-36.02,6946901:14.98,6946902:-22.02,6946903:-22,6946904:-10,6946905:-20.02,6946908:-22,6946913:-10.02,6946914:-18.02,6946915:-10,6946916:-10.02,6946917:-10.02,6946918:-43.61,6946919:-10,6946920:-18.02,6946921:-18.02,6946922:-16.02,6946923:-18.02,6946924:-8.41,6946925:5.98,6946926:5.98,6946927:-10.02,6946928:5.98,6946929:-10.02,6946930:6,6946931:-10.02,6946932:-36.41,6946933:-19.22,6946934:-10,6946935:-10.02,6946936:-50.02,6946937:-10.02,6946938:-10,7012385:-20.02,7012394:-18.02,7012396:-20.02,7012397:-66.02,7012398:-20.02,7012410:-42.02,7012411:-42.02,7012415:-30.02,7012418:-50.02,7012419:-10.02,7012420:-50.02,7012421:-50.02,7012422:-50.02,7012423:-10.02,7012424:-50.02,7012425:-50.02,7012429:-50.02,7012430:-50.02,7012431:-10.02,7012432:-50.02,7012433:-10.02,7012434:-50.02,7012435:-10.02,7012436:-20.02,7012449:-48.02,7012450:-50.02,7012451:-57.2,7012452:-57.22,7012453:-57.22,7012454:-58.02,7012455:-57.2,7012456:-50.02,7012457:-50.02,7012458:-28.81,7012459:-50.02,7012460:-40.02,7012461:-42.02,7012462:-42.02,7012463:-57.22,7012464:-42.02,7012465:-57.22,7012466:-42.02,7012467:-57.22,7012468:-51.22,7012469:-20.02,7012470:-70.02,7012471:-70.02,7012472:-42.02,7012473:-70.02,7012474:-32.02,7077930:-22,7077932:20,7077934:20,7077951:-21.41,7077954:-8,7077956:-8,7077957:-8,7077958:-8,7077960:-8,7077961:-8.02,7077965:-8,7077966:-8,7077968:-8,7077970:-8,7077986:-8.02,7077987:-7.2,7077988:-7.2,7077989:-7.2,7077990:-12.81,7077991:-7.2,7077992:-8.02,7077993:-8,7077995:-8.02,7077996:-10,7077999:-7.2,7078001:-7.2,7078003:-7.2,7078004:-48,7078005:-9.2,7078006:-27.2,7078007:-27.2,7078008:-26.8,7078009:-27.2,7078010:-9.2,7143466:-18,7143487:-20.02,7143490:-6.02,7143492:-6,7143493:-6,7143494:-6.02,7143496:-6.02,7143497:-6.02,7143501:-6.02,7143502:-6,7143504:-6,7143506:-6,7143508:-40.02,7143510:-20.02,7143511:-20,7143512:-10,7143513:-40,7143516:-20,7143521:-11,7143522:-6.02,7143523:-12.41,7143524:-12.42,7143525:-12.41,7143526:-30.81,7143527:-12.41,7143528:-6.02,7143529:-6,7143530:-32.02,7143531:-6.02,7143532:-12.8,7143533:-18.02,7143534:-18.02,7143535:-12.42,7143536:-18.02,7143537:-12.42,7143538:-18,7143539:-12.41,7143540:-38.41,7143541:-14.22,7143542:-33.2,7143543:-33.22,7143544:-50.02,7143545:-33.2,7143546:-20,7209002:-18.02,7209023:-20.02,7209026:-6.02,7209028:-6.02,7209029:-6.02,7209030:-6.02,7209032:-6.02,7209033:-6.02,7209037:-6.02,7209038:-6.02,7209040:-6.02,7209042:-6.02,7209044:-40.02,7209046:-20.02,7209047:-20.02,7209048:-10.02,7209049:-40.02,7209052:-20.02,7209057:-11.02,7209058:-6.02,7209059:-12.41,7209060:-12.42,7209061:-12.42,7209062:-30.81,7209063:-12.41,7209064:-6.02,7209065:-6.02,7209066:-32.02,7209067:-6.02,7209068:-12.81,7209069:-18.02,7209070:-18.02,7209071:-12.42,7209072:-18.02,7209073:-12.42,7209074:-18.02,7209075:-12.42,7209076:-38.42,7209077:-14.22,7209078:-33.2,7209079:-33.22,7209080:-50.02,7209081:-33.22,7209082:-20.02,7274530:-10.02,7274535:-10.02,7274538:-22.02,7274543:-10.02,7274559:-40.02,7274561:-10.02,7274562:-10.02,7274564:-10.02,7274565:-10.02,7274566:-10.02,7274568:-10.02,7274569:-10.02,7274573:-10.02,7274574:-10.02,7274576:-10.02,7274578:-10.02,7274580:-70.02,7274582:-50.02,7274583:-50.02,7274584:-20.02,7274585:-50.02,7274588:-50.02,7274594:-10.02,7274595:-10.02,7274596:-10.02,7274597:-10.02,7274598:-30.02,7274599:-10.02,7274600:-10.02,7274601:-10.02,7274602:-18.02,7274603:-10.02,7274604:-5.02,7274605:-10.02,7274606:-10.02,7274607:-10.02,7274608:-10.02,7274609:-10.02,7274610:-10.02,7274611:-10.02,7274612:-28.81,7274613:-10.02,7274614:-26.41,7274615:-26.42,7274616:-54.42,7274617:-26.41,7274618:-23.61,7340066:-10.02,7340071:-10.02,7340074:-22.02,7340079:-10.02,7340095:-40.02,7340097:-10.02,7340098:-10.02,7340100:-10.02,7340101:-10.02,7340102:-10.02,7340104:-10.02,7340105:-10.02,7340109:-10.02,7340110:-10.02,7340112:-10.02,7340114:-10.02,7340116:-70.02,7340118:-50.02,7340119:-50.02,7340120:-20.02,7340121:-50.02,7340124:-50.02,7340130:-10.02,7340131:-10.02,7340132:-10.02,7340133:-10.02,7340134:-30.02,7340135:-10.02,7340136:-10.02,7340137:-10.02,7340138:-18.02,7340139:-10.02,7340140:-5.02,7340141:-10.02,7340142:-10.02,7340143:-10.02,7340144:-10.02,7340145:-10.02,7340146:-10.02,7340147:-10.02,7340148:-28.81,7340149:-10.02,7340150:-26.41,7340151:-26.42,7340152:-54.42,7340153:-26.41,7340154:-23.61,7405631:-20.02,7405634:-12.81,7405636:-12.81,7405637:-12.81,7405638:-12.81,7405640:-12.81,7405641:-12.83,7405645:-12.81,7405646:-12.81,7405648:-12.81,7405650:-12.81,7405652:-52.02,7405654:-22.02,7405655:-22.02,7405657:-20.02,7405660:-22.02,7405666:-12.83,7405667:-10.02,7405668:-10.02,7405669:-10.02,7405670:-19.62,7405671:-10.02,7405672:-12.83,7405673:-12.81,7405675:-12.83,7405679:-10.02,7405681:-10.02,7405683:-10.02,7405684:-25.61,7405686:-20.02,7405687:-20.02,7405688:-18.02,7405689:-20.02,7405690:-10.02,7471148:-58,7471149:-36,7471150:-58,7471151:-30.02,7471162:-46,7471163:-46,7471169:-30,7471170:-28,7471172:-28,7471173:-28,7471174:-28,7471176:-28,7471177:-28.02,7471181:-28,7471182:-28,7471184:-28,7471186:-28,7471188:-36,7471201:-38,7471202:-28.02,7471203:-40,7471204:-40.02,7471205:-40,7471206:-54,7471207:-40,7471208:-28.02,7471209:-28,7471210:-48,7471211:-28.02,7471212:-28,7471213:-36,7471214:-36.02,7471215:-40.02,7471216:-36.02,7471217:-40.02,7471218:-36,7471219:-40,7471220:-44,7471221:-18,7471222:-24,7471223:-24.02,7471224:-68,7471225:-24,7471226:-30,7536674:-10.02,7536679:-10,7536682:-22,7536687:-10.02,7536703:-40.02,7536705:-10.02,7536706:-10.02,7536708:-10,7536709:-10,7536710:-10.02,7536712:-10.02,7536713:-10.02,7536717:-10.02,7536718:-10,7536720:-10,7536722:-10,7536724:-70.02,7536726:-50.02,7536727:-50,7536728:-20,7536729:-50,7536732:-50,7536738:-10.02,7536739:-10,7536740:-10.02,7536741:-10.02,7536742:-30.02,7536743:-10,7536744:-10.02,7536745:-10,7536746:-18.02,7536747:-10.02,7536748:-5,7536749:-10.02,7536750:-10.02,7536751:-10.02,7536752:-10.02,7536753:-10.02,7536754:-10,7536755:-10.02,7536756:-28.81,7536757:-10.02,7536758:-26.41,7536759:-26.42,7536760:-54.41,7536761:-26.41,7536762:-23.61,7602220:27.19,7602221:-28,7602222:27.19,7602223:9.58,7602241:9.59,7602242:-14.41,7602244:-14.41,7602245:-14.41,7602246:-14.41,7602248:-14.41,7602249:-14.42,7602253:-14.41,7602254:-14.41,7602256:-14.41,7602258:-14.41,7602262:-12.02,7602263:-12,7602266:27.98,7602268:-12,7602273:-9.2,7602274:-14.42,7602275:-15.2,7602276:-15.22,7602277:-15.22,7602278:-28.81,7602279:-15.2,7602280:-14.42,7602281:-14.41,7602282:-10.02,7602283:-14.42,7602287:-15.22,7602289:-15.22,7602290:5,7602291:-15.2,7602292:-87.02,7602294:-10.8,7602295:-10.81,7602296:-32.02,7602297:-10.81,7667775:-20.02,7667778:-12.81,7667780:-12.81,7667781:-12.81,7667782:-12.81,7667784:-12.81,7667785:-12.81,7667789:-12.81,7667790:-12.81,7667792:-12.81,7667794:-12.81,7667796:-52.02,7667798:-22.02,7667799:-22,7667801:-20.02,7667804:-22,7667810:-12.81,7667811:-10,7667812:-10.02,7667813:-10.02,7667814:-19.61,7667815:-10,7667816:-12.81,7667817:-12.81,7667819:-12.81,7667823:-10.02,7667825:-10.02,7667827:-10.02,7667828:-25.61,7667830:-20,7667831:-20.02,7667832:-18.02,7667833:-20.02,7667834:-10,7733292:-57.2,7733293:-10,7733294:-57.2,7733295:-50.02,7733306:-20,7733307:-20,7733313:-50,7733314:-10,7733315:-15,7733316:-10,7733317:-10,7733318:-10,7733319:-15,7733320:-10,7733321:-10.02,7733322:-38.02,7733325:-10,7733326:-10,7733327:-15,7733328:-10,7733329:-15.02,7733330:-10,7733331:-15,7733332:-36,7733345:-24.41,7733346:-10.02,7733347:-26.8,7733348:-26.81,7733349:-26.81,7733350:-10,7733351:-26.8,7733352:-10.02,7733353:-10,7733354:-26,7733355:-10.02,7733356:-10,7733357:-23.2,7733358:-23.2,7733359:-26.81,7733360:-23.2,7733361:-26.81,7733362:-23.2,7733363:-26.8,7733364:-23.2,7733365:-20,7733368:-46.41,7733370:-25.59,7798828:-57.22,7798829:-10.02,7798830:-57.22,7798831:-50.02,7798842:-20.02,7798843:-20.02,7798849:-50.02,7798850:-10.02,7798851:-15.02,7798852:-10.02,7798853:-10.02,7798854:-10.02,7798855:-15.02,7798856:-10.02,7798857:-10.02,7798858:-38.02,7798861:-10.02,7798862:-10.02,7798863:-15.02,7798864:-10.02,7798865:-15.02,7798866:-10.02,7798867:-15.02,7798868:-36.02,7798881:-24.41,7798882:-10.02,7798883:-26.81,7798884:-26.83,7798885:-26.81,7798886:-10.02,7798887:-26.81,7798888:-10.02,7798889:-10.02,7798890:-26.02,7798891:-10.02,7798892:-10.02,7798893:-23.22,7798894:-23.22,7798895:-26.83,7798896:-23.22,7798897:-26.83,7798898:-23.2,7798899:-26.81,7798900:-23.22,7798901:-20.02,7798904:-46.42,7798906:-25.61,7864353:-20.02,7864362:-18,7864364:-20.02,7864365:-66,7864366:-20.02,7864378:-42.02,7864379:-42.02,7864383:-30.02,7864386:-50.02,7864387:-10,7864388:-50,7864389:-50,7864390:-50.02,7864391:-10.02,7864392:-50.02,7864393:-50.02,7864397:-50.02,7864398:-50,7864399:-10,7864400:-50,7864401:-10.02,7864402:-50,7864403:-10.02,7864404:-20.02,7864417:-48,7864418:-50.02,7864419:-54.41,7864420:-54.42,7864421:-54.41,7864422:-58.02,7864423:-54.41,7864424:-50.02,7864425:-50,7864426:-28.81,7864427:-50.02,7864428:-40,7864429:-42.02,7864430:-42.02,7864431:-54.42,7864432:-42.02,7864433:-54.42,7864434:-42,7864435:-54.41,7864436:-51.2,7864437:-20.02,7864438:-70,7864439:-70.02,7864440:-42.02,7864441:-70,7864442:-32,7929900:-57.2,7929901:-10,7929902:-57.2,7929903:-50.02,7929914:-20,7929915:-20,7929921:-50,7929922:-10,7929923:-15,7929924:-10,7929925:-10,7929926:-10.02,7929927:-15.02,7929928:-10.02,7929929:-10.02,7929930:-38.02,7929933:-10,7929934:-10,7929935:-15,7929936:-10,7929937:-15.02,7929938:-10,7929939:-15.02,7929940:-36.02,7929953:-24.41,7929954:-10.02,7929955:-26.8,7929956:-26.81,7929957:-26.81,7929958:-10.02,7929959:-26.8,7929960:-10.02,7929961:-10,7929962:-26.02,7929963:-10.02,7929964:-10,7929965:-23.2,7929966:-23.22,7929967:-26.81,7929968:-23.22,7929969:-26.81,7929970:-23.2,7929971:-26.81,7929972:-23.2,7929973:-20.02,7929976:-46.41,7929978:-25.59,7995450:-20,7995451:-20,7995455:-10,7995458:-10,7995460:-10,7995461:-10,7995462:-10,7995464:-10,7995465:-10.02,7995469:-10,7995470:-10,7995472:-10,7995474:-10,7995478:-30.02,7995479:-30,7995480:-10,7995484:-30,7995489:-16,7995490:-10.02,7995491:-30,7995492:-30.02,7995493:-30,7995494:-20,7995495:-30,7995496:-10.02,7995497:-10,7995498:-22,7995499:-10.02,7995500:-26,7995501:-20,7995502:-20.02,7995503:-30.02,7995504:-20.02,7995505:-30.02,7995506:-20,7995507:-30,7995508:-28,7995509:-18.81,7995510:-29.59,7995511:-29.61,7995512:-50,7995513:-29.59,7995514:-18,8061012:12,8257620:-20,8257625:-20}, + sans400: {2228271:-50,2228276:-30,2228279:10,2228289:-50,2228308:10,2228323:-10,2228324:-10,2228325:-10,2228327:-10,2228335:-10,2228337:-10,2228339:-10,2490423:-68,2490452:-68,2490454:-48,2490455:-48,2490460:-48,2555951:-50,2555956:-30,2555959:10,2555969:-50,2555988:10,2556003:-10,2556004:-10,2556005:-10,2556007:-10,2556015:-10,2556017:-10,2556019:-10,2621490:-10,2621491:-5,2621492:-40,2621496:-8,2621507:-15,2621511:-15,2621519:-15,2621521:-15,2621523:-15,2752556:-40,2752558:-40,2752559:-70,2752567:10,2752577:-70,2752596:10,2818103:-20,2818132:-20,2818137:-20,2883626:-40,2883633:-80,2883639:-60,2883651:-20,2883655:-20,2883658:-10,2883663:-20,2883665:-20,2883667:-20,2883668:-60,2883670:-80,2883671:-80,2883676:-80,2883686:-35,2883690:10,2883692:-10,2883702:-40,2883703:-40,2883705:-40,2949169:-20,2949172:10,2949175:-40,2949182:237,2949204:-40,2949222:-10,2949238:-10,2949239:-10,2949240:-50,2949241:-10,3014698:-40,3014705:-80,3014711:-60,3014723:-20,3014727:-20,3014730:-10,3014735:-20,3014737:-20,3014739:-20,3014740:-60,3014742:-80,3014743:-80,3014748:-80,3014758:-35,3014762:10,3014764:-10,3014774:-40,3014775:-40,3014777:-40,3080225:-30,3080230:-24,3080236:-80,3080238:-80,3080239:-106,3080240:-20,3080241:-20,3080242:-40,3080243:-40,3080244:-80,3080245:-10,3080246:-20,3080248:-20,3080249:-20,3080250:-30,3080251:-30,3080255:-30,3080257:-106,3080258:-22,3080259:-30,3080260:-22,3080261:-22,3080262:-22,3080263:-30,3080264:-22,3080265:-22,3080266:-80,3080267:-15,3080268:-15,3080269:-22,3080270:-22,3080271:-30,3080272:-22,3080273:-30,3080274:-22,3080275:-30,3080278:-10,3080279:-10,3080280:-10,3080282:-10,3080284:-10,3080289:-44,3080290:-22,3080291:-40,3080292:-40,3080293:-40,3080294:-50,3080295:-40,3080296:-22,3080297:-22,3080298:-40,3080299:-22,3080300:-30,3080301:-30,3080302:-30,3080303:-40,3080304:-30,3080305:-40,3080306:-30,3080307:-40,3080308:-40,3080309:-50,3080310:-40,3080311:-40,3080312:-60,3080313:-40,3080314:-34,3145776:10,3145777:-10,3145780:-10,3145782:10,3145783:-40,3145812:-40,3211309:-10,3211311:-20,3211312:-10,3211313:-40,3211314:-10,3211316:-20,3211318:-10,3211319:-20,3211320:-20,3211329:-20,3211331:-10,3211335:-10,3211339:-15,3211340:-15,3211343:-10,3211345:-10,3211347:-10,3211348:-20,3211361:-5,3211363:-20,3211364:-20,3211365:-20,3211367:-20,3211375:-20,3211377:-20,3211379:-20,3211381:-10,3276845:-30,3276847:-10,3276849:-10,3276851:-20,3276852:-40,3276855:-30,3276865:-10,3276867:-10,3276871:-10,3276879:-10,3276881:-10,3276883:-10,3276884:-30,3342377:-5,3342383:-30,3342391:-20,3342401:-30,3342420:-20,3407906:-10,3407909:-20,3407911:-10,3407917:-10,3407920:-10,3407921:-20,3407923:-20,3407926:-10,3407927:-30,3407930:-20,3407931:-20,3407956:-30,3473449:-10,3473455:-20,3473456:-20,3473458:-10,3473462:-20,3473463:-50,3473473:-20,3473492:-50,3538991:-20,3538993:-20,3538994:-10,3538999:-40,3539009:-20,3539028:-40,3604517:10,3604524:-100,3604525:-40,3604526:-100,3604527:-60,3604529:10,3604530:-10,3604532:-60,3604535:20,3604536:-10,3604538:-20,3604539:-20,3604545:-60,3604547:-10,3604551:-10,3604559:-10,3604561:-10,3604563:-10,3604564:20,3604573:30,3604605:30,3670057:-8,3670065:-20,3670071:-20,3670100:-20,3735600:10,3735601:-10,3735604:-10,3735606:10,3735607:-40,3735636:-40,3801135:-20,3801140:-20,3801143:-60,3801153:-20,3801155:-10,3801159:-10,3801167:-10,3801169:-10,3801171:-10,3801172:-60,3801174:-30,3801175:-30,3801176:-20,3801180:-30,3801190:-30,3801204:-30,3801206:-20,3801207:-20,3801208:-40,3801209:-20,3801210:-20,3866671:-20,3866676:-20,3866679:-60,3866689:-20,3866691:-10,3866695:-10,3866703:-10,3866705:-10,3866707:-10,3866708:-60,3866710:-30,3866711:-30,3866712:-20,3866716:-30,3866726:-30,3866740:-30,3866742:-20,3866743:-20,3866744:-40,3866745:-20,3866746:-20,3932205:237,3932215:-20,3932244:-20,3932249:-20,3997751:-20,3997780:-20,3997785:-20,4063287:-20,4063316:-20,4063321:-20,4259873:-10,4259874:-50,4259879:-50,4259882:-70,4259891:-30,4259895:-90,4259898:-20,4259899:-20,4259903:-50,4259906:-20,4259907:-30,4259908:-20,4259909:-20,4259910:-20,4259911:-30,4259912:-20,4259913:-20,4259914:-32,4259915:-15,4259916:-15,4259917:-20,4259918:-20,4259919:-30,4259920:-20,4259921:-30,4259922:-20,4259923:-30,4259924:-90,4259925:-16,4259926:-106,4259927:-106,4259929:-70,4259930:-10,4259932:-106,4259938:-20,4259939:-18,4259940:-18,4259941:-18,4259942:-40,4259943:-18,4259944:-20,4259945:-20,4259947:-20,4259948:-20,4259949:-20,4259950:-20,4259951:-18,4259952:-20,4259953:-18,4259954:-20,4259955:-18,4259956:-60,4259957:-20,4259958:-60,4259959:-60,4259960:-30,4259961:-60,4259962:-10,4325423:-18,4325431:-40,4325434:-20,4325435:-20,4325439:-30,4325441:-18,4325442:-8,4325443:-10,4325444:-8,4325445:-19,4325446:-8,4325447:-10,4325448:-8,4325449:-8,4325453:-8,4325454:-8,4325455:-10,4325456:-8,4325457:-10,4325458:-8,4325459:-10,4325460:-40,4325462:-30,4325463:-30,4325465:-40,4325468:-30,4325473:-8,4325474:-8,4325478:-20,4325480:-8,4325481:-8,4325482:-10,4325483:-8,4325484:-10,4325485:-10,4325486:-10,4325488:-10,4325490:-10,4325492:-20,4325493:-12,4325494:-30,4325495:-30,4325496:-40,4325497:-30,4325498:-20,4390959:-25,4390967:-15,4390977:-25,4390978:2,4390980:2,4390981:2,4390982:2,4390984:2,4390985:2,4390987:-10,4390988:-10,4390989:2,4390990:2,4390992:2,4390994:2,4390996:-15,4390998:-20,4390999:-20,4391000:-20,4391001:-20,4391004:-20,4391010:2,4391011:-8,4391012:-8,4391013:-8,4391014:-20,4391015:-8,4391016:2,4391017:2,4391019:2,4391020:-10,4391021:-8,4391022:-8,4391023:-8,4391024:-8,4391025:-8,4391026:-8,4391027:-8,4391028:-10,4391029:-10,4391030:-10,4391031:-10,4391032:-30,4391033:-10,4391034:-10,4456489:-20,4456490:-10,4456492:-20,4456494:-20,4456495:-30,4456498:-10,4456503:-40,4456506:-10,4456507:-10,4456511:-20,4456513:-30,4456514:12,4456516:12,4456517:12,4456518:12,4456520:12,4456521:12,4456522:-12,4456523:-10,4456524:-10,4456525:12,4456526:12,4456528:12,4456530:12,4456532:-40,4456534:-30,4456535:-30,4456536:-30,4456537:-40,4456538:-10,4456540:-30,4456545:10,4456546:12,4456547:14,4456548:14,4456549:14,4456550:-10,4456551:14,4456552:12,4456553:12,4456554:-20,4456555:12,4456559:14,4456561:14,4456563:14,4456564:-24,4456566:-15,4456567:-15,4456568:-20,4456569:-15,4522042:-10,4522043:-10,4522047:-20,4522050:-10,4522052:-10,4522053:-10,4522054:-10,4522056:-10,4522057:-10,4522061:-10,4522062:-10,4522064:-10,4522066:-10,4522070:15,4522071:15,4522073:-20,4522076:15,4522081:-8,4522082:-10,4522083:-20,4522084:-20,4522085:-20,4522086:-30,4522087:-20,4522088:-10,4522089:-10,4522090:-10,4522091:-10,4522095:-20,4522097:-20,4522099:-20,4522100:-40,4522102:-20,4522103:-20,4522104:-30,4522105:-20,4587564:-80,4587566:-80,4587567:-80,4587578:-30,4587579:-30,4587583:-20,4587585:-80,4587586:-20,4587588:-20,4587589:-20,4587590:-20,4587592:-20,4587593:-20,4587594:-60,4587595:-30,4587596:-30,4587597:-20,4587598:-20,4587600:-20,4587602:-20,4587608:-20,4587609:-20,4587610:-20,4587617:-20,4587618:-20,4587619:-30,4587620:-30,4587621:-30,4587622:-10,4587623:-30,4587624:-20,4587625:-20,4587626:-30,4587627:-20,4587628:-20,4587629:-30,4587630:-30,4587631:-30,4587632:-30,4587633:-30,4587634:-30,4587635:-30,4587636:-40,4587637:-30,4587638:-40,4587639:-40,4587640:-50,4587641:-40,4587642:-30,4653111:-20,4653140:-20,4653142:-30,4653143:-30,4653144:-10,4653145:-20,4653148:-30,4653153:12,4653155:10,4653156:10,4653157:10,4653158:-10,4653159:10,4653167:10,4653169:10,4653171:10,4653172:-10,4653176:-10,4653178:6,4718639:-10,4718647:-40,4718655:-10,4718657:-10,4718658:-20,4718659:-14,4718660:-20,4718661:-20,4718662:-20,4718663:-14,4718664:-20,4718665:-20,4718666:-20,4718669:-20,4718670:-20,4718671:-14,4718672:-20,4718673:-14,4718674:-20,4718675:-14,4718676:-40,4718677:15,4718678:-20,4718679:-20,4718680:-10,4718681:-20,4718684:-20,4718689:-10,4718690:-20,4718691:-10,4718692:-10,4718693:-10,4718694:-47,4718695:-10,4718696:-20,4718697:-20,4718698:-10,4718699:-20,4718700:-10,4718701:6,4718702:6,4718703:-10,4718704:6,4718705:-10,4718706:6,4718707:-10,4718708:-40,4718709:-20,4718710:-10,4718711:-10,4718712:-50,4718713:-10,4718714:-10,4784175:-10,4784183:-40,4784191:-10,4784193:-10,4784194:-20,4784195:-14,4784196:-20,4784197:-20,4784198:-20,4784199:-14,4784200:-20,4784201:-20,4784202:-20,4784205:-20,4784206:-20,4784207:-14,4784208:-20,4784209:-14,4784210:-20,4784211:-14,4784212:-40,4784213:15,4784214:-20,4784215:-20,4784216:-10,4784217:-20,4784220:-20,4784225:-10,4784226:-20,4784227:-10,4784228:-10,4784229:-10,4784230:-47,4784231:-10,4784232:-20,4784233:-20,4784234:-10,4784235:-20,4784236:-10,4784237:6,4784238:6,4784239:-10,4784240:6,4784241:-10,4784242:6,4784243:-10,4784244:-40,4784245:-20,4784246:-10,4784247:-10,4784248:-50,4784249:-10,4784250:-10,4849711:-16,4849729:-16,4849730:15,4849732:15,4849733:15,4849734:15,4849736:15,4849737:15,4849738:-30,4849741:15,4849742:15,4849744:15,4849746:15,4849752:-20,4849753:-20,4849762:15,4849763:-6,4849764:-6,4849765:-6,4849766:-20,4849767:-6,4849768:15,4849769:15,4849770:-6,4849771:15,4849775:-6,4849777:-6,4849779:-6,4849780:-20,4849782:-20,4849783:-20,4849784:-30,4849785:-20,4849786:-20,4915242:-10,4915258:-20,4915259:-20,4915263:-20,4915266:-10,4915267:-40,4915268:-10,4915269:-10,4915270:-10,4915271:-40,4915272:-10,4915273:-10,4915274:-30,4915275:-20,4915276:-20,4915277:-10,4915278:-10,4915279:-40,4915280:-10,4915281:-40,4915282:-10,4915283:-40,4915285:-20,4915286:-10,4915287:-10,4915290:-10,4915292:-10,4915297:-10,4915298:-10,4915299:-46,4915300:-46,4915301:-46,4915302:-50,4915303:-46,4915304:-10,4915305:-10,4915306:-10,4915307:-10,4915309:-20,4915310:-20,4915311:-46,4915312:-20,4915313:-46,4915314:-20,4915315:-46,4915316:-50,4915317:-30,4915318:-30,4915319:-30,4915320:-30,4915321:-30,4980769:-20,4980770:-100,4980775:-100,4980778:-120,4980780:-10,4980782:-10,4980783:-20,4980791:-140,4980794:-20,4980795:-20,4980799:-80,4980801:-20,4980802:-50,4980803:-50,4980804:-50,4980805:-50,4980806:-50,4980807:-50,4980808:-50,4980809:-50,4980810:-60,4980811:-30,4980812:-30,4980813:-50,4980814:-50,4980815:-50,4980816:-50,4980817:-50,4980818:-50,4980819:-50,4980820:-140,4980821:-50,4980822:-160,4980823:-160,4980825:-160,4980826:-20,4980828:-160,4980834:-50,4980835:-39,4980836:-39,4980837:-39,4980838:-60,4980839:-39,4980840:-50,4980841:-50,4980842:-20,4980843:-50,4980844:-40,4980847:-39,4980849:-39,4980851:-39,4980852:-80,4980853:-40,4980854:-80,4980855:-80,4980856:-50,4980857:-80,4980858:-20,5046319:-10,5046327:-40,5046335:-10,5046337:-10,5046338:-20,5046339:-14,5046340:-20,5046341:-20,5046342:-20,5046343:-14,5046344:-20,5046345:-20,5046346:-20,5046349:-20,5046350:-20,5046351:-14,5046352:-20,5046353:-14,5046354:-20,5046355:-14,5046356:-40,5046357:15,5046358:-20,5046359:-20,5046360:-10,5046361:-20,5046364:-20,5046369:-10,5046370:-20,5046371:-10,5046372:-10,5046373:-10,5046374:-47,5046375:-10,5046376:-20,5046377:-20,5046378:-10,5046379:-20,5046380:-10,5046381:6,5046382:6,5046383:-10,5046384:6,5046385:-10,5046386:6,5046387:-10,5046388:-40,5046389:-20,5046390:-10,5046391:-10,5046392:-50,5046393:-10,5046394:-10,5111855:-10,5111863:-40,5111871:-10,5111873:-10,5111874:-20,5111875:-14,5111876:-20,5111877:-20,5111878:-20,5111879:-14,5111880:-20,5111881:-20,5111882:-20,5111885:-20,5111886:-20,5111887:-14,5111888:-20,5111889:-14,5111890:-20,5111891:-14,5111892:-40,5111893:15,5111894:-20,5111895:-20,5111896:-10,5111897:-20,5111900:-20,5111905:-10,5111906:-20,5111907:-10,5111908:-10,5111909:-10,5111910:-47,5111911:-10,5111912:-20,5111913:-20,5111914:-10,5111915:-20,5111916:-10,5111917:6,5111918:6,5111919:-10,5111920:6,5111921:-10,5111922:6,5111923:-10,5111924:-40,5111925:-20,5111926:-10,5111927:-10,5111928:-50,5111929:-10,5111930:-10,5177385:-20,5177386:-10,5177388:-20,5177390:-20,5177391:-30,5177394:-10,5177399:-40,5177402:-10,5177403:-10,5177407:-20,5177409:-30,5177410:12,5177412:12,5177413:12,5177414:12,5177416:12,5177417:12,5177418:-12,5177419:-10,5177420:-10,5177421:12,5177422:12,5177424:12,5177426:12,5177428:-40,5177430:-30,5177431:-30,5177432:-30,5177433:-40,5177434:-10,5177436:-30,5177441:10,5177442:12,5177443:14,5177444:14,5177445:14,5177446:-10,5177447:14,5177448:12,5177449:12,5177450:-20,5177451:12,5177455:14,5177457:14,5177459:14,5177460:-24,5177462:-15,5177463:-15,5177464:-20,5177465:-15,5242913:-10,5242924:-110,5242925:-30,5242926:-110,5242927:-70,5242938:-20,5242939:-20,5242943:-20,5242945:-70,5242946:-20,5242947:-10,5242948:-20,5242949:-20,5242950:-20,5242951:-10,5242952:-20,5242953:-20,5242954:-80,5242957:-20,5242958:-20,5242959:-10,5242960:-20,5242961:-10,5242962:-20,5242963:-10,5242966:-40,5242967:-40,5242968:-40,5242969:-40,5242970:-20,5242972:-40,5242977:-22,5242978:-20,5242979:-28,5242980:-28,5242981:-28,5242983:-28,5242984:-20,5242985:-20,5242987:-20,5242989:-10,5242990:-10,5242991:-28,5242992:-10,5242993:-28,5242994:-10,5242995:-28,5242997:-30,5242998:-20,5242999:-20,5243000:-40,5243001:-20,5243002:-30,5308457:-20,5308458:-10,5308460:-20,5308462:-20,5308463:-30,5308466:-10,5308471:-40,5308474:-10,5308475:-10,5308479:-20,5308481:-30,5308482:12,5308484:12,5308485:12,5308486:12,5308488:12,5308489:12,5308490:-12,5308491:-10,5308492:-10,5308493:12,5308494:12,5308496:12,5308498:12,5308500:-40,5308502:-30,5308503:-30,5308504:-30,5308505:-40,5308506:-10,5308508:-30,5308513:10,5308514:12,5308515:14,5308516:14,5308517:14,5308518:-10,5308519:14,5308520:12,5308521:12,5308522:-20,5308523:12,5308527:14,5308529:14,5308531:14,5308532:-24,5308534:-15,5308535:-15,5308536:-20,5308537:-15,5373999:-10,5374007:-20,5374010:-10,5374011:-10,5374015:-20,5374017:-10,5374019:-15,5374023:-15,5374027:-15,5374028:-15,5374031:-15,5374033:-15,5374035:-15,5374036:-20,5374038:-50,5374039:-50,5374041:-20,5374044:-50,5374051:-12,5374052:-12,5374053:-12,5374054:-30,5374055:-12,5374058:-6,5374063:-12,5374065:-12,5374067:-12,5374068:-30,5374069:-10,5374070:-20,5374071:-20,5374072:-20,5374073:-20,5439529:-20,5439530:-10,5439532:-20,5439534:-20,5439535:-30,5439538:-10,5439543:-40,5439546:-10,5439547:-10,5439551:-20,5439553:-30,5439554:12,5439556:12,5439557:12,5439558:12,5439560:12,5439561:12,5439562:-12,5439563:-10,5439564:-10,5439565:12,5439566:12,5439568:12,5439570:12,5439572:-40,5439574:-30,5439575:-30,5439576:-30,5439577:-40,5439578:-10,5439580:-30,5439585:10,5439586:12,5439587:14,5439588:14,5439589:14,5439590:-10,5439591:14,5439592:12,5439593:12,5439594:-20,5439595:12,5439599:14,5439601:14,5439603:14,5439604:-24,5439606:-15,5439607:-15,5439608:-20,5439609:-15,5505058:10,5505062:-29,5505063:10,5505066:10,5505068:-100,5505069:-40,5505070:-100,5505071:-90,5505076:-30,5505079:10,5505082:-60,5505083:-60,5505087:-20,5505089:-90,5505090:-30,5505091:-40,5505092:-30,5505093:-30,5505094:-30,5505095:-40,5505096:-30,5505097:-30,5505098:-120,5505099:-40,5505100:-40,5505101:-30,5505102:-30,5505103:-40,5505104:-30,5505105:-40,5505106:-30,5505107:-40,5505108:10,5505110:-10,5505111:-10,5505113:8,5505116:-10,5505117:20,5505121:-70,5505122:-30,5505123:-80,5505124:-80,5505125:-80,5505126:-40,5505127:-80,5505128:-30,5505129:-30,5505130:-40,5505131:-30,5505132:-20,5505133:-50,5505134:-50,5505135:-80,5505136:-50,5505137:-80,5505138:-50,5505139:-80,5505140:-40,5505141:-70,5505142:-50,5505143:-50,5505144:-60,5505145:-50,5505146:-50,5570607:-16,5570625:-16,5570626:15,5570628:15,5570629:15,5570630:15,5570632:15,5570633:15,5570634:-30,5570637:15,5570638:15,5570640:15,5570642:15,5570648:-20,5570649:-20,5570658:15,5570659:-6,5570660:-6,5570661:-6,5570662:-20,5570663:-6,5570664:15,5570665:15,5570666:-6,5570667:15,5570671:-6,5570673:-6,5570675:-6,5570676:-20,5570678:-20,5570679:-20,5570680:-30,5570681:-20,5570682:-20,5636129:-30,5636134:-24,5636140:-80,5636142:-80,5636143:-106,5636144:-20,5636145:-20,5636146:-40,5636147:-40,5636148:-80,5636149:-10,5636150:-20,5636152:-20,5636153:-20,5636154:-30,5636155:-30,5636159:-30,5636161:-106,5636162:-22,5636163:-30,5636164:-22,5636165:-22,5636166:-22,5636167:-30,5636168:-22,5636169:-22,5636170:-80,5636171:-15,5636172:-15,5636173:-22,5636174:-22,5636175:-30,5636176:-22,5636177:-30,5636178:-22,5636179:-30,5636182:-10,5636183:-10,5636184:-10,5636186:-10,5636188:-10,5636193:-44,5636194:-22,5636195:-40,5636196:-40,5636197:-40,5636198:-50,5636199:-40,5636200:-22,5636201:-22,5636202:-40,5636203:-22,5636204:-30,5636205:-30,5636206:-30,5636207:-40,5636208:-30,5636209:-40,5636210:-30,5636211:-40,5636212:-40,5636213:-50,5636214:-40,5636215:-40,5636216:-60,5636217:-40,5636218:-34,5701665:-30,5701670:-24,5701676:-80,5701678:-80,5701679:-106,5701680:-20,5701681:-20,5701682:-40,5701683:-40,5701684:-80,5701685:-10,5701686:-20,5701688:-20,5701689:-20,5701690:-30,5701691:-30,5701695:-30,5701697:-106,5701698:-22,5701699:-30,5701700:-22,5701701:-22,5701702:-22,5701703:-30,5701704:-22,5701705:-22,5701706:-80,5701707:-15,5701708:-15,5701709:-22,5701710:-22,5701711:-30,5701712:-22,5701713:-30,5701714:-22,5701715:-30,5701718:-10,5701719:-10,5701720:-10,5701722:-10,5701724:-10,5701729:-44,5701730:-22,5701731:-40,5701732:-40,5701733:-40,5701734:-50,5701735:-40,5701736:-22,5701737:-22,5701738:-40,5701739:-22,5701740:-30,5701741:-30,5701742:-30,5701743:-40,5701744:-30,5701745:-40,5701746:-30,5701747:-40,5701748:-40,5701749:-50,5701750:-40,5701751:-40,5701752:-60,5701753:-40,5701754:-34,5767210:-10,5767226:-20,5767227:-20,5767231:-20,5767234:-10,5767235:-40,5767236:-10,5767237:-10,5767238:-10,5767239:-40,5767240:-10,5767241:-10,5767242:-30,5767243:-20,5767244:-20,5767245:-10,5767246:-10,5767247:-40,5767248:-10,5767249:-40,5767250:-10,5767251:-40,5767253:-20,5767254:-10,5767255:-10,5767258:-10,5767260:-10,5767265:-10,5767266:-10,5767267:-46,5767268:-46,5767269:-46,5767270:-50,5767271:-46,5767272:-10,5767273:-10,5767274:-10,5767275:-10,5767277:-20,5767278:-20,5767279:-46,5767280:-20,5767281:-46,5767282:-20,5767283:-46,5767284:-50,5767285:-30,5767286:-30,5767287:-30,5767288:-30,5767289:-30,5832747:-20,5832751:-70,5832759:8,5832764:-20,5832765:-20,5832766:-20,5832769:-70,5832770:-20,5832771:-40,5832772:-20,5832773:-20,5832774:-20,5832775:-40,5832776:-20,5832777:-20,5832778:-120,5832781:-20,5832782:-20,5832783:-40,5832784:-20,5832785:-40,5832786:-20,5832787:-40,5832788:8,5832789:-20,5832793:20,5832794:-10,5832798:-20,5832801:-60,5832802:-20,5832803:-70,5832804:-70,5832805:-70,5832806:-50,5832807:-70,5832808:-20,5832809:-20,5832810:-40,5832811:-20,5832812:-20,5832813:-60,5832814:-60,5832815:-70,5832816:-60,5832817:-70,5832818:-60,5832819:-70,5832820:-60,5832821:-60,5832822:-40,5832823:-40,5832824:-60,5832825:-40,5832826:-70,5832830:-20,5898285:-20,5898287:-20,5898303:-20,5898305:-20,5898307:-20,5898311:-20,5898314:-30,5898319:-20,5898321:-20,5898323:-20,5898326:-10,5898327:-10,5898328:-10,5898329:-10,5898332:-10,5898337:-10,5898339:-32,5898340:-32,5898341:-32,5898342:-40,5898343:-32,5898346:-15,5898348:-6,5898349:-10,5898350:-10,5898351:-32,5898352:-10,5898353:-32,5898354:-10,5898355:-32,5898356:-30,5898357:-20,5898358:-30,5898359:-30,5898360:-40,5898361:-30,5898362:-20,5963831:20,5963860:20,5963882:30,6029345:-10,6029346:-50,6029351:-50,6029354:-70,6029363:-30,6029367:-90,6029370:-20,6029371:-20,6029375:-50,6029378:-20,6029379:-30,6029380:-20,6029381:-20,6029382:-20,6029383:-30,6029384:-20,6029385:-20,6029386:-32,6029387:-15,6029388:-15,6029389:-20,6029390:-20,6029391:-30,6029392:-20,6029393:-30,6029394:-20,6029395:-30,6029396:-90,6029397:-16,6029398:-106,6029399:-106,6029401:-70,6029402:-10,6029404:-106,6029410:-20,6029411:-18,6029412:-18,6029413:-18,6029414:-40,6029415:-18,6029416:-20,6029417:-20,6029419:-20,6029420:-20,6029421:-20,6029422:-20,6029423:-18,6029424:-20,6029425:-18,6029426:-20,6029427:-18,6029428:-60,6029429:-20,6029430:-60,6029431:-60,6029432:-30,6029433:-60,6029434:-10,6160439:-20,6160468:-20,6160473:-20,6357034:-20,6357036:20,6357038:20,6357055:-20,6357058:-8,6357060:-8,6357061:-8,6357062:-8,6357064:-8,6357065:-8,6357069:-8,6357070:-8,6357072:-8,6357074:-8,6357090:-8,6357091:-6,6357092:-6,6357093:-6,6357094:-14,6357095:-6,6357096:-8,6357097:-8,6357098:4,6357099:-8,6357100:-10,6357103:-6,6357105:-6,6357107:-6,6357108:-50,6357109:-10,6357110:-24,6357111:-24,6357112:-26,6357113:-24,6357114:-8,6422562:-10,6422567:-10,6422570:-20,6422575:-10,6422583:-70,6422591:-40,6422593:-10,6422594:-10,6422596:-10,6422597:-10,6422598:-10,6422600:-10,6422601:-10,6422605:-10,6422606:-10,6422608:-10,6422610:-10,6422612:-70,6422614:-50,6422615:-50,6422616:-20,6422617:-50,6422620:-50,6422625:4,6422626:-10,6422627:-10,6422628:-10,6422629:-10,6422630:-30,6422631:-10,6422632:-10,6422633:-10,6422634:-10,6422635:-10,6422636:-5,6422637:-10,6422638:-10,6422639:-10,6422640:-10,6422641:-10,6422642:-10,6422643:-10,6422644:-30,6422645:-10,6422646:-25,6422647:-25,6422648:-50,6422649:-25,6422650:-24,6488098:-10,6488103:-10,6488106:-20,6488111:-10,6488119:-70,6488127:-40,6488129:-10,6488130:-10,6488132:-10,6488133:-10,6488134:-10,6488136:-10,6488137:-10,6488141:-10,6488142:-10,6488144:-10,6488146:-10,6488148:-70,6488150:-50,6488151:-50,6488152:-20,6488153:-50,6488156:-50,6488161:4,6488162:-10,6488163:-10,6488164:-10,6488165:-10,6488166:-30,6488167:-10,6488168:-10,6488169:-10,6488170:-10,6488171:-10,6488172:-5,6488173:-10,6488174:-10,6488175:-10,6488176:-10,6488177:-10,6488178:-10,6488179:-10,6488180:-30,6488181:-10,6488182:-25,6488183:-25,6488184:-50,6488185:-25,6488186:-24,6553647:-10,6553655:-40,6553663:-10,6553665:-10,6553666:-20,6553667:-14,6553668:-20,6553669:-20,6553670:-20,6553671:-14,6553672:-20,6553673:-20,6553674:-20,6553677:-20,6553678:-20,6553679:-14,6553680:-20,6553681:-14,6553682:-20,6553683:-14,6553684:-40,6553685:15,6553686:-20,6553687:-20,6553688:-10,6553689:-20,6553692:-20,6553697:-10,6553698:-20,6553699:-10,6553700:-10,6553701:-10,6553702:-47,6553703:-10,6553704:-20,6553705:-20,6553706:-10,6553707:-20,6553708:-10,6553709:6,6553710:6,6553711:-10,6553712:6,6553713:-10,6553714:6,6553715:-10,6553716:-40,6553717:-20,6553718:-10,6553719:-10,6553720:-50,6553721:-10,6553722:-10,6619170:-10,6619175:-10,6619178:-20,6619183:-10,6619191:-70,6619199:-40,6619201:-10,6619202:-10,6619204:-10,6619205:-10,6619206:-10,6619208:-10,6619209:-10,6619213:-10,6619214:-10,6619216:-10,6619218:-10,6619220:-70,6619222:-50,6619223:-50,6619224:-20,6619225:-50,6619228:-50,6619233:4,6619234:-10,6619235:-10,6619236:-10,6619237:-10,6619238:-30,6619239:-10,6619240:-10,6619241:-10,6619242:-10,6619243:-10,6619244:-5,6619245:-10,6619246:-10,6619247:-10,6619248:-10,6619249:-10,6619250:-10,6619251:-10,6619252:-30,6619253:-10,6619254:-25,6619255:-25,6619256:-50,6619257:-25,6619258:-24,6684714:10,6684716:-60,6684717:-30,6684718:-60,6684719:-39,6684730:-30,6684731:-30,6684737:-39,6684738:-40,6684740:-40,6684741:-40,6684742:-40,6684744:-40,6684745:-40,6684749:-40,6684750:-40,6684752:-40,6684754:-40,6684765:10,6684769:-30,6684770:-40,6684771:-44,6684772:-44,6684773:-44,6684774:-107,6684775:-44,6684776:-40,6684777:-40,6684778:-40,6684779:-40,6684780:-20,6684781:-30,6684782:-30,6684783:-44,6684784:-30,6684785:-44,6684786:-30,6684787:-44,6684788:-40,6684790:-40,6684791:-40,6684792:-40,6684793:-40,6684794:-10,6750263:-60,6750271:-20,6750274:-15,6750276:-15,6750277:-15,6750278:-15,6750280:-15,6750281:-15,6750285:-15,6750286:-15,6750288:-15,6750290:-15,6750292:-60,6750294:-20,6750295:-20,6750297:-20,6750300:-20,6750306:-15,6750307:-10,6750308:-10,6750309:-10,6750310:-23,6750311:-10,6750312:-15,6750313:-15,6750314:2,6750315:-15,6750319:-10,6750321:-10,6750323:-10,6750324:-28,6750326:-20,6750327:-20,6750328:-15,6750329:-20,6750330:-10,6815786:-20,6815799:-40,6815807:-20,6815810:-6,6815812:-6,6815813:-6,6815814:-6,6815816:-6,6815817:-6,6815821:-6,6815822:-6,6815824:-6,6815826:-6,6815828:-40,6815830:-20,6815831:-20,6815832:-10,6815833:-40,6815836:-20,6815841:-10,6815842:-6,6815843:-12,6815844:-12,6815845:-12,6815846:-34,6815847:-12,6815848:-6,6815849:-6,6815850:-30,6815851:-6,6815852:-15,6815853:-20,6815854:-20,6815855:-12,6815856:-20,6815857:-12,6815858:-20,6815859:-12,6815860:-40,6815861:-15,6815862:-34,6815863:-34,6815864:-50,6815865:-34,6815866:-20,6881327:-10,6881335:-40,6881343:-10,6881345:-10,6881346:-20,6881347:-14,6881348:-20,6881349:-20,6881350:-20,6881351:-14,6881352:-20,6881353:-20,6881354:-20,6881357:-20,6881358:-20,6881359:-14,6881360:-20,6881361:-14,6881362:-20,6881363:-14,6881364:-40,6881365:15,6881366:-20,6881367:-20,6881368:-10,6881369:-20,6881372:-20,6881377:-10,6881378:-20,6881379:-10,6881380:-10,6881381:-10,6881382:-47,6881383:-10,6881384:-20,6881385:-20,6881386:-10,6881387:-20,6881388:-10,6881389:6,6881390:6,6881391:-10,6881392:6,6881393:-10,6881394:6,6881395:-10,6881396:-40,6881397:-20,6881398:-10,6881399:-10,6881400:-50,6881401:-10,6881402:-10,6946863:-10,6946871:-40,6946879:-10,6946881:-10,6946882:-20,6946883:-14,6946884:-20,6946885:-20,6946886:-20,6946887:-14,6946888:-20,6946889:-20,6946890:-20,6946893:-20,6946894:-20,6946895:-14,6946896:-20,6946897:-14,6946898:-20,6946899:-14,6946900:-40,6946901:15,6946902:-20,6946903:-20,6946904:-10,6946905:-20,6946908:-20,6946913:-10,6946914:-20,6946915:-10,6946916:-10,6946917:-10,6946918:-47,6946919:-10,6946920:-20,6946921:-20,6946922:-10,6946923:-20,6946924:-10,6946925:6,6946926:6,6946927:-10,6946928:6,6946929:-10,6946930:6,6946931:-10,6946932:-40,6946933:-20,6946934:-10,6946935:-10,6946936:-50,6946937:-10,6946938:-10,7012385:-20,7012394:-20,7012396:-20,7012397:-70,7012398:-20,7012407:-20,7012410:-40,7012411:-40,7012415:-30,7012418:-50,7012419:-10,7012420:-50,7012421:-50,7012422:-50,7012423:-10,7012424:-50,7012425:-50,7012429:-50,7012430:-50,7012431:-10,7012432:-50,7012433:-10,7012434:-50,7012435:-10,7012436:-20,7012449:-44,7012450:-50,7012451:-50,7012452:-50,7012453:-50,7012454:-60,7012455:-50,7012456:-50,7012457:-50,7012458:-26,7012459:-50,7012460:-35,7012461:-42,7012462:-42,7012463:-50,7012464:-42,7012465:-50,7012466:-42,7012467:-50,7012468:-53,7012469:-20,7012470:-70,7012471:-70,7012472:-40,7012473:-70,7012474:-30,7077930:-20,7077932:20,7077934:20,7077951:-20,7077954:-8,7077956:-8,7077957:-8,7077958:-8,7077960:-8,7077961:-8,7077965:-8,7077966:-8,7077968:-8,7077970:-8,7077986:-8,7077987:-6,7077988:-6,7077989:-6,7077990:-14,7077991:-6,7077992:-8,7077993:-8,7077994:4,7077995:-8,7077996:-10,7077999:-6,7078001:-6,7078003:-6,7078004:-50,7078005:-10,7078006:-24,7078007:-24,7078008:-26,7078009:-24,7078010:-8,7143466:-20,7143479:-40,7143487:-20,7143490:-6,7143492:-6,7143493:-6,7143494:-6,7143496:-6,7143497:-6,7143501:-6,7143502:-6,7143504:-6,7143506:-6,7143508:-40,7143510:-20,7143511:-20,7143512:-10,7143513:-40,7143516:-20,7143521:-10,7143522:-6,7143523:-12,7143524:-12,7143525:-12,7143526:-34,7143527:-12,7143528:-6,7143529:-6,7143530:-30,7143531:-6,7143532:-15,7143533:-20,7143534:-20,7143535:-12,7143536:-20,7143537:-12,7143538:-20,7143539:-12,7143540:-40,7143541:-15,7143542:-34,7143543:-34,7143544:-50,7143545:-34,7143546:-20,7209002:-20,7209015:-40,7209023:-20,7209026:-6,7209028:-6,7209029:-6,7209030:-6,7209032:-6,7209033:-6,7209037:-6,7209038:-6,7209040:-6,7209042:-6,7209044:-40,7209046:-20,7209047:-20,7209048:-10,7209049:-40,7209052:-20,7209057:-10,7209058:-6,7209059:-12,7209060:-12,7209061:-12,7209062:-34,7209063:-12,7209064:-6,7209065:-6,7209066:-30,7209067:-6,7209068:-15,7209069:-20,7209070:-20,7209071:-12,7209072:-20,7209073:-12,7209074:-20,7209075:-12,7209076:-40,7209077:-15,7209078:-34,7209079:-34,7209080:-50,7209081:-34,7209082:-20,7274530:-10,7274535:-10,7274538:-20,7274543:-10,7274551:-70,7274559:-40,7274561:-10,7274562:-10,7274564:-10,7274565:-10,7274566:-10,7274568:-10,7274569:-10,7274573:-10,7274574:-10,7274576:-10,7274578:-10,7274580:-70,7274582:-50,7274583:-50,7274584:-20,7274585:-50,7274588:-50,7274593:4,7274594:-10,7274595:-10,7274596:-10,7274597:-10,7274598:-30,7274599:-10,7274600:-10,7274601:-10,7274602:-10,7274603:-10,7274604:-5,7274605:-10,7274606:-10,7274607:-10,7274608:-10,7274609:-10,7274610:-10,7274611:-10,7274612:-30,7274613:-10,7274614:-25,7274615:-25,7274616:-50,7274617:-25,7274618:-24,7340066:-10,7340071:-10,7340074:-20,7340079:-10,7340087:-70,7340095:-40,7340097:-10,7340098:-10,7340100:-10,7340101:-10,7340102:-10,7340104:-10,7340105:-10,7340109:-10,7340110:-10,7340112:-10,7340114:-10,7340116:-70,7340118:-50,7340119:-50,7340120:-20,7340121:-50,7340124:-50,7340129:4,7340130:-10,7340131:-10,7340132:-10,7340133:-10,7340134:-30,7340135:-10,7340136:-10,7340137:-10,7340138:-10,7340139:-10,7340140:-5,7340141:-10,7340142:-10,7340143:-10,7340144:-10,7340145:-10,7340146:-10,7340147:-10,7340148:-30,7340149:-10,7340150:-25,7340151:-25,7340152:-50,7340153:-25,7340154:-24,7405623:-60,7405631:-20,7405634:-15,7405636:-15,7405637:-15,7405638:-15,7405640:-15,7405641:-15,7405645:-15,7405646:-15,7405648:-15,7405650:-15,7405652:-60,7405654:-20,7405655:-20,7405657:-20,7405660:-20,7405666:-15,7405667:-10,7405668:-10,7405669:-10,7405670:-23,7405671:-10,7405672:-15,7405673:-15,7405674:2,7405675:-15,7405679:-10,7405681:-10,7405683:-10,7405684:-28,7405686:-20,7405687:-20,7405688:-15,7405689:-20,7405690:-10,7471148:-60,7471149:-40,7471150:-60,7471151:-30,7471159:-40,7471162:-50,7471163:-50,7471169:-30,7471170:-30,7471172:-30,7471173:-30,7471174:-30,7471176:-30,7471177:-30,7471181:-30,7471182:-30,7471184:-30,7471186:-30,7471188:-40,7471201:-40,7471202:-30,7471203:-40,7471204:-40,7471205:-40,7471206:-60,7471207:-40,7471208:-30,7471209:-30,7471210:-40,7471211:-30,7471212:-30,7471213:-40,7471214:-40,7471215:-40,7471216:-40,7471217:-40,7471218:-40,7471219:-40,7471220:-50,7471221:-20,7471222:-25,7471223:-25,7471224:-70,7471225:-25,7471226:-30,7536674:-10,7536679:-10,7536682:-20,7536687:-10,7536695:-70,7536703:-40,7536705:-10,7536706:-10,7536708:-10,7536709:-10,7536710:-10,7536712:-10,7536713:-10,7536717:-10,7536718:-10,7536720:-10,7536722:-10,7536724:-70,7536726:-50,7536727:-50,7536728:-20,7536729:-50,7536732:-50,7536737:4,7536738:-10,7536739:-10,7536740:-10,7536741:-10,7536742:-30,7536743:-10,7536744:-10,7536745:-10,7536746:-10,7536747:-10,7536748:-5,7536749:-10,7536750:-10,7536751:-10,7536752:-10,7536753:-10,7536754:-10,7536755:-10,7536756:-30,7536757:-10,7536758:-25,7536759:-25,7536760:-50,7536761:-25,7536762:-24,7602220:25,7602221:-30,7602222:25,7602223:10,7602241:10,7602242:-16,7602244:-16,7602245:-16,7602246:-16,7602248:-16,7602249:-16,7602253:-16,7602254:-16,7602256:-16,7602258:-16,7602262:-10,7602263:-10,7602266:30,7602268:-10,7602273:-10,7602274:-16,7602275:-16,7602276:-16,7602277:-16,7602278:-34,7602279:-16,7602280:-16,7602281:-16,7602282:-10,7602283:-16,7602285:5,7602286:5,7602287:-16,7602288:5,7602289:-16,7602290:5,7602291:-16,7602292:-91,7602293:-6,7602294:-10,7602295:-10,7602296:-30,7602297:-10,7602298:2,7667767:-60,7667775:-20,7667778:-15,7667780:-15,7667781:-15,7667782:-15,7667784:-15,7667785:-15,7667789:-15,7667790:-15,7667792:-15,7667794:-15,7667796:-60,7667798:-20,7667799:-20,7667801:-20,7667804:-20,7667810:-15,7667811:-10,7667812:-10,7667813:-10,7667814:-23,7667815:-10,7667816:-15,7667817:-15,7667818:2,7667819:-15,7667823:-10,7667825:-10,7667827:-10,7667828:-28,7667830:-20,7667831:-20,7667832:-15,7667833:-20,7667834:-10,7733292:-60,7733293:-10,7733294:-60,7733295:-50,7733303:-40,7733306:-20,7733307:-20,7733313:-50,7733314:-10,7733315:-15,7733316:-10,7733317:-10,7733318:-10,7733319:-15,7733320:-10,7733321:-10,7733322:-40,7733325:-10,7733326:-10,7733327:-15,7733328:-10,7733329:-15,7733330:-10,7733331:-15,7733332:-40,7733345:-22,7733346:-10,7733347:-26,7733348:-26,7733349:-26,7733350:-10,7733351:-26,7733352:-10,7733353:-10,7733354:-15,7733355:-10,7733356:-10,7733357:-24,7733358:-24,7733359:-26,7733360:-24,7733361:-26,7733362:-24,7733363:-26,7733364:-24,7733365:-20,7733368:-48,7733370:-22,7798828:-60,7798829:-10,7798830:-60,7798831:-50,7798839:-40,7798842:-20,7798843:-20,7798849:-50,7798850:-10,7798851:-15,7798852:-10,7798853:-10,7798854:-10,7798855:-15,7798856:-10,7798857:-10,7798858:-40,7798861:-10,7798862:-10,7798863:-15,7798864:-10,7798865:-15,7798866:-10,7798867:-15,7798868:-40,7798881:-22,7798882:-10,7798883:-26,7798884:-26,7798885:-26,7798886:-10,7798887:-26,7798888:-10,7798889:-10,7798890:-15,7798891:-10,7798892:-10,7798893:-24,7798894:-24,7798895:-26,7798896:-24,7798897:-26,7798898:-24,7798899:-26,7798900:-24,7798901:-20,7798904:-48,7798906:-22,7864353:-20,7864362:-20,7864364:-20,7864365:-70,7864366:-20,7864375:-20,7864378:-40,7864379:-40,7864383:-30,7864386:-50,7864387:-10,7864388:-50,7864389:-50,7864390:-50,7864391:-10,7864392:-50,7864393:-50,7864397:-50,7864398:-50,7864399:-10,7864400:-50,7864401:-10,7864402:-50,7864403:-10,7864404:-20,7864417:-44,7864418:-50,7864419:-50,7864420:-50,7864421:-50,7864422:-60,7864423:-50,7864424:-50,7864425:-50,7864426:-26,7864427:-50,7864428:-35,7864429:-42,7864430:-42,7864431:-50,7864432:-42,7864433:-50,7864434:-42,7864435:-50,7864436:-53,7864437:-20,7864438:-70,7864439:-70,7864440:-40,7864441:-70,7864442:-30,7929900:-60,7929901:-10,7929902:-60,7929903:-50,7929911:-40,7929914:-20,7929915:-20,7929921:-50,7929922:-10,7929923:-15,7929924:-10,7929925:-10,7929926:-10,7929927:-15,7929928:-10,7929929:-10,7929930:-40,7929933:-10,7929934:-10,7929935:-15,7929936:-10,7929937:-15,7929938:-10,7929939:-15,7929940:-40,7929953:-22,7929954:-10,7929955:-26,7929956:-26,7929957:-26,7929958:-10,7929959:-26,7929960:-10,7929961:-10,7929962:-15,7929963:-10,7929964:-10,7929965:-24,7929966:-24,7929967:-26,7929968:-24,7929969:-26,7929970:-24,7929971:-26,7929972:-24,7929973:-20,7929976:-48,7929978:-22,7995450:-20,7995451:-20,7995455:-10,7995458:-10,7995460:-10,7995461:-10,7995462:-10,7995464:-10,7995465:-10,7995469:-10,7995470:-10,7995472:-10,7995474:-10,7995478:-30,7995479:-30,7995480:-10,7995484:-30,7995489:-15,7995490:-10,7995491:-30,7995492:-30,7995493:-30,7995494:-20,7995495:-30,7995496:-10,7995497:-10,7995498:-20,7995499:-10,7995500:-25,7995501:-20,7995502:-20,7995503:-30,7995504:-20,7995505:-30,7995506:-20,7995507:-30,7995508:-30,7995509:-20,7995510:-26,7995511:-26,7995512:-50,7995513:-26,7995514:-16,8060983:10,8061012:10,8257591:-20,8257620:-20,8257625:-20}, + sans500: {2228271:-50.02,2228276:-30.02,2228279:9.98,2228289:-50.02,2228308:9.98,2228323:-10,2228324:-10.02,2228325:-10.02,2228327:-10,2228335:-10.02,2228337:-10.02,2228339:-10.02,2490423:-58.22,2490452:-58.2,2490454:-41.22,2490455:-41.2,2490460:-41.2,2555951:-50.02,2555956:-30.02,2555959:9.98,2555969:-50,2555988:9.98,2556003:-10,2556004:-10.02,2556005:-10.02,2556007:-10,2556015:-10.02,2556017:-10.02,2556019:-10,2621490:-8,2621491:-6,2621492:-35,2621496:-8.41,2621507:-15,2621511:-15,2621519:-15,2621521:-15.02,2621523:-15,2752556:-40,2752558:-40,2752559:-72.02,2752567:12,2752577:-72,2752596:12,2818103:-20.02,2818132:-20.02,2818137:-20.02,2883626:-40,2883633:-76.02,2883639:-60.02,2883651:-20.02,2883655:-20.02,2883658:-6.02,2883663:-20,2883665:-20.02,2883667:-20.02,2883668:-60.02,2883670:-77.22,2883671:-77.2,2883676:-77.2,2883686:-34.02,2883690:9.98,2883692:-10,2883702:-42,2883703:-42.02,2883705:-42.02,2949169:-20,2949172:9.98,2949175:-40.02,2949182:235.58,2949204:-40.02,2949222:-10.02,2949238:-10,2949239:-10.02,2949240:-50,2949241:-10,3014698:-40,3014705:-76.02,3014711:-60.02,3014723:-20.02,3014727:-20.02,3014730:-6.02,3014735:-20,3014737:-20.02,3014739:-20.02,3014740:-60.02,3014742:-77.22,3014743:-77.2,3014748:-77.2,3014758:-34.02,3014762:9.98,3014764:-10,3014774:-42,3014775:-42.02,3014777:-42.02,3080225:-32.02,3080230:-20.61,3080236:-77.22,3080238:-77.22,3080239:-108.83,3080240:-20.02,3080241:-20.02,3080242:-40.02,3080243:-40.02,3080244:-76.02,3080245:-10.02,3080246:-20.02,3080247:1.98,3080248:-20.02,3080249:-20.02,3080250:-32.02,3080251:-32.02,3080255:-32.02,3080257:-108.81,3080258:-23.61,3080259:-36.02,3080260:-23.61,3080261:-23.61,3080262:-23.62,3080263:-36.02,3080264:-23.62,3080265:-23.62,3080266:-80.02,3080267:-15.02,3080268:-15.02,3080269:-23.61,3080270:-23.61,3080271:-36.02,3080272:-23.61,3080273:-36.02,3080274:-23.61,3080275:-36.02,3080276:1.98,3080278:-10.02,3080279:-10.02,3080280:-10.02,3080282:-12.02,3080284:-10.02,3080289:-49.61,3080290:-23.62,3080291:-44.02,3080292:-44.02,3080293:-44.02,3080294:-50.02,3080295:-44.02,3080296:-23.62,3080297:-23.61,3080298:-48.02,3080299:-23.62,3080300:-28.02,3080301:-34.02,3080302:-34.02,3080303:-44.02,3080304:-34.02,3080305:-44.02,3080306:-34.02,3080307:-44.02,3080308:-40.02,3080309:-52.02,3080310:-42.02,3080311:-42.02,3080312:-64.02,3080313:-42.02,3080314:-38.02,3145776:9.98,3145777:-10.02,3145780:-7.22,3145782:9.98,3145783:-40.02,3145812:-40.02,3211309:-10,3211311:-20.02,3211312:-12.02,3211313:-40.02,3211314:-10,3211316:-20.02,3211318:-12,3211319:-22.02,3211320:-20.02,3211329:-20.02,3211331:-12,3211335:-12.02,3211339:-14.2,3211340:-14.22,3211343:-12,3211345:-12.02,3211347:-12.02,3211348:-22.02,3211361:-5,3211363:-18.61,3211364:-18.61,3211365:-18.61,3211367:-18.61,3211375:-18.61,3211377:-18.61,3211379:-18.61,3211381:-8.02,3276845:-30,3276847:-10.02,3276849:-9.61,3276851:-21,3276852:-36.02,3276855:-28.02,3276865:-10,3276867:-11.2,3276871:-11.2,3276879:-11.2,3276881:-11.22,3276883:-11.2,3276884:-28.02,3342377:-6,3342383:-32.81,3342391:-20,3342401:-32.8,3342420:-20,3407906:-10.02,3407909:-20.02,3407911:-10.02,3407917:-10.02,3407920:-10.02,3407921:-20.02,3407923:-20,3407926:-10,3407927:-30.02,3407930:-20.02,3407931:-20.02,3407956:-30.02,3473449:-11.02,3473455:-20.02,3473456:-20.02,3473458:-10.02,3473462:-20.02,3473463:-50.02,3473473:-20.02,3473492:-50.02,3538991:-22.02,3538993:-20,3538994:-10.8,3538999:-38,3539009:-22,3539028:-38,3604517:11.98,3604524:-96.02,3604525:-36.02,3604526:-96.02,3604527:-56.02,3604529:9.98,3604530:-10.02,3604532:-54.02,3604535:19.98,3604536:-9.22,3604538:-20.02,3604539:-20.02,3604545:-56.02,3604547:-10.02,3604551:-10.02,3604559:-10,3604561:-10.02,3604563:-10.02,3604564:19.98,3604573:30,3604605:30,3670057:-8.41,3670065:-18.02,3670071:-20.02,3670100:-20.02,3735600:9.98,3735601:-10.02,3735604:-7.22,3735606:10,3735607:-40.02,3735636:-40.02,3801135:-20.02,3801140:-20.02,3801143:-58.02,3801153:-20.02,3801155:-10,3801159:-10.02,3801167:-10,3801169:-10.02,3801171:-10.02,3801172:-58.02,3801174:-32.02,3801175:-32,3801176:-20,3801180:-32,3801190:-28.02,3801204:-28.02,3801206:-20,3801207:-20.02,3801208:-42.02,3801209:-20,3801210:-20,3866671:-20.02,3866676:-20.02,3866679:-58.02,3866689:-20.02,3866691:-10,3866695:-10.02,3866703:-10,3866705:-10.02,3866707:-10.02,3866708:-58.02,3866710:-32.02,3866711:-32,3866712:-20,3866716:-32,3866726:-28.02,3866740:-28.02,3866742:-20,3866743:-20.02,3866744:-42.02,3866745:-20,3866746:-20,3932205:235.58,3932215:-20.02,3932244:-20.02,3932249:-20.02,3997751:-20.02,3997780:-20.02,3997785:-20.02,4063287:-20.02,4063316:-20.02,4063321:-20.02,4259873:-10.02,4259874:-50.02,4259879:-50,4259882:-72,4259891:-34.41,4259895:-93.22,4259898:-20.02,4259899:-20.02,4259903:-52.02,4259906:-22.02,4259907:-34,4259908:-22,4259909:-22,4259910:-22.02,4259911:-34.02,4259912:-22.02,4259913:-22.02,4259914:-30.02,4259915:-15.8,4259916:-15.81,4259917:-22.02,4259918:-22,4259919:-34,4259920:-22,4259921:-34.02,4259922:-22,4259923:-34.02,4259924:-93.22,4259925:-18.81,4259926:-108.81,4259927:-108.8,4259929:-74,4259930:-10.02,4259932:-108.8,4259938:-22.02,4259939:-20.41,4259940:-20.42,4259941:-20.41,4259942:-42.02,4259943:-20.41,4259944:-22.02,4259945:-22,4259947:-22.02,4259948:-22,4259949:-20.02,4259950:-20.02,4259951:-20.42,4259952:-20.02,4259953:-20.42,4259954:-20,4259955:-20.41,4259956:-64.02,4259957:-20.81,4259958:-62,4259959:-62.02,4259960:-30.02,4259961:-62,4259962:-12,4325423:-22.42,4325431:-38.02,4325434:-20.02,4325435:-20.02,4325439:-28.02,4325441:-22.41,4325442:-8.02,4325443:-10,4325444:-8,4325445:-16.2,4325446:-8.02,4325447:-10.02,4325448:-8.02,4325449:-8.02,4325453:-8.02,4325454:-8,4325455:-10,4325456:-8,4325457:-10.02,4325458:-8,4325459:-10.02,4325460:-38.02,4325462:-34.02,4325463:-34,4325465:-44,4325468:-34,4325473:-8.41,4325474:-8.02,4325478:-20.02,4325480:-8.02,4325481:-8,4325482:-14.02,4325483:-8.02,4325484:-12.8,4325485:-10.02,4325486:-10.02,4325488:-10.02,4325490:-10,4325492:-20.02,4325493:-11.61,4325494:-34,4325495:-34.02,4325496:-43.61,4325497:-34,4325498:-22,4390959:-26.41,4390967:-15.02,4390977:-26.41,4390987:-8.59,4390988:-8.61,4390996:-15.02,4390998:-22.02,4390999:-22,4391000:-20,4391001:-22,4391004:-22,4391009:-5.61,4391011:-8.41,4391012:-8.41,4391013:-8.41,4391014:-20.02,4391015:-8.41,4391020:-10.8,4391021:-8.41,4391022:-8.41,4391023:-8.41,4391024:-8.41,4391025:-8.41,4391026:-8.41,4391027:-8.41,4391028:-10,4391029:-12.02,4391030:-12,4391031:-12.02,4391032:-32,4391033:-12,4391034:-10,4456489:-19,4456490:-10,4456492:-20,4456494:-20,4456495:-36.02,4456498:-11,4456503:-40,4456506:-10,4456507:-10,4456511:-20,4456513:-36,4456514:10.39,4456516:10.41,4456517:10.41,4456518:10.39,4456520:10.39,4456521:10.39,4456522:-10.81,4456523:-11.39,4456524:-11.41,4456525:10.39,4456526:10.41,4456528:10.41,4456530:10.41,4456532:-40,4456534:-36.41,4456535:-36.39,4456536:-32,4456537:-42,4456538:-10,4456540:-36.39,4456545:7.59,4456546:10.39,4456547:11.61,4456548:11.59,4456549:11.59,4456550:-10,4456551:11.61,4456552:10.39,4456553:10.41,4456554:-20,4456555:10.39,4456559:11.59,4456561:11.59,4456563:11.59,4456564:-23.2,4456566:-16.8,4456567:-16.81,4456568:-24,4456569:-16.8,4522042:-10,4522043:-10,4522047:-20,4522050:-7.61,4522052:-7.59,4522053:-7.59,4522054:-7.61,4522056:-7.61,4522057:-7.61,4522061:-7.61,4522062:-8.59,4522064:-7.59,4522066:-7.59,4522070:12.8,4522071:12.8,4522073:-20,4522076:12.8,4522081:-9.59,4522082:-7.61,4522083:-18.39,4522084:-18.41,4522085:-18.41,4522086:-32,4522087:-18.39,4522088:-7.61,4522089:-7.59,4522090:-12,4522091:-7.61,4522095:-18.41,4522097:-18.41,4522099:-18.41,4522100:-38,4522102:-22,4522103:-22.02,4522104:-30,4522105:-22,4587564:-80.02,4587566:-80.02,4587567:-81.62,4587578:-30.02,4587579:-30.02,4587583:-18.02,4587585:-81.61,4587586:-18.02,4587588:-18,4587589:-18,4587590:-18.02,4587592:-18.02,4587593:-18.02,4587594:-60.02,4587595:-28,4587596:-28.02,4587597:-18.02,4587598:-18.02,4587600:-18,4587602:-18.02,4587608:-20,4587609:-18.02,4587610:-18.02,4587617:-22.02,4587618:-18.02,4587619:-28,4587620:-28.02,4587621:-28.02,4587622:-10.02,4587623:-28,4587624:-18.02,4587625:-18.02,4587626:-32.02,4587627:-18.02,4587628:-20,4587629:-28.02,4587630:-28.02,4587631:-28.02,4587632:-28.02,4587633:-28.02,4587634:-28,4587635:-28.02,4587636:-36.02,4587637:-30.02,4587638:-40,4587639:-40.02,4587640:-48.02,4587641:-40.02,4587642:-30,4653111:-20.02,4653140:-20.02,4653142:-32.02,4653143:-32,4653144:-12,4653145:-20.02,4653148:-32,4653153:9.98,4653155:10,4653156:9.98,4653157:9.98,4653158:-14.02,4653159:10,4653167:9.98,4653169:9.98,4653171:9.98,4653172:-12.02,4653174:-7.2,4653175:-7.22,4653176:-16.02,4653177:-7.2,4653178:2.8,4718639:-10.02,4718647:-36.02,4718655:-10.02,4718657:-10.02,4718658:-18.02,4718659:-14.81,4718660:-18,4718661:-18,4718662:-18.02,4718663:-14.81,4718664:-18.02,4718665:-18.02,4718666:-18.02,4718669:-18.02,4718670:-18.02,4718671:-14.81,4718672:-18,4718673:-14.81,4718674:-18.02,4718675:-14.81,4718676:-36.02,4718677:14.98,4718678:-22.02,4718679:-22,4718680:-10,4718681:-20.02,4718684:-22,4718689:-10.02,4718690:-18.02,4718691:-10,4718692:-10.02,4718693:-10.02,4718694:-43.61,4718695:-10,4718696:-18.02,4718697:-18.02,4718698:-16.02,4718699:-18.02,4718700:-8.41,4718701:5.98,4718702:5.98,4718703:-10.02,4718704:5.98,4718705:-10.02,4718706:6,4718707:-10.02,4718708:-36.41,4718709:-19.22,4718710:-10,4718711:-10.02,4718712:-50.02,4718713:-10.02,4718714:-10,4784175:-10.02,4784183:-36.02,4784191:-10.02,4784193:-10.02,4784194:-18.02,4784195:-14.81,4784196:-18.02,4784197:-18.02,4784198:-18.02,4784199:-14.81,4784200:-18.02,4784201:-18.02,4784202:-18.02,4784205:-18.02,4784206:-18.02,4784207:-14.81,4784208:-18.02,4784209:-14.83,4784210:-18.02,4784211:-14.81,4784212:-36.02,4784213:14.98,4784214:-22.02,4784215:-22.02,4784216:-10.02,4784217:-20.02,4784220:-22.02,4784225:-10.02,4784226:-18.02,4784227:-10.02,4784228:-10.02,4784229:-10.02,4784230:-43.62,4784231:-10.02,4784232:-18.02,4784233:-18.02,4784234:-16.02,4784235:-18.02,4784236:-8.41,4784237:5.98,4784238:5.98,4784239:-10.02,4784240:5.98,4784241:-10.02,4784242:5.98,4784243:-10.02,4784244:-36.42,4784245:-19.22,4784246:-10.02,4784247:-10.02,4784248:-50.02,4784249:-10.02,4784250:-10.02,4849711:-18.83,4849729:-18.81,4849730:14.98,4849732:14.98,4849733:14.98,4849734:14.98,4849736:14.98,4849737:14.98,4849738:-26.02,4849741:14.98,4849742:14.98,4849744:14.98,4849746:14.98,4849749:1.98,4849752:-20.02,4849753:-18.02,4849762:14.98,4849763:-6.02,4849764:-6.02,4849765:-6.02,4849766:-19.22,4849767:-6.02,4849768:14.98,4849769:14.98,4849770:-6.81,4849771:14.98,4849775:-6.02,4849777:-6.02,4849779:-6.02,4849780:-18.02,4849782:-20.02,4849783:-20.02,4849784:-30.02,4849785:-20.02,4849786:-20.02,4915242:-12,4915258:-20,4915259:-20,4915263:-22,4915266:-10,4915267:-40,4915268:-10,4915269:-10,4915270:-10,4915271:-40,4915272:-10,4915273:-10.02,4915274:-30.02,4915275:-19.2,4915276:-19.2,4915277:-10,4915278:-10,4915279:-40,4915280:-10,4915281:-40.02,4915282:-10,4915283:-40,4915285:-20,4915286:-10.02,4915287:-10,4915290:-10,4915292:-10,4915297:-16,4915298:-10.02,4915299:-48.8,4915300:-48.81,4915301:-48.81,4915302:-52,4915303:-48.8,4915304:-10.02,4915305:-10,4915306:-9.61,4915307:-10.02,4915309:-18.61,4915310:-18.61,4915311:-48.81,4915312:-18.61,4915313:-48.81,4915314:-18.59,4915315:-48.8,4915316:-50,4915317:-30,4915318:-32,4915319:-32.02,4915320:-32,4915321:-32,4980769:-18.02,4980770:-96.02,4980775:-96.02,4980778:-120.02,4980780:-7.62,4980782:-7.62,4980783:-20.02,4980791:-136.02,4980794:-18.02,4980795:-18.02,4980799:-80.02,4980801:-20.02,4980802:-44.02,4980803:-48.02,4980804:-44.02,4980805:-44.02,4980806:-44.02,4980807:-48.02,4980808:-44.02,4980809:-44.02,4980810:-51.62,4980811:-28.02,4980812:-28.02,4980813:-44.02,4980814:-44.02,4980815:-48.02,4980816:-44.02,4980817:-48.02,4980818:-44.02,4980819:-48.02,4980820:-136.02,4980821:-46.02,4980822:-152.02,4980823:-152.02,4980825:-160.02,4980826:-18.02,4980828:-152.02,4980834:-44.02,4980835:-35.61,4980836:-35.62,4980837:-35.62,4980838:-56.02,4980839:-35.61,4980840:-44.02,4980841:-44.02,4980842:-18.02,4980843:-44.02,4980844:-36.02,4980847:-35.62,4980849:-35.62,4980851:-35.61,4980852:-76.02,4980853:-36.02,4980854:-80.02,4980855:-80.02,4980856:-48.02,4980857:-80.02,4980858:-20.02,5046319:-10.02,5046327:-36.02,5046335:-10.02,5046337:-10.02,5046338:-18.02,5046339:-14.81,5046340:-18,5046341:-18,5046342:-18.02,5046343:-14.81,5046344:-18.02,5046345:-18.02,5046346:-18.02,5046349:-18.02,5046350:-18,5046351:-14.8,5046352:-18,5046353:-14.81,5046354:-18,5046355:-14.81,5046356:-36.02,5046357:14.98,5046358:-22.02,5046359:-22,5046360:-10,5046361:-20,5046364:-22,5046369:-10,5046370:-18.02,5046371:-10,5046372:-10.02,5046373:-10.02,5046374:-43.61,5046375:-10,5046376:-18.02,5046377:-18,5046378:-16.02,5046379:-18.02,5046380:-8.41,5046381:5.98,5046382:5.98,5046383:-10.02,5046384:5.98,5046385:-10.02,5046386:6,5046387:-10.02,5046388:-36.41,5046389:-19.22,5046390:-10,5046391:-10.02,5046392:-50.02,5046393:-10,5046394:-10,5111855:-10.02,5111863:-36.02,5111871:-10.02,5111873:-10,5111874:-18,5111875:-14.8,5111876:-18,5111877:-18,5111878:-18.02,5111879:-14.81,5111880:-18.02,5111881:-18.02,5111882:-18.02,5111885:-18,5111886:-18,5111887:-14.8,5111888:-18,5111889:-14.81,5111890:-18,5111891:-14.81,5111892:-36.02,5111893:14.98,5111894:-22.02,5111895:-22,5111896:-10,5111897:-20,5111900:-22,5111905:-10,5111906:-18.02,5111907:-10,5111908:-10.02,5111909:-10.02,5111910:-43.61,5111911:-10,5111912:-18.02,5111913:-18,5111914:-16.02,5111915:-18.02,5111916:-8.41,5111917:6,5111918:5.98,5111919:-10.02,5111920:5.98,5111921:-10.02,5111922:6,5111923:-10,5111924:-36.41,5111925:-19.2,5111926:-10,5111927:-10.02,5111928:-50,5111929:-10,5111930:-10,5177385:-19,5177386:-10,5177388:-20,5177390:-20,5177391:-36.02,5177394:-11,5177399:-40,5177402:-10,5177403:-10,5177407:-20,5177409:-36,5177410:10.39,5177412:10.41,5177413:10.41,5177414:10.39,5177416:10.39,5177417:10.39,5177418:-10.81,5177419:-11.39,5177420:-11.41,5177421:10.39,5177422:10.41,5177424:10.41,5177426:10.41,5177428:-40,5177430:-36.41,5177431:-36.39,5177432:-32,5177433:-42,5177434:-10,5177436:-36.39,5177441:7.59,5177442:10.39,5177443:11.61,5177444:11.59,5177445:11.59,5177446:-10,5177447:11.61,5177448:10.39,5177449:10.41,5177450:-20,5177451:10.39,5177455:11.59,5177457:11.59,5177459:11.59,5177460:-23.2,5177462:-16.8,5177463:-16.81,5177464:-24,5177465:-16.8,5242913:-10,5242924:-108,5242925:-28,5242926:-108,5242927:-74.41,5242938:-20,5242939:-20,5242943:-18,5242945:-74.41,5242946:-20,5242947:-12,5242948:-20,5242949:-20,5242950:-20,5242951:-12,5242952:-20,5242953:-20.02,5242954:-80.02,5242957:-20,5242958:-20,5242959:-12,5242960:-20,5242961:-12.02,5242962:-20,5242963:-12,5242966:-42.02,5242967:-42,5242968:-40,5242969:-40,5242970:-22,5242972:-42,5242977:-22,5242978:-20.02,5242979:-28,5242980:-28.02,5242981:-28,5242983:-28,5242984:-20.02,5242985:-20,5242987:-20.02,5242989:-8.61,5242990:-8.61,5242991:-28.02,5242992:-8.61,5242993:-28.02,5242994:-8.59,5242995:-28,5242997:-28,5242998:-20,5242999:-20.02,5243000:-40,5243001:-20,5243002:-30,5308457:-19.02,5308458:-10.02,5308460:-20.02,5308462:-20.02,5308463:-36.02,5308466:-11.02,5308471:-40.02,5308474:-10.02,5308475:-10.02,5308479:-20.02,5308481:-36.02,5308482:10.39,5308484:10.39,5308485:10.39,5308486:10.38,5308488:10.38,5308489:10.38,5308490:-10.83,5308491:-11.41,5308492:-11.42,5308493:10.39,5308494:10.39,5308496:10.39,5308498:10.39,5308500:-40.02,5308502:-36.42,5308503:-36.41,5308504:-32.02,5308505:-42.02,5308506:-10.02,5308508:-36.41,5308513:7.59,5308514:10.38,5308515:11.59,5308516:11.58,5308517:11.58,5308518:-10.02,5308519:11.59,5308520:10.38,5308521:10.39,5308522:-20.02,5308523:10.38,5308527:11.58,5308529:11.58,5308531:11.58,5308532:-23.22,5308534:-16.81,5308535:-16.83,5308536:-24.02,5308537:-16.81,5373999:-10.02,5374007:-19.2,5374010:-8.81,5374011:-8.81,5374015:-20.02,5374017:-10,5374019:-15,5374023:-15.02,5374027:-14.2,5374028:-14.22,5374031:-15,5374033:-15.02,5374035:-15.02,5374036:-19.2,5374038:-50.02,5374039:-50,5374041:-22,5374044:-50,5374051:-14,5374052:-14.02,5374053:-14.02,5374054:-28.02,5374055:-14,5374058:-10.81,5374063:-14.02,5374065:-14.02,5374067:-14,5374068:-30,5374069:-10.02,5374070:-22,5374071:-22.02,5374072:-24,5374073:-22,5439529:-19,5439530:-10,5439532:-20.02,5439534:-20.02,5439535:-36.02,5439538:-11.02,5439543:-40.02,5439546:-10.02,5439547:-10.02,5439551:-20.02,5439553:-36.02,5439554:10.39,5439556:10.39,5439557:10.39,5439558:10.39,5439560:10.39,5439561:10.38,5439562:-10.81,5439563:-11.41,5439564:-11.42,5439565:10.39,5439566:10.39,5439568:10.39,5439570:10.39,5439572:-40.02,5439574:-36.42,5439575:-36.41,5439576:-32,5439577:-42.02,5439578:-10.02,5439580:-36.41,5439585:7.59,5439586:10.38,5439587:11.59,5439588:11.58,5439589:11.58,5439590:-10.02,5439591:11.59,5439592:10.38,5439593:10.39,5439594:-20.02,5439595:10.38,5439599:11.58,5439601:11.58,5439603:11.59,5439604:-23.22,5439606:-16.81,5439607:-16.81,5439608:-24.02,5439609:-16.81,5505058:9.98,5505062:-24.81,5505063:9.98,5505066:12,5505068:-96.02,5505069:-38.02,5505070:-96.02,5505071:-93.22,5505076:-28.61,5505079:9.98,5505082:-58.02,5505083:-58.02,5505087:-20.02,5505089:-93.22,5505090:-26.02,5505091:-40.02,5505092:-26,5505093:-26,5505094:-26.02,5505095:-40.02,5505096:-26.02,5505097:-26.02,5505098:-120.02,5505099:-36,5505100:-36.02,5505101:-26.02,5505102:-26.02,5505103:-40,5505104:-26,5505105:-40.02,5505106:-26.02,5505107:-40.02,5505108:9.98,5505110:-10.02,5505111:-10,5505113:8.39,5505116:-10,5505117:20,5505121:-70.02,5505122:-26.02,5505123:-80,5505124:-80.02,5505125:-80.02,5505126:-38.02,5505127:-80,5505128:-26.02,5505129:-26.02,5505130:-44.02,5505131:-26.02,5505132:-18,5505133:-48.02,5505134:-48.02,5505135:-80.02,5505136:-48.02,5505137:-80.02,5505138:-48,5505139:-80.02,5505140:-36.02,5505141:-64.02,5505142:-44,5505143:-44.02,5505144:-56.02,5505145:-44.02,5505146:-48,5570607:-18.81,5570625:-18.81,5570626:14.98,5570628:15,5570629:15,5570630:14.98,5570632:14.98,5570633:14.98,5570634:-26.02,5570637:14.98,5570638:14.98,5570640:15,5570642:14.98,5570645:1.98,5570648:-20,5570649:-18.02,5570658:14.98,5570659:-6,5570660:-6.02,5570661:-6.02,5570662:-19.22,5570663:-6,5570664:14.98,5570665:14.98,5570666:-6.81,5570667:14.98,5570671:-6.02,5570673:-6.02,5570675:-6.02,5570676:-18.02,5570678:-20,5570679:-20.02,5570680:-30.02,5570681:-20.02,5570682:-20,5636129:-32.02,5636134:-20.61,5636140:-77.22,5636142:-77.22,5636143:-108.83,5636144:-20.02,5636145:-20.02,5636146:-40.02,5636147:-40.02,5636148:-76.02,5636149:-10.02,5636150:-20.02,5636151:1.98,5636152:-20.02,5636153:-20.02,5636154:-32.02,5636155:-32.02,5636159:-32.02,5636161:-108.81,5636162:-23.61,5636163:-36.02,5636164:-23.61,5636165:-23.61,5636166:-23.62,5636167:-36.02,5636168:-23.62,5636169:-23.62,5636170:-80.02,5636171:-15.02,5636172:-15.02,5636173:-23.61,5636174:-23.61,5636175:-36.02,5636176:-23.61,5636177:-36.02,5636178:-23.61,5636179:-36.02,5636180:1.98,5636182:-10.02,5636183:-10.02,5636184:-10.02,5636186:-12.02,5636188:-10.02,5636193:-49.61,5636194:-23.62,5636195:-44.02,5636196:-44.02,5636197:-44.02,5636198:-50.02,5636199:-44.02,5636200:-23.62,5636201:-23.61,5636202:-48.02,5636203:-23.62,5636204:-28.02,5636205:-34.02,5636206:-34.02,5636207:-44.02,5636208:-34.02,5636209:-44.02,5636210:-34.02,5636211:-44.02,5636212:-40.02,5636213:-52.02,5636214:-42.02,5636215:-42.02,5636216:-64.02,5636217:-42.02,5636218:-38.02,5701665:-32,5701670:-20.59,5701676:-77.2,5701678:-77.2,5701679:-108.81,5701680:-20.02,5701681:-20,5701682:-40,5701683:-40,5701684:-76,5701685:-10.02,5701686:-20,5701687:2,5701688:-20.02,5701689:-20,5701690:-32,5701691:-32,5701695:-32,5701697:-108.8,5701698:-23.61,5701699:-36,5701700:-23.59,5701701:-23.59,5701702:-23.61,5701703:-36,5701704:-23.61,5701705:-23.61,5701706:-80.02,5701707:-15,5701708:-15.02,5701709:-23.61,5701710:-23.59,5701711:-36,5701712:-23.59,5701713:-36.02,5701714:-23.59,5701715:-36,5701716:2,5701718:-10.02,5701719:-10,5701720:-10,5701722:-12,5701724:-10,5701729:-49.59,5701730:-23.61,5701731:-44,5701732:-44.02,5701733:-44,5701734:-50,5701735:-44,5701736:-23.61,5701737:-23.59,5701738:-48,5701739:-23.61,5701740:-28,5701741:-34,5701742:-34.02,5701743:-44.02,5701744:-34.02,5701745:-44.02,5701746:-34,5701747:-44,5701748:-40,5701749:-52,5701750:-42,5701751:-42.02,5701752:-64,5701753:-42,5701754:-38,5767210:-12,5767226:-20,5767227:-20,5767231:-22,5767234:-10,5767235:-40,5767236:-10,5767237:-10,5767238:-10,5767239:-40,5767240:-10,5767241:-10.02,5767242:-30.02,5767243:-19.2,5767244:-19.2,5767245:-10,5767246:-10,5767247:-40,5767248:-10,5767249:-40.02,5767250:-10,5767251:-40,5767253:-20,5767254:-10.02,5767255:-10,5767258:-10,5767260:-10,5767265:-16,5767266:-10.02,5767267:-48.8,5767268:-48.81,5767269:-48.81,5767270:-52,5767271:-48.8,5767272:-10.02,5767273:-10,5767274:-9.61,5767275:-10.02,5767277:-18.61,5767278:-18.61,5767279:-48.81,5767280:-18.61,5767281:-48.81,5767282:-18.59,5767283:-48.8,5767284:-50,5767285:-30,5767286:-32,5767287:-32.02,5767288:-32,5767289:-32,5832747:-20.02,5832751:-74.02,5832759:8.39,5832764:-20.02,5832765:-20.02,5832766:-20.02,5832769:-74,5832770:-20,5832771:-42,5832772:-20,5832773:-20,5832774:-20.02,5832775:-42.02,5832776:-20.02,5832777:-20.02,5832778:-124.02,5832781:-20,5832782:-20,5832783:-42,5832784:-20,5832785:-42.02,5832786:-20,5832787:-42.02,5832788:8.39,5832789:-18.02,5832793:20,5832794:-10,5832798:-20.02,5832801:-64,5832802:-20.02,5832803:-70,5832804:-70.02,5832805:-70.02,5832806:-54.02,5832807:-70,5832808:-20.02,5832809:-20,5832810:-44.02,5832811:-20.02,5832812:-18,5832813:-60,5832814:-60.02,5832815:-70.02,5832816:-60.02,5832817:-70.02,5832818:-60,5832819:-70,5832820:-60,5832821:-60.02,5832822:-40,5832823:-40.02,5832824:-60,5832825:-40,5832826:-72,5832830:-20,5898285:-18,5898287:-20.02,5898303:-20.02,5898305:-20.02,5898307:-20,5898311:-20.02,5898314:-28.02,5898319:-20,5898321:-20.02,5898323:-20.02,5898326:-12.02,5898327:-12,5898328:-10,5898329:-10,5898332:-12,5898337:-10,5898339:-33.2,5898340:-33.22,5898341:-33.22,5898342:-42.02,5898343:-33.2,5898346:-16.02,5898348:-6.41,5898349:-10.02,5898350:-10.02,5898351:-33.22,5898352:-10.02,5898353:-33.22,5898354:-10,5898355:-33.2,5898356:-30.02,5898357:-18.02,5898358:-32,5898359:-32.02,5898360:-40.02,5898361:-32,5898362:-20,5963831:20,5963860:20,5963882:30,6029345:-10,6029346:-50,6029351:-50,6029354:-72,6029363:-34.39,6029367:-93.2,6029370:-20,6029371:-20,6029375:-52,6029378:-22,6029379:-34,6029380:-22,6029381:-22,6029382:-22,6029383:-34,6029384:-22,6029385:-22.02,6029386:-30.02,6029387:-15.8,6029388:-15.81,6029389:-22,6029390:-22,6029391:-34,6029392:-22,6029393:-34.02,6029394:-22,6029395:-34,6029396:-93.2,6029397:-18.81,6029398:-108.81,6029399:-108.8,6029401:-74,6029402:-10,6029404:-108.8,6029410:-22.02,6029411:-20.39,6029412:-20.41,6029413:-20.41,6029414:-42,6029415:-20.39,6029416:-22.02,6029417:-22,6029419:-22.02,6029420:-22,6029421:-20,6029422:-20.02,6029423:-20.41,6029424:-20.02,6029425:-20.41,6029426:-20,6029427:-20.41,6029428:-64,6029429:-20.81,6029430:-62,6029431:-62.02,6029432:-30,6029433:-62,6029434:-12,6160439:-20.02,6160468:-20.02,6160473:-20.02,6357034:-22,6357036:19.98,6357038:19.98,6357055:-21.41,6357058:-8,6357060:-8,6357061:-8,6357062:-8.02,6357064:-8.02,6357065:-8.02,6357069:-8,6357070:-8,6357072:-8,6357074:-8,6357090:-8.02,6357091:-7.2,6357092:-7.22,6357093:-7.2,6357094:-12.81,6357095:-7.2,6357096:-8.02,6357097:-8,6357098:1.59,6357099:-8.02,6357100:-10,6357103:-7.22,6357105:-7.22,6357107:-7.2,6357108:-48,6357109:-9.2,6357110:-27.2,6357111:-27.22,6357112:-26.81,6357113:-27.2,6357114:-9.2,6422562:-10.02,6422567:-10.02,6422570:-22.02,6422575:-10.02,6422583:-70.02,6422591:-40.02,6422593:-10.02,6422594:-10.02,6422596:-10.02,6422597:-10.02,6422598:-10.02,6422600:-10.02,6422601:-10.02,6422605:-10.02,6422606:-10.02,6422608:-10.02,6422610:-10.02,6422612:-70.02,6422614:-50.02,6422615:-50.02,6422616:-20.02,6422617:-50.02,6422620:-50.02,6422625:1.19,6422626:-10.02,6422627:-10.02,6422628:-10.02,6422629:-10.02,6422630:-30.02,6422631:-10.02,6422632:-10.02,6422633:-10.02,6422634:-18.02,6422635:-10.02,6422636:-5.02,6422637:-10.02,6422638:-10.02,6422639:-10.02,6422640:-10.02,6422641:-10.02,6422642:-10.02,6422643:-10.02,6422644:-28.81,6422645:-10.02,6422646:-26.41,6422647:-26.42,6422648:-54.42,6422649:-26.41,6422650:-23.61,6488098:-10,6488103:-10,6488106:-22,6488111:-10.02,6488119:-70,6488127:-40,6488129:-10,6488130:-10,6488132:-10,6488133:-10,6488134:-10,6488136:-10,6488137:-10.02,6488141:-10,6488142:-10,6488144:-10,6488146:-10,6488148:-70,6488150:-50.02,6488151:-50,6488152:-20,6488153:-50,6488156:-50,6488161:1.2,6488162:-10.02,6488163:-10,6488164:-10.02,6488165:-10,6488166:-30,6488167:-10,6488168:-10.02,6488169:-10,6488170:-18,6488171:-10.02,6488172:-5,6488173:-10,6488174:-10.02,6488175:-10.02,6488176:-10.02,6488177:-10.02,6488178:-10,6488179:-10,6488180:-28.8,6488181:-10,6488182:-26.39,6488183:-26.41,6488184:-54.41,6488185:-26.41,6488186:-23.59,6553647:-10.02,6553655:-36.02,6553663:-10.02,6553665:-10.02,6553666:-18.02,6553667:-14.81,6553668:-18.02,6553669:-18.02,6553670:-18.02,6553671:-14.81,6553672:-18.02,6553673:-18.02,6553674:-18.02,6553677:-18.02,6553678:-18.02,6553679:-14.81,6553680:-18.02,6553681:-14.83,6553682:-18.02,6553683:-14.81,6553684:-36.02,6553685:14.98,6553686:-22.02,6553687:-22.02,6553688:-10.02,6553689:-20.02,6553692:-22.02,6553697:-10.02,6553698:-18.02,6553699:-10.02,6553700:-10.02,6553701:-10.02,6553702:-43.62,6553703:-10.02,6553704:-18.02,6553705:-18.02,6553706:-16.02,6553707:-18.02,6553708:-8.41,6553709:5.98,6553710:5.98,6553711:-10.02,6553712:5.98,6553713:-10.02,6553714:5.98,6553715:-10.02,6553716:-36.42,6553717:-19.22,6553718:-10.02,6553719:-10.02,6553720:-50.02,6553721:-10.02,6553722:-10.02,6619170:-10.02,6619175:-10.02,6619178:-22,6619183:-10.02,6619191:-70.02,6619199:-40.02,6619201:-10.02,6619202:-10.02,6619204:-10,6619205:-10,6619206:-10.02,6619208:-10.02,6619209:-10.02,6619213:-10.02,6619214:-10.02,6619216:-10,6619218:-10.02,6619220:-70.02,6619222:-50.02,6619223:-50,6619224:-20,6619225:-50.02,6619228:-50,6619233:1.19,6619234:-10.02,6619235:-10,6619236:-10.02,6619237:-10.02,6619238:-30.02,6619239:-10,6619240:-10.02,6619241:-10.02,6619242:-18.02,6619243:-10.02,6619244:-5,6619245:-10.02,6619246:-10.02,6619247:-10.02,6619248:-10.02,6619249:-10.02,6619250:-10,6619251:-10.02,6619252:-28.81,6619253:-10.02,6619254:-26.41,6619255:-26.42,6619256:-54.41,6619257:-26.41,6619258:-23.61,6684714:12,6684716:-60.02,6684717:-28.02,6684718:-60.02,6684719:-40.62,6684730:-26.02,6684731:-26.02,6684737:-40.61,6684738:-35.22,6684740:-35.2,6684741:-35.2,6684742:-35.22,6684744:-35.22,6684745:-35.22,6684749:-35.22,6684750:-35.2,6684752:-35.2,6684754:-35.2,6684765:14,6684769:-30.02,6684770:-35.22,6684771:-42,6684772:-42.02,6684773:-42.02,6684774:-104.23,6684775:-42,6684776:-35.22,6684777:-35.22,6684778:-46.02,6684779:-35.22,6684780:-18.41,6684781:-28.02,6684782:-28.02,6684783:-42.02,6684784:-28.02,6684785:-42.02,6684786:-28,6684787:-42.02,6684788:-36.02,6684790:-38,6684791:-38.02,6684792:-40.02,6684793:-38.02,6684794:-12,6750263:-52,6750271:-20,6750274:-12.8,6750276:-12.8,6750277:-12.8,6750278:-12.81,6750280:-12.81,6750281:-12.81,6750285:-12.8,6750286:-12.8,6750288:-12.8,6750290:-12.8,6750292:-52,6750294:-22.02,6750295:-22,6750297:-20,6750300:-22,6750306:-12.81,6750307:-10,6750308:-10.02,6750309:-10,6750310:-19.61,6750311:-10,6750312:-12.81,6750313:-12.8,6750315:-12.81,6750319:-10.02,6750321:-10.02,6750323:-10,6750324:-25.61,6750326:-20,6750327:-20.02,6750328:-18,6750329:-20,6750330:-10,6815786:-18.02,6815799:-40.02,6815807:-20.02,6815810:-6.02,6815812:-6.02,6815813:-6.02,6815814:-6.02,6815816:-6.02,6815817:-6.02,6815821:-6.02,6815822:-6.02,6815824:-6.02,6815826:-6.02,6815828:-40.02,6815830:-20.02,6815831:-20.02,6815832:-10.02,6815833:-40.02,6815836:-20.02,6815841:-11.02,6815842:-6.02,6815843:-12.41,6815844:-12.42,6815845:-12.42,6815846:-30.81,6815847:-12.41,6815848:-6.02,6815849:-6.02,6815850:-32.02,6815851:-6.02,6815852:-12.81,6815853:-18.02,6815854:-18.02,6815855:-12.42,6815856:-18.02,6815857:-12.42,6815858:-18.02,6815859:-12.42,6815860:-38.42,6815861:-14.22,6815862:-33.2,6815863:-33.22,6815864:-50.02,6815865:-33.22,6815866:-20.02,6881327:-10.02,6881335:-36.02,6881343:-10.02,6881345:-10,6881346:-18,6881347:-14.8,6881348:-18,6881349:-18,6881350:-18.02,6881351:-14.81,6881352:-18.02,6881353:-18.02,6881354:-18.02,6881357:-18,6881358:-18,6881359:-14.8,6881360:-18,6881361:-14.81,6881362:-18,6881363:-14.81,6881364:-36.02,6881365:14.98,6881366:-22.02,6881367:-22,6881368:-10,6881369:-20,6881372:-22,6881377:-10,6881378:-18.02,6881379:-10,6881380:-10.02,6881381:-10.02,6881382:-43.61,6881383:-10,6881384:-18.02,6881385:-18,6881386:-16.02,6881387:-18.02,6881388:-8.41,6881389:6,6881390:5.98,6881391:-10.02,6881392:5.98,6881393:-10.02,6881394:6,6881395:-10,6881396:-36.41,6881397:-19.2,6881398:-10,6881399:-10.02,6881400:-50,6881401:-10,6881402:-10,6946863:-10.02,6946871:-36.02,6946879:-10.02,6946881:-10.02,6946882:-18.02,6946883:-14.81,6946884:-18,6946885:-18,6946886:-18.02,6946887:-14.81,6946888:-18.02,6946889:-18.02,6946890:-18.02,6946893:-18.02,6946894:-18.02,6946895:-14.81,6946896:-18,6946897:-14.81,6946898:-18.02,6946899:-14.81,6946900:-36.02,6946901:14.98,6946902:-22.02,6946903:-22,6946904:-10,6946905:-20.02,6946908:-22,6946913:-10.02,6946914:-18.02,6946915:-10,6946916:-10.02,6946917:-10.02,6946918:-43.61,6946919:-10,6946920:-18.02,6946921:-18.02,6946922:-16.02,6946923:-18.02,6946924:-8.41,6946925:5.98,6946926:5.98,6946927:-10.02,6946928:5.98,6946929:-10.02,6946930:6,6946931:-10.02,6946932:-36.41,6946933:-19.22,6946934:-10,6946935:-10.02,6946936:-50.02,6946937:-10.02,6946938:-10,7012385:-20.02,7012394:-18.02,7012396:-20.02,7012397:-66.02,7012398:-20.02,7012407:-20.02,7012410:-42.02,7012411:-42.02,7012415:-30.02,7012418:-50.02,7012419:-10.02,7012420:-50.02,7012421:-50.02,7012422:-50.02,7012423:-10.02,7012424:-50.02,7012425:-50.02,7012429:-50.02,7012430:-50.02,7012431:-10.02,7012432:-50.02,7012433:-10.02,7012434:-50.02,7012435:-10.02,7012436:-20.02,7012449:-48.02,7012450:-50.02,7012451:-57.2,7012452:-57.22,7012453:-57.22,7012454:-58.02,7012455:-57.2,7012456:-50.02,7012457:-50.02,7012458:-28.81,7012459:-50.02,7012460:-40.02,7012461:-42.02,7012462:-42.02,7012463:-57.22,7012464:-42.02,7012465:-57.22,7012466:-42.02,7012467:-57.22,7012468:-51.22,7012469:-20.02,7012470:-70.02,7012471:-70.02,7012472:-42.02,7012473:-70.02,7012474:-32.02,7077930:-22,7077932:20,7077934:20,7077951:-21.41,7077954:-8,7077956:-8,7077957:-8,7077958:-8,7077960:-8,7077961:-8.02,7077965:-8,7077966:-8,7077968:-8,7077970:-8,7077986:-8.02,7077987:-7.2,7077988:-7.2,7077989:-7.2,7077990:-12.81,7077991:-7.2,7077992:-8.02,7077993:-8,7077994:1.59,7077995:-8.02,7077996:-10,7077999:-7.2,7078001:-7.2,7078003:-7.2,7078004:-48,7078005:-9.2,7078006:-27.2,7078007:-27.2,7078008:-26.8,7078009:-27.2,7078010:-9.2,7143466:-18,7143479:-40.02,7143487:-20.02,7143490:-6.02,7143492:-6,7143493:-6,7143494:-6.02,7143496:-6.02,7143497:-6.02,7143501:-6.02,7143502:-6,7143504:-6,7143506:-6,7143508:-40.02,7143510:-20.02,7143511:-20,7143512:-10,7143513:-40,7143516:-20,7143521:-11,7143522:-6.02,7143523:-12.41,7143524:-12.42,7143525:-12.41,7143526:-30.81,7143527:-12.41,7143528:-6.02,7143529:-6,7143530:-32.02,7143531:-6.02,7143532:-12.8,7143533:-18.02,7143534:-18.02,7143535:-12.42,7143536:-18.02,7143537:-12.42,7143538:-18,7143539:-12.41,7143540:-38.41,7143541:-14.22,7143542:-33.2,7143543:-33.22,7143544:-50.02,7143545:-33.2,7143546:-20,7209002:-18.02,7209015:-40.02,7209023:-20.02,7209026:-6.02,7209028:-6.02,7209029:-6.02,7209030:-6.02,7209032:-6.02,7209033:-6.02,7209037:-6.02,7209038:-6.02,7209040:-6.02,7209042:-6.02,7209044:-40.02,7209046:-20.02,7209047:-20.02,7209048:-10.02,7209049:-40.02,7209052:-20.02,7209057:-11.02,7209058:-6.02,7209059:-12.41,7209060:-12.42,7209061:-12.42,7209062:-30.81,7209063:-12.41,7209064:-6.02,7209065:-6.02,7209066:-32.02,7209067:-6.02,7209068:-12.81,7209069:-18.02,7209070:-18.02,7209071:-12.42,7209072:-18.02,7209073:-12.42,7209074:-18.02,7209075:-12.42,7209076:-38.42,7209077:-14.22,7209078:-33.2,7209079:-33.22,7209080:-50.02,7209081:-33.22,7209082:-20.02,7274530:-10.02,7274535:-10.02,7274538:-22.02,7274543:-10.02,7274551:-70.02,7274559:-40.02,7274561:-10.02,7274562:-10.02,7274564:-10.02,7274565:-10.02,7274566:-10.02,7274568:-10.02,7274569:-10.02,7274573:-10.02,7274574:-10.02,7274576:-10.02,7274578:-10.02,7274580:-70.02,7274582:-50.02,7274583:-50.02,7274584:-20.02,7274585:-50.02,7274588:-50.02,7274593:1.19,7274594:-10.02,7274595:-10.02,7274596:-10.02,7274597:-10.02,7274598:-30.02,7274599:-10.02,7274600:-10.02,7274601:-10.02,7274602:-18.02,7274603:-10.02,7274604:-5.02,7274605:-10.02,7274606:-10.02,7274607:-10.02,7274608:-10.02,7274609:-10.02,7274610:-10.02,7274611:-10.02,7274612:-28.81,7274613:-10.02,7274614:-26.41,7274615:-26.42,7274616:-54.42,7274617:-26.41,7274618:-23.61,7340066:-10.02,7340071:-10.02,7340074:-22.02,7340079:-10.02,7340087:-70.02,7340095:-40.02,7340097:-10.02,7340098:-10.02,7340100:-10.02,7340101:-10.02,7340102:-10.02,7340104:-10.02,7340105:-10.02,7340109:-10.02,7340110:-10.02,7340112:-10.02,7340114:-10.02,7340116:-70.02,7340118:-50.02,7340119:-50.02,7340120:-20.02,7340121:-50.02,7340124:-50.02,7340129:1.19,7340130:-10.02,7340131:-10.02,7340132:-10.02,7340133:-10.02,7340134:-30.02,7340135:-10.02,7340136:-10.02,7340137:-10.02,7340138:-18.02,7340139:-10.02,7340140:-5.02,7340141:-10.02,7340142:-10.02,7340143:-10.02,7340144:-10.02,7340145:-10.02,7340146:-10.02,7340147:-10.02,7340148:-28.81,7340149:-10.02,7340150:-26.41,7340151:-26.42,7340152:-54.42,7340153:-26.41,7340154:-23.61,7405623:-52.02,7405631:-20.02,7405634:-12.81,7405636:-12.81,7405637:-12.81,7405638:-12.81,7405640:-12.81,7405641:-12.83,7405645:-12.81,7405646:-12.81,7405648:-12.81,7405650:-12.81,7405652:-52.02,7405654:-22.02,7405655:-22.02,7405657:-20.02,7405660:-22.02,7405666:-12.83,7405667:-10.02,7405668:-10.02,7405669:-10.02,7405670:-19.62,7405671:-10.02,7405672:-12.83,7405673:-12.81,7405675:-12.83,7405679:-10.02,7405681:-10.02,7405683:-10.02,7405684:-25.61,7405686:-20.02,7405687:-20.02,7405688:-18.02,7405689:-20.02,7405690:-10.02,7471148:-58,7471149:-36,7471150:-58,7471151:-30.02,7471159:-36,7471162:-46,7471163:-46,7471169:-30,7471170:-28,7471172:-28,7471173:-28,7471174:-28,7471176:-28,7471177:-28.02,7471181:-28,7471182:-28,7471184:-28,7471186:-28,7471188:-36,7471201:-38,7471202:-28.02,7471203:-40,7471204:-40.02,7471205:-40,7471206:-54,7471207:-40,7471208:-28.02,7471209:-28,7471210:-48,7471211:-28.02,7471212:-28,7471213:-36,7471214:-36.02,7471215:-40.02,7471216:-36.02,7471217:-40.02,7471218:-36,7471219:-40,7471220:-44,7471221:-18,7471222:-24,7471223:-24.02,7471224:-68,7471225:-24,7471226:-30,7536674:-10.02,7536679:-10,7536682:-22,7536687:-10.02,7536695:-70.02,7536703:-40.02,7536705:-10.02,7536706:-10.02,7536708:-10,7536709:-10,7536710:-10.02,7536712:-10.02,7536713:-10.02,7536717:-10.02,7536718:-10,7536720:-10,7536722:-10,7536724:-70.02,7536726:-50.02,7536727:-50,7536728:-20,7536729:-50,7536732:-50,7536737:1.19,7536738:-10.02,7536739:-10,7536740:-10.02,7536741:-10.02,7536742:-30.02,7536743:-10,7536744:-10.02,7536745:-10,7536746:-18.02,7536747:-10.02,7536748:-5,7536749:-10.02,7536750:-10.02,7536751:-10.02,7536752:-10.02,7536753:-10.02,7536754:-10,7536755:-10.02,7536756:-28.81,7536757:-10.02,7536758:-26.41,7536759:-26.42,7536760:-54.41,7536761:-26.41,7536762:-23.61,7602220:27.19,7602221:-28,7602222:27.19,7602223:9.58,7602241:9.59,7602242:-14.41,7602244:-14.41,7602245:-14.41,7602246:-14.41,7602248:-14.41,7602249:-14.42,7602253:-14.41,7602254:-14.41,7602256:-14.41,7602258:-14.41,7602262:-12.02,7602263:-12,7602266:27.98,7602268:-12,7602273:-9.2,7602274:-14.42,7602275:-15.2,7602276:-15.22,7602277:-15.22,7602278:-28.81,7602279:-15.2,7602280:-14.42,7602281:-14.41,7602282:-10.02,7602283:-14.42,7602285:4.98,7602286:4.98,7602287:-15.22,7602288:4.98,7602289:-15.22,7602290:5,7602291:-15.2,7602292:-87.02,7602294:-10.8,7602295:-10.81,7602296:-32.02,7602297:-10.81,7602298:2,7667767:-52.02,7667775:-20.02,7667778:-12.81,7667780:-12.81,7667781:-12.81,7667782:-12.81,7667784:-12.81,7667785:-12.81,7667789:-12.81,7667790:-12.81,7667792:-12.81,7667794:-12.81,7667796:-52.02,7667798:-22.02,7667799:-22,7667801:-20.02,7667804:-22,7667810:-12.81,7667811:-10,7667812:-10.02,7667813:-10.02,7667814:-19.61,7667815:-10,7667816:-12.81,7667817:-12.81,7667819:-12.81,7667823:-10.02,7667825:-10.02,7667827:-10.02,7667828:-25.61,7667830:-20,7667831:-20.02,7667832:-18.02,7667833:-20.02,7667834:-10,7733292:-57.2,7733293:-10,7733294:-57.2,7733295:-50.02,7733303:-36,7733306:-20,7733307:-20,7733313:-50,7733314:-10,7733315:-15,7733316:-10,7733317:-10,7733318:-10,7733319:-15,7733320:-10,7733321:-10.02,7733322:-38.02,7733325:-10,7733326:-10,7733327:-15,7733328:-10,7733329:-15.02,7733330:-10,7733331:-15,7733332:-36,7733345:-24.41,7733346:-10.02,7733347:-26.8,7733348:-26.81,7733349:-26.81,7733350:-10,7733351:-26.8,7733352:-10.02,7733353:-10,7733354:-26,7733355:-10.02,7733356:-10,7733357:-23.2,7733358:-23.2,7733359:-26.81,7733360:-23.2,7733361:-26.81,7733362:-23.2,7733363:-26.8,7733364:-23.2,7733365:-20,7733368:-46.41,7733370:-25.59,7798828:-57.22,7798829:-10.02,7798830:-57.22,7798831:-50.02,7798839:-36.02,7798842:-20.02,7798843:-20.02,7798849:-50.02,7798850:-10.02,7798851:-15.02,7798852:-10.02,7798853:-10.02,7798854:-10.02,7798855:-15.02,7798856:-10.02,7798857:-10.02,7798858:-38.02,7798861:-10.02,7798862:-10.02,7798863:-15.02,7798864:-10.02,7798865:-15.02,7798866:-10.02,7798867:-15.02,7798868:-36.02,7798881:-24.41,7798882:-10.02,7798883:-26.81,7798884:-26.83,7798885:-26.81,7798886:-10.02,7798887:-26.81,7798888:-10.02,7798889:-10.02,7798890:-26.02,7798891:-10.02,7798892:-10.02,7798893:-23.22,7798894:-23.22,7798895:-26.83,7798896:-23.22,7798897:-26.83,7798898:-23.2,7798899:-26.81,7798900:-23.22,7798901:-20.02,7798904:-46.42,7798906:-25.61,7864353:-20.02,7864362:-18,7864364:-20.02,7864365:-66,7864366:-20.02,7864375:-20.02,7864378:-42.02,7864379:-42.02,7864383:-30.02,7864386:-50.02,7864387:-10,7864388:-50,7864389:-50,7864390:-50.02,7864391:-10.02,7864392:-50.02,7864393:-50.02,7864397:-50.02,7864398:-50,7864399:-10,7864400:-50,7864401:-10.02,7864402:-50,7864403:-10.02,7864404:-20.02,7864417:-48,7864418:-50.02,7864419:-54.41,7864420:-54.42,7864421:-54.41,7864422:-58.02,7864423:-54.41,7864424:-50.02,7864425:-50,7864426:-28.81,7864427:-50.02,7864428:-40,7864429:-42.02,7864430:-42.02,7864431:-54.42,7864432:-42.02,7864433:-54.42,7864434:-42,7864435:-54.41,7864436:-51.2,7864437:-20.02,7864438:-70,7864439:-70.02,7864440:-42.02,7864441:-70,7864442:-32,7929900:-57.2,7929901:-10,7929902:-57.2,7929903:-50.02,7929911:-36.02,7929914:-20,7929915:-20,7929921:-50,7929922:-10,7929923:-15,7929924:-10,7929925:-10,7929926:-10.02,7929927:-15.02,7929928:-10.02,7929929:-10.02,7929930:-38.02,7929933:-10,7929934:-10,7929935:-15,7929936:-10,7929937:-15.02,7929938:-10,7929939:-15.02,7929940:-36.02,7929953:-24.41,7929954:-10.02,7929955:-26.8,7929956:-26.81,7929957:-26.81,7929958:-10.02,7929959:-26.8,7929960:-10.02,7929961:-10,7929962:-26.02,7929963:-10.02,7929964:-10,7929965:-23.2,7929966:-23.22,7929967:-26.81,7929968:-23.22,7929969:-26.81,7929970:-23.2,7929971:-26.81,7929972:-23.2,7929973:-20.02,7929976:-46.41,7929978:-25.59,7995450:-20,7995451:-20,7995455:-10,7995458:-10,7995460:-10,7995461:-10,7995462:-10,7995464:-10,7995465:-10.02,7995469:-10,7995470:-10,7995472:-10,7995474:-10,7995478:-30.02,7995479:-30,7995480:-10,7995484:-30,7995489:-16,7995490:-10.02,7995491:-30,7995492:-30.02,7995493:-30,7995494:-20,7995495:-30,7995496:-10.02,7995497:-10,7995498:-22,7995499:-10.02,7995500:-26,7995501:-20,7995502:-20.02,7995503:-30.02,7995504:-20.02,7995505:-30.02,7995506:-20,7995507:-30,7995508:-28,7995509:-18.81,7995510:-29.59,7995511:-29.61,7995512:-50,7995513:-29.59,7995514:-18,8060983:12,8061012:12,8257591:-20,8257620:-20,8257625:-20}, + sans500tnum: {2228271:-50.02,2228289:-50.02,2228308:9.98,2228323:-10,2228324:-10.02,2228325:-10.02,2228327:-10,2228335:-10.02,2228337:-10.02,2228339:-10.02,2490452:-58.2,2490454:-41.22,2490455:-41.2,2490460:-41.2,2555951:-50.02,2555969:-50,2555988:9.98,2556003:-10,2556004:-10.02,2556005:-10.02,2556007:-10,2556015:-10.02,2556017:-10.02,2556019:-10,2621507:-15,2621511:-15,2621519:-15,2621521:-15.02,2621523:-15,2752556:-40,2752558:-40,2752559:-72.02,2752577:-72,2752596:12,2818132:-20.02,2818137:-20.02,2883626:-40,2883651:-20.02,2883655:-20.02,2883658:-6.02,2883663:-20,2883665:-20.02,2883667:-20.02,2883668:-60.02,2883670:-77.22,2883671:-77.2,2883676:-77.2,2883686:-34.02,2883690:9.98,2883692:-10,2883702:-42,2883703:-42.02,2883705:-42.02,2949182:235.58,2949204:-40.02,2949222:-10.02,2949238:-10,2949239:-10.02,2949240:-50,2949241:-10,3014698:-40,3014723:-20.02,3014727:-20.02,3014730:-6.02,3014735:-20,3014737:-20.02,3014739:-20.02,3014740:-60.02,3014742:-77.22,3014743:-77.2,3014748:-77.2,3014758:-34.02,3014762:9.98,3014764:-10,3014774:-42,3014775:-42.02,3014777:-42.02,3080225:-32.02,3080230:-20.61,3080236:-77.22,3080238:-77.22,3080239:-108.83,3080250:-32.02,3080251:-32.02,3080255:-32.02,3080257:-108.81,3080258:-23.61,3080259:-36.02,3080260:-23.61,3080261:-23.61,3080262:-23.62,3080263:-36.02,3080264:-23.62,3080265:-23.62,3080266:-80.02,3080267:-15.02,3080268:-15.02,3080269:-23.61,3080270:-23.61,3080271:-36.02,3080272:-23.61,3080273:-36.02,3080274:-23.61,3080275:-36.02,3080276:1.98,3080278:-10.02,3080279:-10.02,3080280:-10.02,3080282:-12.02,3080284:-10.02,3080289:-49.61,3080290:-23.62,3080291:-44.02,3080292:-44.02,3080293:-44.02,3080294:-50.02,3080295:-44.02,3080296:-23.62,3080297:-23.61,3080298:-48.02,3080299:-23.62,3080300:-28.02,3080301:-34.02,3080302:-34.02,3080303:-44.02,3080304:-34.02,3080305:-44.02,3080306:-34.02,3080307:-44.02,3080308:-40.02,3080309:-52.02,3080310:-42.02,3080311:-42.02,3080312:-64.02,3080313:-42.02,3080314:-38.02,3801135:-20.02,3801153:-20.02,3801155:-10,3801159:-10.02,3801167:-10,3801169:-10.02,3801171:-10.02,3801172:-58.02,3801174:-32.02,3801175:-32,3801176:-20,3801180:-32,3801190:-28.02,3801204:-28.02,3801206:-20,3801207:-20.02,3801208:-42.02,3801209:-20,3801210:-20,3866671:-20.02,3866689:-20.02,3866691:-10,3866695:-10.02,3866703:-10,3866705:-10.02,3866707:-10.02,3866708:-58.02,3866710:-32.02,3866711:-32,3866712:-20,3866716:-32,3866726:-28.02,3866740:-28.02,3866742:-20,3866743:-20.02,3866744:-42.02,3866745:-20,3866746:-20,3932205:235.58,3932244:-20.02,3932249:-20.02,3997780:-20.02,3997785:-20.02,4063316:-20.02,4063321:-20.02,4259873:-10.02,4259874:-50.02,4259879:-50,4259882:-72,4259898:-20.02,4259899:-20.02,4259903:-52.02,4259906:-22.02,4259907:-34,4259908:-22,4259909:-22,4259910:-22.02,4259911:-34.02,4259912:-22.02,4259913:-22.02,4259914:-30.02,4259915:-15.8,4259916:-15.81,4259917:-22.02,4259918:-22,4259919:-34,4259920:-22,4259921:-34.02,4259922:-22,4259923:-34.02,4259924:-93.22,4259925:-18.81,4259926:-108.81,4259927:-108.8,4259929:-74,4259930:-10.02,4259932:-108.8,4259938:-22.02,4259939:-20.41,4259940:-20.42,4259941:-20.41,4259942:-42.02,4259943:-20.41,4259944:-22.02,4259945:-22,4259947:-22.02,4259948:-22,4259949:-20.02,4259950:-20.02,4259951:-20.42,4259952:-20.02,4259953:-20.42,4259954:-20,4259955:-20.41,4259956:-64.02,4259957:-20.81,4259958:-62,4259959:-62.02,4259960:-30.02,4259961:-62,4259962:-12,4325423:-22.42,4325434:-20.02,4325435:-20.02,4325439:-28.02,4325441:-22.41,4325442:-8.02,4325443:-10,4325444:-8,4325445:-16.2,4325446:-8.02,4325447:-10.02,4325448:-8.02,4325449:-8.02,4325453:-8.02,4325454:-8,4325455:-10,4325456:-8,4325457:-10.02,4325458:-8,4325459:-10.02,4325460:-38.02,4325462:-34.02,4325463:-34,4325465:-44,4325468:-34,4325473:-8.41,4325474:-8.02,4325478:-20.02,4325480:-8.02,4325481:-8,4325482:-14.02,4325483:-8.02,4325484:-12.8,4325485:-10.02,4325486:-10.02,4325488:-10.02,4325490:-10,4325492:-20.02,4325493:-11.61,4325494:-34,4325495:-34.02,4325496:-43.61,4325497:-34,4325498:-22,4390959:-26.41,4390977:-26.41,4390987:-8.59,4390988:-8.61,4390996:-15.02,4390998:-22.02,4390999:-22,4391000:-20,4391001:-22,4391004:-22,4391009:-5.61,4391011:-8.41,4391012:-8.41,4391013:-8.41,4391014:-20.02,4391015:-8.41,4391020:-10.8,4391021:-8.41,4391022:-8.41,4391023:-8.41,4391024:-8.41,4391025:-8.41,4391026:-8.41,4391027:-8.41,4391028:-10,4391029:-12.02,4391030:-12,4391031:-12.02,4391032:-32,4391033:-12,4391034:-10,4456489:-19,4456490:-10,4456492:-20,4456494:-20,4456495:-36.02,4456506:-10,4456507:-10,4456511:-20,4456513:-36,4456514:10.39,4456516:10.41,4456517:10.41,4456518:10.39,4456520:10.39,4456521:10.39,4456522:-10.81,4456523:-11.39,4456524:-11.41,4456525:10.39,4456526:10.41,4456528:10.41,4456530:10.41,4456532:-40,4456534:-36.41,4456535:-36.39,4456536:-32,4456537:-42,4456538:-10,4456540:-36.39,4456545:7.59,4456546:10.39,4456547:11.61,4456548:11.59,4456549:11.59,4456550:-10,4456551:11.61,4456552:10.39,4456553:10.41,4456554:-20,4456555:10.39,4456559:11.59,4456561:11.59,4456563:11.59,4456564:-23.2,4456566:-16.8,4456567:-16.81,4456568:-24,4456569:-16.8,4522042:-10,4522043:-10,4522047:-20,4522050:-7.61,4522052:-7.59,4522053:-7.59,4522054:-7.61,4522056:-7.61,4522057:-7.61,4522061:-7.61,4522062:-8.59,4522064:-7.59,4522066:-7.59,4522070:12.8,4522071:12.8,4522073:-20,4522076:12.8,4522081:-9.59,4522082:-7.61,4522083:-18.39,4522084:-18.41,4522085:-18.41,4522086:-32,4522087:-18.39,4522088:-7.61,4522089:-7.59,4522090:-12,4522091:-7.61,4522095:-18.41,4522097:-18.41,4522099:-18.41,4522100:-38,4522102:-22,4522103:-22.02,4522104:-30,4522105:-22,4587564:-80.02,4587566:-80.02,4587567:-81.62,4587578:-30.02,4587579:-30.02,4587583:-18.02,4587585:-81.61,4587586:-18.02,4587588:-18,4587589:-18,4587590:-18.02,4587592:-18.02,4587593:-18.02,4587594:-60.02,4587595:-28,4587596:-28.02,4587597:-18.02,4587598:-18.02,4587600:-18,4587602:-18.02,4587608:-20,4587609:-18.02,4587610:-18.02,4587617:-22.02,4587618:-18.02,4587619:-28,4587620:-28.02,4587621:-28.02,4587622:-10.02,4587623:-28,4587624:-18.02,4587625:-18.02,4587626:-32.02,4587627:-18.02,4587628:-20,4587629:-28.02,4587630:-28.02,4587631:-28.02,4587632:-28.02,4587633:-28.02,4587634:-28,4587635:-28.02,4587636:-36.02,4587637:-30.02,4587638:-40,4587639:-40.02,4587640:-48.02,4587641:-40.02,4587642:-30,4653140:-20.02,4653142:-32.02,4653143:-32,4653144:-12,4653145:-20.02,4653148:-32,4653153:9.98,4653155:10,4653156:9.98,4653157:9.98,4653158:-14.02,4653159:10,4653167:9.98,4653169:9.98,4653171:9.98,4653172:-12.02,4653174:-7.2,4653175:-7.22,4653176:-16.02,4653177:-7.2,4653178:2.8,4718639:-10.02,4718655:-10.02,4718657:-10.02,4718658:-18.02,4718659:-14.81,4718660:-18,4718661:-18,4718662:-18.02,4718663:-14.81,4718664:-18.02,4718665:-18.02,4718666:-18.02,4718669:-18.02,4718670:-18.02,4718671:-14.81,4718672:-18,4718673:-14.81,4718674:-18.02,4718675:-14.81,4718676:-36.02,4718677:14.98,4718678:-22.02,4718679:-22,4718680:-10,4718681:-20.02,4718684:-22,4718689:-10.02,4718690:-18.02,4718691:-10,4718692:-10.02,4718693:-10.02,4718694:-43.61,4718695:-10,4718696:-18.02,4718697:-18.02,4718698:-16.02,4718699:-18.02,4718700:-8.41,4718701:5.98,4718702:5.98,4718703:-10.02,4718704:5.98,4718705:-10.02,4718706:6,4718707:-10.02,4718708:-36.41,4718709:-19.22,4718710:-10,4718711:-10.02,4718712:-50.02,4718713:-10.02,4718714:-10,4784175:-10.02,4784191:-10.02,4784193:-10.02,4784194:-18.02,4784195:-14.81,4784196:-18.02,4784197:-18.02,4784198:-18.02,4784199:-14.81,4784200:-18.02,4784201:-18.02,4784202:-18.02,4784205:-18.02,4784206:-18.02,4784207:-14.81,4784208:-18.02,4784209:-14.83,4784210:-18.02,4784211:-14.81,4784212:-36.02,4784213:14.98,4784214:-22.02,4784215:-22.02,4784216:-10.02,4784217:-20.02,4784220:-22.02,4784225:-10.02,4784226:-18.02,4784227:-10.02,4784228:-10.02,4784229:-10.02,4784230:-43.62,4784231:-10.02,4784232:-18.02,4784233:-18.02,4784234:-16.02,4784235:-18.02,4784236:-8.41,4784237:5.98,4784238:5.98,4784239:-10.02,4784240:5.98,4784241:-10.02,4784242:5.98,4784243:-10.02,4784244:-36.42,4784245:-19.22,4784246:-10.02,4784247:-10.02,4784248:-50.02,4784249:-10.02,4784250:-10.02,4849711:-18.83,4849729:-18.81,4849730:14.98,4849732:14.98,4849733:14.98,4849734:14.98,4849736:14.98,4849737:14.98,4849738:-26.02,4849741:14.98,4849742:14.98,4849744:14.98,4849746:14.98,4849749:1.98,4849752:-20.02,4849753:-18.02,4849762:14.98,4849763:-6.02,4849764:-6.02,4849765:-6.02,4849766:-19.22,4849767:-6.02,4849768:14.98,4849769:14.98,4849770:-6.81,4849771:14.98,4849775:-6.02,4849777:-6.02,4849779:-6.02,4849780:-18.02,4849782:-20.02,4849783:-20.02,4849784:-30.02,4849785:-20.02,4849786:-20.02,4915242:-12,4915258:-20,4915259:-20,4915263:-22,4915266:-10,4915267:-40,4915268:-10,4915269:-10,4915270:-10,4915271:-40,4915272:-10,4915273:-10.02,4915274:-30.02,4915275:-19.2,4915276:-19.2,4915277:-10,4915278:-10,4915279:-40,4915280:-10,4915281:-40.02,4915282:-10,4915283:-40,4915285:-20,4915286:-10.02,4915287:-10,4915290:-10,4915292:-10,4915297:-16,4915298:-10.02,4915299:-48.8,4915300:-48.81,4915301:-48.81,4915302:-52,4915303:-48.8,4915304:-10.02,4915305:-10,4915306:-9.61,4915307:-10.02,4915309:-18.61,4915310:-18.61,4915311:-48.81,4915312:-18.61,4915313:-48.81,4915314:-18.59,4915315:-48.8,4915316:-50,4915317:-30,4915318:-32,4915319:-32.02,4915320:-32,4915321:-32,4980769:-18.02,4980770:-96.02,4980775:-96.02,4980778:-120.02,4980780:-7.62,4980782:-7.62,4980783:-20.02,4980794:-18.02,4980795:-18.02,4980799:-80.02,4980801:-20.02,4980802:-44.02,4980803:-48.02,4980804:-44.02,4980805:-44.02,4980806:-44.02,4980807:-48.02,4980808:-44.02,4980809:-44.02,4980810:-51.62,4980811:-28.02,4980812:-28.02,4980813:-44.02,4980814:-44.02,4980815:-48.02,4980816:-44.02,4980817:-48.02,4980818:-44.02,4980819:-48.02,4980820:-136.02,4980821:-46.02,4980822:-152.02,4980823:-152.02,4980825:-160.02,4980826:-18.02,4980828:-152.02,4980834:-44.02,4980835:-35.61,4980836:-35.62,4980837:-35.62,4980838:-56.02,4980839:-35.61,4980840:-44.02,4980841:-44.02,4980842:-18.02,4980843:-44.02,4980844:-36.02,4980847:-35.62,4980849:-35.62,4980851:-35.61,4980852:-76.02,4980853:-36.02,4980854:-80.02,4980855:-80.02,4980856:-48.02,4980857:-80.02,4980858:-20.02,5046319:-10.02,5046335:-10.02,5046337:-10.02,5046338:-18.02,5046339:-14.81,5046340:-18,5046341:-18,5046342:-18.02,5046343:-14.81,5046344:-18.02,5046345:-18.02,5046346:-18.02,5046349:-18.02,5046350:-18,5046351:-14.8,5046352:-18,5046353:-14.81,5046354:-18,5046355:-14.81,5046356:-36.02,5046357:14.98,5046358:-22.02,5046359:-22,5046360:-10,5046361:-20,5046364:-22,5046369:-10,5046370:-18.02,5046371:-10,5046372:-10.02,5046373:-10.02,5046374:-43.61,5046375:-10,5046376:-18.02,5046377:-18,5046378:-16.02,5046379:-18.02,5046380:-8.41,5046381:5.98,5046382:5.98,5046383:-10.02,5046384:5.98,5046385:-10.02,5046386:6,5046387:-10.02,5046388:-36.41,5046389:-19.22,5046390:-10,5046391:-10.02,5046392:-50.02,5046393:-10,5046394:-10,5111855:-10.02,5111871:-10.02,5111873:-10,5111874:-18,5111875:-14.8,5111876:-18,5111877:-18,5111878:-18.02,5111879:-14.81,5111880:-18.02,5111881:-18.02,5111882:-18.02,5111885:-18,5111886:-18,5111887:-14.8,5111888:-18,5111889:-14.81,5111890:-18,5111891:-14.81,5111892:-36.02,5111893:14.98,5111894:-22.02,5111895:-22,5111896:-10,5111897:-20,5111900:-22,5111905:-10,5111906:-18.02,5111907:-10,5111908:-10.02,5111909:-10.02,5111910:-43.61,5111911:-10,5111912:-18.02,5111913:-18,5111914:-16.02,5111915:-18.02,5111916:-8.41,5111917:6,5111918:5.98,5111919:-10.02,5111920:5.98,5111921:-10.02,5111922:6,5111923:-10,5111924:-36.41,5111925:-19.2,5111926:-10,5111927:-10.02,5111928:-50,5111929:-10,5111930:-10,5177385:-19,5177386:-10,5177388:-20,5177390:-20,5177391:-36.02,5177402:-10,5177403:-10,5177407:-20,5177409:-36,5177410:10.39,5177412:10.41,5177413:10.41,5177414:10.39,5177416:10.39,5177417:10.39,5177418:-10.81,5177419:-11.39,5177420:-11.41,5177421:10.39,5177422:10.41,5177424:10.41,5177426:10.41,5177428:-40,5177430:-36.41,5177431:-36.39,5177432:-32,5177433:-42,5177434:-10,5177436:-36.39,5177441:7.59,5177442:10.39,5177443:11.61,5177444:11.59,5177445:11.59,5177446:-10,5177447:11.61,5177448:10.39,5177449:10.41,5177450:-20,5177451:10.39,5177455:11.59,5177457:11.59,5177459:11.59,5177460:-23.2,5177462:-16.8,5177463:-16.81,5177464:-24,5177465:-16.8,5242913:-10,5242924:-108,5242925:-28,5242926:-108,5242927:-74.41,5242938:-20,5242939:-20,5242943:-18,5242945:-74.41,5242946:-20,5242947:-12,5242948:-20,5242949:-20,5242950:-20,5242951:-12,5242952:-20,5242953:-20.02,5242954:-80.02,5242957:-20,5242958:-20,5242959:-12,5242960:-20,5242961:-12.02,5242962:-20,5242963:-12,5242966:-42.02,5242967:-42,5242968:-40,5242969:-40,5242970:-22,5242972:-42,5242977:-22,5242978:-20.02,5242979:-28,5242980:-28.02,5242981:-28,5242983:-28,5242984:-20.02,5242985:-20,5242987:-20.02,5242989:-8.61,5242990:-8.61,5242991:-28.02,5242992:-8.61,5242993:-28.02,5242994:-8.59,5242995:-28,5242997:-28,5242998:-20,5242999:-20.02,5243000:-40,5243001:-20,5243002:-30,5308457:-19.02,5308458:-10.02,5308460:-20.02,5308462:-20.02,5308463:-36.02,5308474:-10.02,5308475:-10.02,5308479:-20.02,5308481:-36.02,5308482:10.39,5308484:10.39,5308485:10.39,5308486:10.38,5308488:10.38,5308489:10.38,5308490:-10.83,5308491:-11.41,5308492:-11.42,5308493:10.39,5308494:10.39,5308496:10.39,5308498:10.39,5308500:-40.02,5308502:-36.42,5308503:-36.41,5308504:-32.02,5308505:-42.02,5308506:-10.02,5308508:-36.41,5308513:7.59,5308514:10.38,5308515:11.59,5308516:11.58,5308517:11.58,5308518:-10.02,5308519:11.59,5308520:10.38,5308521:10.39,5308522:-20.02,5308523:10.38,5308527:11.58,5308529:11.58,5308531:11.58,5308532:-23.22,5308534:-16.81,5308535:-16.83,5308536:-24.02,5308537:-16.81,5373999:-10.02,5374010:-8.81,5374011:-8.81,5374015:-20.02,5374017:-10,5374019:-15,5374023:-15.02,5374027:-14.2,5374028:-14.22,5374031:-15,5374033:-15.02,5374035:-15.02,5374036:-19.2,5374038:-50.02,5374039:-50,5374041:-22,5374044:-50,5374051:-14,5374052:-14.02,5374053:-14.02,5374054:-28.02,5374055:-14,5374058:-10.81,5374063:-14.02,5374065:-14.02,5374067:-14,5374068:-30,5374069:-10.02,5374070:-22,5374071:-22.02,5374072:-24,5374073:-22,5439529:-19,5439530:-10,5439532:-20.02,5439534:-20.02,5439535:-36.02,5439546:-10.02,5439547:-10.02,5439551:-20.02,5439553:-36.02,5439554:10.39,5439556:10.39,5439557:10.39,5439558:10.39,5439560:10.39,5439561:10.38,5439562:-10.81,5439563:-11.41,5439564:-11.42,5439565:10.39,5439566:10.39,5439568:10.39,5439570:10.39,5439572:-40.02,5439574:-36.42,5439575:-36.41,5439576:-32,5439577:-42.02,5439578:-10.02,5439580:-36.41,5439585:7.59,5439586:10.38,5439587:11.59,5439588:11.58,5439589:11.58,5439590:-10.02,5439591:11.59,5439592:10.38,5439593:10.39,5439594:-20.02,5439595:10.38,5439599:11.58,5439601:11.58,5439603:11.59,5439604:-23.22,5439606:-16.81,5439607:-16.81,5439608:-24.02,5439609:-16.81,5505058:9.98,5505062:-24.81,5505063:9.98,5505066:12,5505068:-96.02,5505069:-38.02,5505070:-96.02,5505071:-93.22,5505082:-58.02,5505083:-58.02,5505087:-20.02,5505089:-93.22,5505090:-26.02,5505091:-40.02,5505092:-26,5505093:-26,5505094:-26.02,5505095:-40.02,5505096:-26.02,5505097:-26.02,5505098:-120.02,5505099:-36,5505100:-36.02,5505101:-26.02,5505102:-26.02,5505103:-40,5505104:-26,5505105:-40.02,5505106:-26.02,5505107:-40.02,5505108:9.98,5505110:-10.02,5505111:-10,5505113:8.39,5505116:-10,5505117:20,5505121:-70.02,5505122:-26.02,5505123:-80,5505124:-80.02,5505125:-80.02,5505126:-38.02,5505127:-80,5505128:-26.02,5505129:-26.02,5505130:-44.02,5505131:-26.02,5505132:-18,5505133:-48.02,5505134:-48.02,5505135:-80.02,5505136:-48.02,5505137:-80.02,5505138:-48,5505139:-80.02,5505140:-36.02,5505141:-64.02,5505142:-44,5505143:-44.02,5505144:-56.02,5505145:-44.02,5505146:-48,5570607:-18.81,5570625:-18.81,5570626:14.98,5570628:15,5570629:15,5570630:14.98,5570632:14.98,5570633:14.98,5570634:-26.02,5570637:14.98,5570638:14.98,5570640:15,5570642:14.98,5570645:1.98,5570648:-20,5570649:-18.02,5570658:14.98,5570659:-6,5570660:-6.02,5570661:-6.02,5570662:-19.22,5570663:-6,5570664:14.98,5570665:14.98,5570666:-6.81,5570667:14.98,5570671:-6.02,5570673:-6.02,5570675:-6.02,5570676:-18.02,5570678:-20,5570679:-20.02,5570680:-30.02,5570681:-20.02,5570682:-20,5636129:-32.02,5636134:-20.61,5636140:-77.22,5636142:-77.22,5636143:-108.83,5636154:-32.02,5636155:-32.02,5636159:-32.02,5636161:-108.81,5636162:-23.61,5636163:-36.02,5636164:-23.61,5636165:-23.61,5636166:-23.62,5636167:-36.02,5636168:-23.62,5636169:-23.62,5636170:-80.02,5636171:-15.02,5636172:-15.02,5636173:-23.61,5636174:-23.61,5636175:-36.02,5636176:-23.61,5636177:-36.02,5636178:-23.61,5636179:-36.02,5636180:1.98,5636182:-10.02,5636183:-10.02,5636184:-10.02,5636186:-12.02,5636188:-10.02,5636193:-49.61,5636194:-23.62,5636195:-44.02,5636196:-44.02,5636197:-44.02,5636198:-50.02,5636199:-44.02,5636200:-23.62,5636201:-23.61,5636202:-48.02,5636203:-23.62,5636204:-28.02,5636205:-34.02,5636206:-34.02,5636207:-44.02,5636208:-34.02,5636209:-44.02,5636210:-34.02,5636211:-44.02,5636212:-40.02,5636213:-52.02,5636214:-42.02,5636215:-42.02,5636216:-64.02,5636217:-42.02,5636218:-38.02,5701665:-32,5701670:-20.59,5701676:-77.2,5701678:-77.2,5701679:-108.81,5701690:-32,5701691:-32,5701695:-32,5701697:-108.8,5701698:-23.61,5701699:-36,5701700:-23.59,5701701:-23.59,5701702:-23.61,5701703:-36,5701704:-23.61,5701705:-23.61,5701706:-80.02,5701707:-15,5701708:-15.02,5701709:-23.61,5701710:-23.59,5701711:-36,5701712:-23.59,5701713:-36.02,5701714:-23.59,5701715:-36,5701716:2,5701718:-10.02,5701719:-10,5701720:-10,5701722:-12,5701724:-10,5701729:-49.59,5701730:-23.61,5701731:-44,5701732:-44.02,5701733:-44,5701734:-50,5701735:-44,5701736:-23.61,5701737:-23.59,5701738:-48,5701739:-23.61,5701740:-28,5701741:-34,5701742:-34.02,5701743:-44.02,5701744:-34.02,5701745:-44.02,5701746:-34,5701747:-44,5701748:-40,5701749:-52,5701750:-42,5701751:-42.02,5701752:-64,5701753:-42,5701754:-38,5767210:-12,5767226:-20,5767227:-20,5767231:-22,5767234:-10,5767235:-40,5767236:-10,5767237:-10,5767238:-10,5767239:-40,5767240:-10,5767241:-10.02,5767242:-30.02,5767243:-19.2,5767244:-19.2,5767245:-10,5767246:-10,5767247:-40,5767248:-10,5767249:-40.02,5767250:-10,5767251:-40,5767253:-20,5767254:-10.02,5767255:-10,5767258:-10,5767260:-10,5767265:-16,5767266:-10.02,5767267:-48.8,5767268:-48.81,5767269:-48.81,5767270:-52,5767271:-48.8,5767272:-10.02,5767273:-10,5767274:-9.61,5767275:-10.02,5767277:-18.61,5767278:-18.61,5767279:-48.81,5767280:-18.61,5767281:-48.81,5767282:-18.59,5767283:-48.8,5767284:-50,5767285:-30,5767286:-32,5767287:-32.02,5767288:-32,5767289:-32,5832747:-20.02,5832751:-74.02,5832764:-20.02,5832765:-20.02,5832766:-20.02,5832769:-74,5832770:-20,5832771:-42,5832772:-20,5832773:-20,5832774:-20.02,5832775:-42.02,5832776:-20.02,5832777:-20.02,5832778:-124.02,5832781:-20,5832782:-20,5832783:-42,5832784:-20,5832785:-42.02,5832786:-20,5832787:-42.02,5832788:8.39,5832789:-18.02,5832793:20,5832794:-10,5832798:-20.02,5832801:-64,5832802:-20.02,5832803:-70,5832804:-70.02,5832805:-70.02,5832806:-54.02,5832807:-70,5832808:-20.02,5832809:-20,5832810:-44.02,5832811:-20.02,5832812:-18,5832813:-60,5832814:-60.02,5832815:-70.02,5832816:-60.02,5832817:-70.02,5832818:-60,5832819:-70,5832820:-60,5832821:-60.02,5832822:-40,5832823:-40.02,5832824:-60,5832825:-40,5832826:-72,5832830:-20,5898285:-18,5898287:-20.02,5898303:-20.02,5898305:-20.02,5898307:-20,5898311:-20.02,5898314:-28.02,5898319:-20,5898321:-20.02,5898323:-20.02,5898326:-12.02,5898327:-12,5898328:-10,5898329:-10,5898332:-12,5898337:-10,5898339:-33.2,5898340:-33.22,5898341:-33.22,5898342:-42.02,5898343:-33.2,5898346:-16.02,5898348:-6.41,5898349:-10.02,5898350:-10.02,5898351:-33.22,5898352:-10.02,5898353:-33.22,5898354:-10,5898355:-33.2,5898356:-30.02,5898357:-18.02,5898358:-32,5898359:-32.02,5898360:-40.02,5898361:-32,5898362:-20,5963860:20,5963882:30,6029345:-10,6029346:-50,6029351:-50,6029354:-72,6029370:-20,6029371:-20,6029375:-52,6029378:-22,6029379:-34,6029380:-22,6029381:-22,6029382:-22,6029383:-34,6029384:-22,6029385:-22.02,6029386:-30.02,6029387:-15.8,6029388:-15.81,6029389:-22,6029390:-22,6029391:-34,6029392:-22,6029393:-34.02,6029394:-22,6029395:-34,6029396:-93.2,6029397:-18.81,6029398:-108.81,6029399:-108.8,6029401:-74,6029402:-10,6029404:-108.8,6029410:-22.02,6029411:-20.39,6029412:-20.41,6029413:-20.41,6029414:-42,6029415:-20.39,6029416:-22.02,6029417:-22,6029419:-22.02,6029420:-22,6029421:-20,6029422:-20.02,6029423:-20.41,6029424:-20.02,6029425:-20.41,6029426:-20,6029427:-20.41,6029428:-64,6029429:-20.81,6029430:-62,6029431:-62.02,6029432:-30,6029433:-62,6029434:-12,6160468:-20.02,6160473:-20.02,6357034:-22,6357036:19.98,6357038:19.98,6357055:-21.41,6357058:-8,6357060:-8,6357061:-8,6357062:-8.02,6357064:-8.02,6357065:-8.02,6357069:-8,6357070:-8,6357072:-8,6357074:-8,6357090:-8.02,6357091:-7.2,6357092:-7.22,6357093:-7.2,6357094:-12.81,6357095:-7.2,6357096:-8.02,6357097:-8,6357098:1.59,6357099:-8.02,6357100:-10,6357103:-7.22,6357105:-7.22,6357107:-7.2,6357108:-48,6357109:-9.2,6357110:-27.2,6357111:-27.22,6357112:-26.81,6357113:-27.2,6357114:-9.2,6422562:-10.02,6422567:-10.02,6422570:-22.02,6422575:-10.02,6422591:-40.02,6422593:-10.02,6422594:-10.02,6422596:-10.02,6422597:-10.02,6422598:-10.02,6422600:-10.02,6422601:-10.02,6422605:-10.02,6422606:-10.02,6422608:-10.02,6422610:-10.02,6422612:-70.02,6422614:-50.02,6422615:-50.02,6422616:-20.02,6422617:-50.02,6422620:-50.02,6422625:1.19,6422626:-10.02,6422627:-10.02,6422628:-10.02,6422629:-10.02,6422630:-30.02,6422631:-10.02,6422632:-10.02,6422633:-10.02,6422634:-18.02,6422635:-10.02,6422636:-5.02,6422637:-10.02,6422638:-10.02,6422639:-10.02,6422640:-10.02,6422641:-10.02,6422642:-10.02,6422643:-10.02,6422644:-28.81,6422645:-10.02,6422646:-26.41,6422647:-26.42,6422648:-54.42,6422649:-26.41,6422650:-23.61,6488098:-10,6488103:-10,6488106:-22,6488111:-10.02,6488127:-40,6488129:-10,6488130:-10,6488132:-10,6488133:-10,6488134:-10,6488136:-10,6488137:-10.02,6488141:-10,6488142:-10,6488144:-10,6488146:-10,6488148:-70,6488150:-50.02,6488151:-50,6488152:-20,6488153:-50,6488156:-50,6488161:1.2,6488162:-10.02,6488163:-10,6488164:-10.02,6488165:-10,6488166:-30,6488167:-10,6488168:-10.02,6488169:-10,6488170:-18,6488171:-10.02,6488172:-5,6488173:-10,6488174:-10.02,6488175:-10.02,6488176:-10.02,6488177:-10.02,6488178:-10,6488179:-10,6488180:-28.8,6488181:-10,6488182:-26.39,6488183:-26.41,6488184:-54.41,6488185:-26.41,6488186:-23.59,6553647:-10.02,6553663:-10.02,6553665:-10.02,6553666:-18.02,6553667:-14.81,6553668:-18.02,6553669:-18.02,6553670:-18.02,6553671:-14.81,6553672:-18.02,6553673:-18.02,6553674:-18.02,6553677:-18.02,6553678:-18.02,6553679:-14.81,6553680:-18.02,6553681:-14.83,6553682:-18.02,6553683:-14.81,6553684:-36.02,6553685:14.98,6553686:-22.02,6553687:-22.02,6553688:-10.02,6553689:-20.02,6553692:-22.02,6553697:-10.02,6553698:-18.02,6553699:-10.02,6553700:-10.02,6553701:-10.02,6553702:-43.62,6553703:-10.02,6553704:-18.02,6553705:-18.02,6553706:-16.02,6553707:-18.02,6553708:-8.41,6553709:5.98,6553710:5.98,6553711:-10.02,6553712:5.98,6553713:-10.02,6553714:5.98,6553715:-10.02,6553716:-36.42,6553717:-19.22,6553718:-10.02,6553719:-10.02,6553720:-50.02,6553721:-10.02,6553722:-10.02,6619170:-10.02,6619175:-10.02,6619178:-22,6619183:-10.02,6619199:-40.02,6619201:-10.02,6619202:-10.02,6619204:-10,6619205:-10,6619206:-10.02,6619208:-10.02,6619209:-10.02,6619213:-10.02,6619214:-10.02,6619216:-10,6619218:-10.02,6619220:-70.02,6619222:-50.02,6619223:-50,6619224:-20,6619225:-50.02,6619228:-50,6619233:1.19,6619234:-10.02,6619235:-10,6619236:-10.02,6619237:-10.02,6619238:-30.02,6619239:-10,6619240:-10.02,6619241:-10.02,6619242:-18.02,6619243:-10.02,6619244:-5,6619245:-10.02,6619246:-10.02,6619247:-10.02,6619248:-10.02,6619249:-10.02,6619250:-10,6619251:-10.02,6619252:-28.81,6619253:-10.02,6619254:-26.41,6619255:-26.42,6619256:-54.41,6619257:-26.41,6619258:-23.61,6684714:12,6684716:-60.02,6684717:-28.02,6684718:-60.02,6684719:-40.62,6684730:-26.02,6684731:-26.02,6684737:-40.61,6684738:-35.22,6684740:-35.2,6684741:-35.2,6684742:-35.22,6684744:-35.22,6684745:-35.22,6684749:-35.22,6684750:-35.2,6684752:-35.2,6684754:-35.2,6684765:14,6684769:-30.02,6684770:-35.22,6684771:-42,6684772:-42.02,6684773:-42.02,6684774:-104.23,6684775:-42,6684776:-35.22,6684777:-35.22,6684778:-46.02,6684779:-35.22,6684780:-18.41,6684781:-28.02,6684782:-28.02,6684783:-42.02,6684784:-28.02,6684785:-42.02,6684786:-28,6684787:-42.02,6684788:-36.02,6684790:-38,6684791:-38.02,6684792:-40.02,6684793:-38.02,6684794:-12,6750271:-20,6750274:-12.8,6750276:-12.8,6750277:-12.8,6750278:-12.81,6750280:-12.81,6750281:-12.81,6750285:-12.8,6750286:-12.8,6750288:-12.8,6750290:-12.8,6750292:-52,6750294:-22.02,6750295:-22,6750297:-20,6750300:-22,6750306:-12.81,6750307:-10,6750308:-10.02,6750309:-10,6750310:-19.61,6750311:-10,6750312:-12.81,6750313:-12.8,6750315:-12.81,6750319:-10.02,6750321:-10.02,6750323:-10,6750324:-25.61,6750326:-20,6750327:-20.02,6750328:-18,6750329:-20,6750330:-10,6815786:-18.02,6815807:-20.02,6815810:-6.02,6815812:-6.02,6815813:-6.02,6815814:-6.02,6815816:-6.02,6815817:-6.02,6815821:-6.02,6815822:-6.02,6815824:-6.02,6815826:-6.02,6815828:-40.02,6815830:-20.02,6815831:-20.02,6815832:-10.02,6815833:-40.02,6815836:-20.02,6815841:-11.02,6815842:-6.02,6815843:-12.41,6815844:-12.42,6815845:-12.42,6815846:-30.81,6815847:-12.41,6815848:-6.02,6815849:-6.02,6815850:-32.02,6815851:-6.02,6815852:-12.81,6815853:-18.02,6815854:-18.02,6815855:-12.42,6815856:-18.02,6815857:-12.42,6815858:-18.02,6815859:-12.42,6815860:-38.42,6815861:-14.22,6815862:-33.2,6815863:-33.22,6815864:-50.02,6815865:-33.22,6815866:-20.02,6881327:-10.02,6881343:-10.02,6881345:-10,6881346:-18,6881347:-14.8,6881348:-18,6881349:-18,6881350:-18.02,6881351:-14.81,6881352:-18.02,6881353:-18.02,6881354:-18.02,6881357:-18,6881358:-18,6881359:-14.8,6881360:-18,6881361:-14.81,6881362:-18,6881363:-14.81,6881364:-36.02,6881365:14.98,6881366:-22.02,6881367:-22,6881368:-10,6881369:-20,6881372:-22,6881377:-10,6881378:-18.02,6881379:-10,6881380:-10.02,6881381:-10.02,6881382:-43.61,6881383:-10,6881384:-18.02,6881385:-18,6881386:-16.02,6881387:-18.02,6881388:-8.41,6881389:6,6881390:5.98,6881391:-10.02,6881392:5.98,6881393:-10.02,6881394:6,6881395:-10,6881396:-36.41,6881397:-19.2,6881398:-10,6881399:-10.02,6881400:-50,6881401:-10,6881402:-10,6946863:-10.02,6946879:-10.02,6946881:-10.02,6946882:-18.02,6946883:-14.81,6946884:-18,6946885:-18,6946886:-18.02,6946887:-14.81,6946888:-18.02,6946889:-18.02,6946890:-18.02,6946893:-18.02,6946894:-18.02,6946895:-14.81,6946896:-18,6946897:-14.81,6946898:-18.02,6946899:-14.81,6946900:-36.02,6946901:14.98,6946902:-22.02,6946903:-22,6946904:-10,6946905:-20.02,6946908:-22,6946913:-10.02,6946914:-18.02,6946915:-10,6946916:-10.02,6946917:-10.02,6946918:-43.61,6946919:-10,6946920:-18.02,6946921:-18.02,6946922:-16.02,6946923:-18.02,6946924:-8.41,6946925:5.98,6946926:5.98,6946927:-10.02,6946928:5.98,6946929:-10.02,6946930:6,6946931:-10.02,6946932:-36.41,6946933:-19.22,6946934:-10,6946935:-10.02,6946936:-50.02,6946937:-10.02,6946938:-10,7012385:-20.02,7012394:-18.02,7012396:-20.02,7012397:-66.02,7012398:-20.02,7012410:-42.02,7012411:-42.02,7012415:-30.02,7012418:-50.02,7012419:-10.02,7012420:-50.02,7012421:-50.02,7012422:-50.02,7012423:-10.02,7012424:-50.02,7012425:-50.02,7012429:-50.02,7012430:-50.02,7012431:-10.02,7012432:-50.02,7012433:-10.02,7012434:-50.02,7012435:-10.02,7012436:-20.02,7012449:-48.02,7012450:-50.02,7012451:-57.2,7012452:-57.22,7012453:-57.22,7012454:-58.02,7012455:-57.2,7012456:-50.02,7012457:-50.02,7012458:-28.81,7012459:-50.02,7012460:-40.02,7012461:-42.02,7012462:-42.02,7012463:-57.22,7012464:-42.02,7012465:-57.22,7012466:-42.02,7012467:-57.22,7012468:-51.22,7012469:-20.02,7012470:-70.02,7012471:-70.02,7012472:-42.02,7012473:-70.02,7012474:-32.02,7077930:-22,7077932:20,7077934:20,7077951:-21.41,7077954:-8,7077956:-8,7077957:-8,7077958:-8,7077960:-8,7077961:-8.02,7077965:-8,7077966:-8,7077968:-8,7077970:-8,7077986:-8.02,7077987:-7.2,7077988:-7.2,7077989:-7.2,7077990:-12.81,7077991:-7.2,7077992:-8.02,7077993:-8,7077994:1.59,7077995:-8.02,7077996:-10,7077999:-7.2,7078001:-7.2,7078003:-7.2,7078004:-48,7078005:-9.2,7078006:-27.2,7078007:-27.2,7078008:-26.8,7078009:-27.2,7078010:-9.2,7143466:-18,7143487:-20.02,7143490:-6.02,7143492:-6,7143493:-6,7143494:-6.02,7143496:-6.02,7143497:-6.02,7143501:-6.02,7143502:-6,7143504:-6,7143506:-6,7143508:-40.02,7143510:-20.02,7143511:-20,7143512:-10,7143513:-40,7143516:-20,7143521:-11,7143522:-6.02,7143523:-12.41,7143524:-12.42,7143525:-12.41,7143526:-30.81,7143527:-12.41,7143528:-6.02,7143529:-6,7143530:-32.02,7143531:-6.02,7143532:-12.8,7143533:-18.02,7143534:-18.02,7143535:-12.42,7143536:-18.02,7143537:-12.42,7143538:-18,7143539:-12.41,7143540:-38.41,7143541:-14.22,7143542:-33.2,7143543:-33.22,7143544:-50.02,7143545:-33.2,7143546:-20,7209002:-18.02,7209023:-20.02,7209026:-6.02,7209028:-6.02,7209029:-6.02,7209030:-6.02,7209032:-6.02,7209033:-6.02,7209037:-6.02,7209038:-6.02,7209040:-6.02,7209042:-6.02,7209044:-40.02,7209046:-20.02,7209047:-20.02,7209048:-10.02,7209049:-40.02,7209052:-20.02,7209057:-11.02,7209058:-6.02,7209059:-12.41,7209060:-12.42,7209061:-12.42,7209062:-30.81,7209063:-12.41,7209064:-6.02,7209065:-6.02,7209066:-32.02,7209067:-6.02,7209068:-12.81,7209069:-18.02,7209070:-18.02,7209071:-12.42,7209072:-18.02,7209073:-12.42,7209074:-18.02,7209075:-12.42,7209076:-38.42,7209077:-14.22,7209078:-33.2,7209079:-33.22,7209080:-50.02,7209081:-33.22,7209082:-20.02,7274530:-10.02,7274535:-10.02,7274538:-22.02,7274543:-10.02,7274559:-40.02,7274561:-10.02,7274562:-10.02,7274564:-10.02,7274565:-10.02,7274566:-10.02,7274568:-10.02,7274569:-10.02,7274573:-10.02,7274574:-10.02,7274576:-10.02,7274578:-10.02,7274580:-70.02,7274582:-50.02,7274583:-50.02,7274584:-20.02,7274585:-50.02,7274588:-50.02,7274593:1.19,7274594:-10.02,7274595:-10.02,7274596:-10.02,7274597:-10.02,7274598:-30.02,7274599:-10.02,7274600:-10.02,7274601:-10.02,7274602:-18.02,7274603:-10.02,7274604:-5.02,7274605:-10.02,7274606:-10.02,7274607:-10.02,7274608:-10.02,7274609:-10.02,7274610:-10.02,7274611:-10.02,7274612:-28.81,7274613:-10.02,7274614:-26.41,7274615:-26.42,7274616:-54.42,7274617:-26.41,7274618:-23.61,7340066:-10.02,7340071:-10.02,7340074:-22.02,7340079:-10.02,7340095:-40.02,7340097:-10.02,7340098:-10.02,7340100:-10.02,7340101:-10.02,7340102:-10.02,7340104:-10.02,7340105:-10.02,7340109:-10.02,7340110:-10.02,7340112:-10.02,7340114:-10.02,7340116:-70.02,7340118:-50.02,7340119:-50.02,7340120:-20.02,7340121:-50.02,7340124:-50.02,7340129:1.19,7340130:-10.02,7340131:-10.02,7340132:-10.02,7340133:-10.02,7340134:-30.02,7340135:-10.02,7340136:-10.02,7340137:-10.02,7340138:-18.02,7340139:-10.02,7340140:-5.02,7340141:-10.02,7340142:-10.02,7340143:-10.02,7340144:-10.02,7340145:-10.02,7340146:-10.02,7340147:-10.02,7340148:-28.81,7340149:-10.02,7340150:-26.41,7340151:-26.42,7340152:-54.42,7340153:-26.41,7340154:-23.61,7405631:-20.02,7405634:-12.81,7405636:-12.81,7405637:-12.81,7405638:-12.81,7405640:-12.81,7405641:-12.83,7405645:-12.81,7405646:-12.81,7405648:-12.81,7405650:-12.81,7405652:-52.02,7405654:-22.02,7405655:-22.02,7405657:-20.02,7405660:-22.02,7405666:-12.83,7405667:-10.02,7405668:-10.02,7405669:-10.02,7405670:-19.62,7405671:-10.02,7405672:-12.83,7405673:-12.81,7405675:-12.83,7405679:-10.02,7405681:-10.02,7405683:-10.02,7405684:-25.61,7405686:-20.02,7405687:-20.02,7405688:-18.02,7405689:-20.02,7405690:-10.02,7471148:-58,7471149:-36,7471150:-58,7471151:-30.02,7471162:-46,7471163:-46,7471169:-30,7471170:-28,7471172:-28,7471173:-28,7471174:-28,7471176:-28,7471177:-28.02,7471181:-28,7471182:-28,7471184:-28,7471186:-28,7471188:-36,7471201:-38,7471202:-28.02,7471203:-40,7471204:-40.02,7471205:-40,7471206:-54,7471207:-40,7471208:-28.02,7471209:-28,7471210:-48,7471211:-28.02,7471212:-28,7471213:-36,7471214:-36.02,7471215:-40.02,7471216:-36.02,7471217:-40.02,7471218:-36,7471219:-40,7471220:-44,7471221:-18,7471222:-24,7471223:-24.02,7471224:-68,7471225:-24,7471226:-30,7536674:-10.02,7536679:-10,7536682:-22,7536687:-10.02,7536703:-40.02,7536705:-10.02,7536706:-10.02,7536708:-10,7536709:-10,7536710:-10.02,7536712:-10.02,7536713:-10.02,7536717:-10.02,7536718:-10,7536720:-10,7536722:-10,7536724:-70.02,7536726:-50.02,7536727:-50,7536728:-20,7536729:-50,7536732:-50,7536737:1.19,7536738:-10.02,7536739:-10,7536740:-10.02,7536741:-10.02,7536742:-30.02,7536743:-10,7536744:-10.02,7536745:-10,7536746:-18.02,7536747:-10.02,7536748:-5,7536749:-10.02,7536750:-10.02,7536751:-10.02,7536752:-10.02,7536753:-10.02,7536754:-10,7536755:-10.02,7536756:-28.81,7536757:-10.02,7536758:-26.41,7536759:-26.42,7536760:-54.41,7536761:-26.41,7536762:-23.61,7602220:27.19,7602221:-28,7602222:27.19,7602223:9.58,7602241:9.59,7602242:-14.41,7602244:-14.41,7602245:-14.41,7602246:-14.41,7602248:-14.41,7602249:-14.42,7602253:-14.41,7602254:-14.41,7602256:-14.41,7602258:-14.41,7602262:-12.02,7602263:-12,7602266:27.98,7602268:-12,7602273:-9.2,7602274:-14.42,7602275:-15.2,7602276:-15.22,7602277:-15.22,7602278:-28.81,7602279:-15.2,7602280:-14.42,7602281:-14.41,7602282:-10.02,7602283:-14.42,7602285:4.98,7602286:4.98,7602287:-15.22,7602288:4.98,7602289:-15.22,7602290:5,7602291:-15.2,7602292:-87.02,7602294:-10.8,7602295:-10.81,7602296:-32.02,7602297:-10.81,7602298:2,7667775:-20.02,7667778:-12.81,7667780:-12.81,7667781:-12.81,7667782:-12.81,7667784:-12.81,7667785:-12.81,7667789:-12.81,7667790:-12.81,7667792:-12.81,7667794:-12.81,7667796:-52.02,7667798:-22.02,7667799:-22,7667801:-20.02,7667804:-22,7667810:-12.81,7667811:-10,7667812:-10.02,7667813:-10.02,7667814:-19.61,7667815:-10,7667816:-12.81,7667817:-12.81,7667819:-12.81,7667823:-10.02,7667825:-10.02,7667827:-10.02,7667828:-25.61,7667830:-20,7667831:-20.02,7667832:-18.02,7667833:-20.02,7667834:-10,7733292:-57.2,7733293:-10,7733294:-57.2,7733295:-50.02,7733306:-20,7733307:-20,7733313:-50,7733314:-10,7733315:-15,7733316:-10,7733317:-10,7733318:-10,7733319:-15,7733320:-10,7733321:-10.02,7733322:-38.02,7733325:-10,7733326:-10,7733327:-15,7733328:-10,7733329:-15.02,7733330:-10,7733331:-15,7733332:-36,7733345:-24.41,7733346:-10.02,7733347:-26.8,7733348:-26.81,7733349:-26.81,7733350:-10,7733351:-26.8,7733352:-10.02,7733353:-10,7733354:-26,7733355:-10.02,7733356:-10,7733357:-23.2,7733358:-23.2,7733359:-26.81,7733360:-23.2,7733361:-26.81,7733362:-23.2,7733363:-26.8,7733364:-23.2,7733365:-20,7733368:-46.41,7733370:-25.59,7798828:-57.22,7798829:-10.02,7798830:-57.22,7798831:-50.02,7798842:-20.02,7798843:-20.02,7798849:-50.02,7798850:-10.02,7798851:-15.02,7798852:-10.02,7798853:-10.02,7798854:-10.02,7798855:-15.02,7798856:-10.02,7798857:-10.02,7798858:-38.02,7798861:-10.02,7798862:-10.02,7798863:-15.02,7798864:-10.02,7798865:-15.02,7798866:-10.02,7798867:-15.02,7798868:-36.02,7798881:-24.41,7798882:-10.02,7798883:-26.81,7798884:-26.83,7798885:-26.81,7798886:-10.02,7798887:-26.81,7798888:-10.02,7798889:-10.02,7798890:-26.02,7798891:-10.02,7798892:-10.02,7798893:-23.22,7798894:-23.22,7798895:-26.83,7798896:-23.22,7798897:-26.83,7798898:-23.2,7798899:-26.81,7798900:-23.22,7798901:-20.02,7798904:-46.42,7798906:-25.61,7864353:-20.02,7864362:-18,7864364:-20.02,7864365:-66,7864366:-20.02,7864378:-42.02,7864379:-42.02,7864383:-30.02,7864386:-50.02,7864387:-10,7864388:-50,7864389:-50,7864390:-50.02,7864391:-10.02,7864392:-50.02,7864393:-50.02,7864397:-50.02,7864398:-50,7864399:-10,7864400:-50,7864401:-10.02,7864402:-50,7864403:-10.02,7864404:-20.02,7864417:-48,7864418:-50.02,7864419:-54.41,7864420:-54.42,7864421:-54.41,7864422:-58.02,7864423:-54.41,7864424:-50.02,7864425:-50,7864426:-28.81,7864427:-50.02,7864428:-40,7864429:-42.02,7864430:-42.02,7864431:-54.42,7864432:-42.02,7864433:-54.42,7864434:-42,7864435:-54.41,7864436:-51.2,7864437:-20.02,7864438:-70,7864439:-70.02,7864440:-42.02,7864441:-70,7864442:-32,7929900:-57.2,7929901:-10,7929902:-57.2,7929903:-50.02,7929914:-20,7929915:-20,7929921:-50,7929922:-10,7929923:-15,7929924:-10,7929925:-10,7929926:-10.02,7929927:-15.02,7929928:-10.02,7929929:-10.02,7929930:-38.02,7929933:-10,7929934:-10,7929935:-15,7929936:-10,7929937:-15.02,7929938:-10,7929939:-15.02,7929940:-36.02,7929953:-24.41,7929954:-10.02,7929955:-26.8,7929956:-26.81,7929957:-26.81,7929958:-10.02,7929959:-26.8,7929960:-10.02,7929961:-10,7929962:-26.02,7929963:-10.02,7929964:-10,7929965:-23.2,7929966:-23.22,7929967:-26.81,7929968:-23.22,7929969:-26.81,7929970:-23.2,7929971:-26.81,7929972:-23.2,7929973:-20.02,7929976:-46.41,7929978:-25.59,7995450:-20,7995451:-20,7995455:-10,7995458:-10,7995460:-10,7995461:-10,7995462:-10,7995464:-10,7995465:-10.02,7995469:-10,7995470:-10,7995472:-10,7995474:-10,7995478:-30.02,7995479:-30,7995480:-10,7995484:-30,7995489:-16,7995490:-10.02,7995491:-30,7995492:-30.02,7995493:-30,7995494:-20,7995495:-30,7995496:-10.02,7995497:-10,7995498:-22,7995499:-10.02,7995500:-26,7995501:-20,7995502:-20.02,7995503:-30.02,7995504:-20.02,7995505:-30.02,7995506:-20,7995507:-30,7995508:-28,7995509:-18.81,7995510:-29.59,7995511:-29.61,7995512:-50,7995513:-29.59,7995514:-18,8061012:12,8257620:-20,8257625:-20}, mono400: {}, }, }; diff --git a/packages/core/src/text-measure.ts b/packages/core/src/text-measure.ts index f22823b..1806af0 100644 --- a/packages/core/src/text-measure.ts +++ b/packages/core/src/text-measure.ts @@ -3,19 +3,25 @@ import { FONT_METRICS, type FontFace } from './font-metrics.gen'; /** The faces NodeCard renders text in (Geist Sans 400/500, tabular-digit 500, Geist Mono 400). */ export type { FontFace }; -/** - * Rendered width in CSS px, headless, with pair kerning. A code point outside the inlined Latin subset - * counts as 1em, the width of the full-width CJK fallback. - */ +// Outside the inlined Latin subset the browser falls back to system fonts. Measured in Chromium: CJK +// ≈ 1.02em, colour emoji ≈ 1.26em (macOS) / 1.2–1.28em (Noto). Round up so overflow is never missed. +const FALLBACK_EM = 1.1; +const EMOJI_EM = 1.3; +const EMOJI = /[\p{Extended_Pictographic}\p{Regional_Indicator}]/u; + +/** Rendered width in CSS px, headless, with pair kerning. */ export function measureText(text: string, face: FontFace, sizePx: number): number { const advances: Record = FONT_METRICS.faces[face]; const kerning: Record = FONT_METRICS.kerning[face]; + const em = FONT_METRICS.unitsPerEm; let units = 0; let prev = -1; for (const ch of text) { const cp = ch.codePointAt(0)!; - units += (advances[cp] ?? FONT_METRICS.unitsPerEm) + (prev < 0 ? 0 : (kerning[prev * 0x10000 + cp] ?? 0)); + const advance = advances[cp] ?? (EMOJI.test(ch) ? EMOJI_EM : FALLBACK_EM) * em; + // Kerning pairs are ASCII-only, so the packed key never collides. + units += advance + (prev < 0 || prev > 0x7e ? 0 : (kerning[prev * 0x10000 + cp] ?? 0)); prev = cp; } - return (units * sizePx) / FONT_METRICS.unitsPerEm; + return (units * sizePx) / em; } diff --git a/packages/core/test/text-measure.test.ts b/packages/core/test/text-measure.test.ts index a1ac444..894b022 100644 --- a/packages/core/test/text-measure.test.ts +++ b/packages/core/test/text-measure.test.ts @@ -27,9 +27,11 @@ describe('measureText', () => { expect(measureText('10.44.0.11', 'mono400', 12)).toBeCloseTo(10 * 0.6 * 12, 6); }); - it('counts a code point outside the table as 1em, astral ones once', () => { - expect(measureText('数', 'sans400', 12)).toBe(12); - expect(measureText('🚀', 'sans400', 12)).toBe(12); - expect(measureText('a🚀', 'sans400', 12)).toBeCloseTo(12 + (faces.sans400[97]! * 12) / 1000, 6); + it('measures code points outside the table wide: 1.1em, emoji 1.3em, astral ones counted once', () => { + expect(measureText('数', 'sans400', 10)).toBeCloseTo(11, 6); + expect(measureText('🚀', 'sans400', 10)).toBeCloseTo(13, 6); + expect(measureText('✅', 'sans400', 10)).toBeCloseTo(13, 6); + expect(measureText('🇩🇪', 'sans400', 10)).toBeCloseTo(26, 6); + expect(measureText('a🚀', 'sans400', 10)).toBeCloseTo(13 + (faces.sans400[97]! * 10) / 1000, 6); }); }); diff --git a/packages/schema/src/rules/card-fit.ts b/packages/schema/src/rules/card-fit.ts index a89ec1d..399d85f 100644 --- a/packages/schema/src/rules/card-fit.ts +++ b/packages/schema/src/rules/card-fit.ts @@ -8,19 +8,27 @@ export function cardFitDiagnostics(d: DiagramDraft): Diagnostic[] { const out: Diagnostic[] = []; d.nodes.forEach((n, i) => { for (const slot of cardTextSlots(n.card)) { - const width = measureText(slot.text, slot.face, slot.size); + // Cards render with white-space: nowrap, which collapses runs of whitespace and trims the ends. + const shown = slot.text.replace(/\s+/g, ' ').trim(); + const width = measureText(shown, slot.face, slot.size); if (width <= slot.maxWidth) continue; - const chars = [...slot.text]; + const chars = [...shown]; let maxChars = 0; while (maxChars < chars.length && measureText(chars.slice(0, maxChars + 1).join(''), slot.face, slot.size) <= slot.maxWidth) maxChars++; const header = slot.path === '/title' || slot.path === '/subtitle'; + // A row label's budget is whatever its value leaves, so shortening the value also works. + const rowLabel = /^\/rows\/\d+\/label$/.test(slot.path); out.push({ code: 'card-fit/overflow', severity: 'error', subject: `/nodes/${i}/card${slot.path}`, message: `"${slot.text}" is ${round(width)}px wide; this slot fits ${round(slot.maxWidth)}px (~${maxChars} characters)`, evidence: { text: slot.text, width: round(width), maxWidth: round(slot.maxWidth), maxChars }, - allowedFixes: [`shorten to at most ${maxChars} characters`, ...(header ? ['move the detail into a card row'] : [])], + allowedFixes: [ + `shorten to at most ${maxChars} characters`, + ...(header ? ['move the detail into a card row'] : []), + ...(rowLabel ? [`shorten the value at /nodes/${i}/card${slot.path.replace(/label$/, 'value')} to give the label room`] : []), + ], }); } }); diff --git a/packages/schema/src/rules/schema.ts b/packages/schema/src/rules/schema.ts index f0d0164..a8c06d0 100644 --- a/packages/schema/src/rules/schema.ts +++ b/packages/schema/src/rules/schema.ts @@ -1,6 +1,6 @@ import type { z } from 'zod'; import type { Diagnostic } from '../diagnostics'; -import { buildJsonSchema, ID_PATTERN } from '../schema'; +import { buildJsonSchema, ID_PATTERN, VISIBLE_TEXT } from '../schema'; import { closest, pointer, toId } from '../util'; const kindOf = (v: unknown) => (v === null ? 'null' : Array.isArray(v) ? 'array' : typeof v); @@ -11,26 +11,32 @@ function valueAt(input: unknown, path: readonly PropertyKey[]): unknown { return v; } -// Every property name the schema knows, for "did you mean" on misspelt keys. -let knownKeys: string[] | undefined; -function allKeys(): string[] { - if (knownKeys) return knownKeys; - const keys = new Set(); - const walk = (node: unknown) => { - if (node === null || typeof node !== 'object') return; - const props = (node as { properties?: Record }).properties; - if (props) for (const k of Object.keys(props)) keys.add(k); - for (const v of Object.values(node)) walk(v); - }; - walk(buildJsonSchema()); - return (knownKeys = [...keys]); +type JsonSchemaNode = { properties?: Record; items?: JsonSchemaNode }; +let jsonSchema: JsonSchemaNode | undefined; + +/** Property names allowed on the object at `path`, read from the emitted JSON Schema. */ +function keysAt(path: readonly PropertyKey[]): string[] { + let node: JsonSchemaNode | undefined = (jsonSchema ??= buildJsonSchema() as JsonSchemaNode); + for (const key of path) node = typeof key === 'number' ? node?.items : node?.properties?.[String(key)]; + return Object.keys(node?.properties ?? {}); +} + +const article = (t: string) => (/^[aeiou]/.test(t) ? `an ${t}` : `a ${t}`); + +/** "the diagram", "item 2 of \"nodes\"" or "\"title\"" — how a fix names the value at `path`. */ +function name(path: readonly PropertyKey[]): string { + const last = path.at(-1); + if (last === undefined) return 'the diagram'; + return typeof last === 'number' ? `item ${last} of "${String(path.at(-2))}"` : `"${String(last)}"`; } function fixes(issue: z.core.$ZodIssue, received: unknown): string[] { const key = String(issue.path.at(-1) ?? 'value'); switch (issue.code) { case 'invalid_type': - return received === undefined ? [`add the required "${key}" field (${issue.expected})`] : [`make "${key}" a ${issue.expected}`]; + return received === undefined && issue.path.length > 0 + ? [`add the required "${key}" field (${issue.expected})`] + : [`make ${name(issue.path)} ${article(issue.expected)}`]; case 'invalid_value': return [`use one of: ${issue.values.map(String).join(', ')}`]; case 'too_big': @@ -40,13 +46,16 @@ function fixes(issue: z.core.$ZodIssue, received: unknown): string[] { case 'invalid_format': if (issue.format === 'regex' && issue.pattern === String(ID_PATTERN)) return [`use a lowercase id such as "${toId(String(received ?? ''))}"`]; + if (issue.format === 'regex' && issue.pattern === String(VISIBLE_TEXT)) return [`give "${key}" visible text`]; if (key === 'href') return ['use an http(s) URL', 'remove "href"']; return [`match ${issue.pattern ?? issue.format}`]; - case 'unrecognized_keys': + case 'unrecognized_keys': { + const allowed = keysAt(issue.path); return issue.keys.map((k) => { - const near = closest(k, allKeys(), 1)[0]; - return near ? `rename "${k}" to "${near}"` : `remove "${k}"`; + const near = closest(k, allowed, 1)[0]; + return near ? `rename "${k}" to "${near}"` : `remove "${k}" (not valid here; allowed: ${allowed.join(', ')})`; }); + } default: return ['fix the value to match stackmap.schema.json']; } @@ -59,7 +68,7 @@ export function schemaDiagnostics(issues: readonly z.core.$ZodIssue[], input: un const { code, path, message, input: _input, ...rest } = issue as z.core.$ZodIssue & { input?: unknown }; const evidence: Record = { ...rest }; // Primitives verbatim; objects and arrays by kind only, so evidence stays small. - if (code !== 'unrecognized_keys') evidence.received = received !== null && typeof received === 'object' ? kindOf(received) : received ?? 'missing'; + if (code !== 'unrecognized_keys') evidence.received = received !== null && typeof received === 'object' ? kindOf(received) : received === undefined ? 'missing' : received; return { code: `schema/${code}`, severity: 'error', diff --git a/packages/schema/src/rules/semantics.ts b/packages/schema/src/rules/semantics.ts index 0cd7e13..8a290f7 100644 --- a/packages/schema/src/rules/semantics.ts +++ b/packages/schema/src/rules/semantics.ts @@ -3,6 +3,13 @@ import type { Diagnostic } from '../diagnostics'; function duplicates(items: { id: string }[] | undefined, collection: string): Diagnostic[] { const first = new Map(); + const taken = new Set(items?.map((x) => x.id)); + const unused = (id: string) => { + let n = 2; + while (taken.has(`${id}-${n}`)) n++; + taken.add(`${id}-${n}`); + return `${id}-${n}`; + }; const out: Diagnostic[] = []; items?.forEach(({ id }, i) => { const at = first.get(id); @@ -13,7 +20,7 @@ function duplicates(items: { id: string }[] | undefined, collection: string): Di subject: `/${collection}/${i}/id`, message: `Duplicate ${collection.slice(0, -1)} id "${id}"`, evidence: { id, first: `/${collection}/${at}/id` }, - allowedFixes: [`rename to a unique id, e.g. "${id}-${i + 1}"`, 'remove the duplicate'], + allowedFixes: [`rename to a unique id, e.g. "${unused(id)}"`, 'remove the duplicate'], }); }); return out; @@ -64,6 +71,18 @@ export function semanticsDiagnostics(d: DiagramDraft): Diagnostic[] { ...duplicates(d.views, 'views'), ]; + d.nodes.forEach((n, i) => { + if (n.card.statsNote !== undefined && !n.card.stats?.length) + out.push({ + code: 'semantics/hidden-stats-note', + severity: 'warning', + subject: `/nodes/${i}/card/statsNote`, + message: `The stats note on "${n.id}" is never shown: the card has no stats`, + evidence: { id: n.id }, + allowedFixes: ['add "stats"', 'remove "statsNote"', 'move the note into a card row'], + }); + }); + const linked = new Set(d.edges.flatMap((e) => [e.from, e.to])); if (d.nodes.length > 1) { d.nodes.forEach((n, i) => { @@ -92,9 +111,11 @@ export function semanticsDiagnostics(d: DiagramDraft): Diagnostic[] { }); if (d.kind === 'dataflow') { - for (const comp of cycles(d.nodes.map((n) => n.id), d.edges.map((e) => [e.from, e.to]))) { + // An async edge is an explicit feedback path (retry, event back-channel), so it doesn't close a cycle. + const flow = d.edges.filter((e) => e.kind !== 'async'); + for (const comp of cycles(d.nodes.map((n) => n.id), flow.map((e) => [e.from, e.to]))) { const members = new Set(comp); - const i = d.edges.findIndex((e) => members.has(e.from) && members.has(e.to) && e.from !== e.to); + const i = d.edges.findIndex((e) => e.kind !== 'async' && members.has(e.from) && members.has(e.to) && e.from !== e.to); out.push({ code: 'semantics/dataflow-cycle', severity: 'warning', diff --git a/packages/schema/src/schema.ts b/packages/schema/src/schema.ts index 2beedc6..4ef7bbe 100644 --- a/packages/schema/src/schema.ts +++ b/packages/schema/src/schema.ts @@ -5,10 +5,12 @@ import { NODE_TYPES } from '@stackmap/core'; // so a misspelt key is reported instead of silently dropped. export const ID_PATTERN = /^[a-z0-9][a-z0-9_-]*$/; -export const LIMITS = { rows: 6, stats: 3, edgeLabel: 24 } as const; +// Size caps keep validation and layout fast and the diagram readable; beyond them, split into views. +export const LIMITS = { rows: 6, stats: 3, edgeLabel: 24, nodes: 500, edges: 2000, groups: 200, views: 50 } as const; +export const VISIBLE_TEXT = /\S/; const id = z.string().regex(ID_PATTERN).meta({ description: 'Lowercase id: letters, digits, "-" and "_"; starts with a letter or digit.' }); -const text = z.string().min(1); +const text = z.string().regex(VISIBLE_TEXT); const FooterItem = z.strictObject({ text, @@ -71,10 +73,10 @@ export const DiagramDraftSchema = z title: text, subtitle: text.optional(), direction: z.enum(['RIGHT', 'DOWN']).optional().meta({ description: 'Layout flow. Default RIGHT; prefer DOWN for tiered/grouped diagrams.' }), - groups: z.array(Group).optional(), - nodes: z.array(Node).min(1), - edges: z.array(Edge), - views: z.array(View).optional(), + groups: z.array(Group).max(LIMITS.groups).optional(), + nodes: z.array(Node).min(1).max(LIMITS.nodes), + edges: z.array(Edge).max(LIMITS.edges), + views: z.array(View).max(LIMITS.views).optional(), }) .meta({ title: 'stackmap diagram', description: 'Agent-authored diagram. Layout is computed by stackmap; never give coordinates.' }); diff --git a/packages/schema/stackmap.schema.json b/packages/schema/stackmap.schema.json index f6aacff..a78638c 100644 --- a/packages/schema/stackmap.schema.json +++ b/packages/schema/stackmap.schema.json @@ -14,11 +14,11 @@ }, "title": { "type": "string", - "minLength": 1 + "pattern": "\\S" }, "subtitle": { "type": "string", - "minLength": 1 + "pattern": "\\S" }, "direction": { "description": "Layout flow. Default RIGHT; prefer DOWN for tiered/grouped diagrams.", @@ -29,6 +29,7 @@ ] }, "groups": { + "maxItems": 200, "type": "array", "items": { "type": "object", @@ -40,7 +41,7 @@ }, "label": { "type": "string", - "minLength": 1 + "pattern": "\\S" }, "parent": { "type": "string", @@ -57,6 +58,7 @@ }, "nodes": { "minItems": 1, + "maxItems": 500, "type": "array", "items": { "type": "object", @@ -91,12 +93,12 @@ "properties": { "title": { "type": "string", - "minLength": 1, + "pattern": "\\S", "description": "Card title. Must fit the card; `stackmap validate` reports the character budget." }, "subtitle": { "type": "string", - "minLength": 1 + "pattern": "\\S" }, "brand": { "description": "simple-icons slug shown in the icon tile, e.g. \"postgresql\".", @@ -111,11 +113,11 @@ "properties": { "label": { "type": "string", - "minLength": 1 + "pattern": "\\S" }, "value": { "type": "string", - "minLength": 1 + "pattern": "\\S" }, "mono": { "type": "boolean" @@ -137,11 +139,11 @@ "properties": { "value": { "type": "string", - "minLength": 1 + "pattern": "\\S" }, "label": { "type": "string", - "minLength": 1 + "pattern": "\\S" } }, "required": [ @@ -154,7 +156,7 @@ "statsNote": { "description": "Line under the stat tiles; only shown with stats.", "type": "string", - "minLength": 1 + "pattern": "\\S" }, "footer": { "type": "object", @@ -164,7 +166,7 @@ "properties": { "text": { "type": "string", - "minLength": 1 + "pattern": "\\S" }, "icon": { "type": "string", @@ -185,7 +187,7 @@ "properties": { "text": { "type": "string", - "minLength": 1 + "pattern": "\\S" }, "icon": { "type": "string", @@ -209,7 +211,7 @@ "properties": { "label": { "type": "string", - "minLength": 1 + "pattern": "\\S" }, "href": { "type": "string", @@ -237,6 +239,7 @@ } }, "edges": { + "maxItems": 2000, "type": "array", "items": { "type": "object", @@ -259,8 +262,8 @@ "label": { "description": "Short label; use sparingly.", "type": "string", - "minLength": 1, - "maxLength": 24 + "maxLength": 24, + "pattern": "\\S" }, "kind": { "description": "async edges render dashed.", @@ -280,6 +283,7 @@ } }, "views": { + "maxItems": 50, "type": "array", "items": { "type": "object", @@ -291,11 +295,11 @@ }, "label": { "type": "string", - "minLength": 1 + "pattern": "\\S" }, "caption": { "type": "string", - "minLength": 1 + "pattern": "\\S" }, "nodes": { "type": "array", diff --git a/packages/schema/test/validate.test.ts b/packages/schema/test/validate.test.ts index 178da4d..31ece46 100644 --- a/packages/schema/test/validate.test.ts +++ b/packages/schema/test/validate.test.ts @@ -67,6 +67,34 @@ describe('validateDiagram', () => { expect(d).toMatchObject({ code: 'schema/unrecognized_keys', subject: '/nodes/0/card', evidence: { keys: ['subtitel'] }, allowedFixes: ['rename "subtitel" to "subtitle"'] }); }); + it('only suggests keys valid on the offending object, never the key itself', () => { + const onNode = diags(base({ nodes: [node('a', { label: 'x' } as never), node('b')] }))[0]; + expect(onNode).toMatchObject({ subject: '/nodes/0', allowedFixes: ['remove "label" (not valid here; allowed: id, type, group, card)'] }); + const onEdge = diags(base({ edges: [{ id: 'ab', from: 'a', to: 'b', subtitel: 'x' } as never] }))[0]; + expect(onEdge!.allowedFixes).toEqual(['remove "subtitel" (not valid here; allowed: id, from, to, label, kind)']); + const onRoot = diags({ ...base(), titel: 'x' })[0]; + expect(onRoot).toMatchObject({ subject: '', allowedFixes: ['rename "titel" to "title"'] }); + }); + + it('a blank or whitespace-only text is one diagnostic asking for visible text', () => { + for (const title of ['', ' ']) { + expect(diags(base({ nodes: [node('a', { card: { title } }), node('b')] }))).toMatchObject([ + { code: 'schema/invalid_format', subject: '/nodes/0/card/title', allowedFixes: ['give "title" visible text'] }, + ]); + } + }); + + it('type errors name the value in plain words', () => { + expect(diags(null)[0]).toMatchObject({ evidence: { received: null }, allowedFixes: ['make the diagram an object'] }); + expect(diags(base({ nodes: [5 as never] }))[0]).toMatchObject({ subject: '/nodes/0', allowedFixes: ['make item 0 of "nodes" an object'] }); + expect(diags(base({ title: null as never }))[0]).toMatchObject({ evidence: { received: null }, allowedFixes: ['make "title" a string'] }); + }); + + it('caps diagram size so validation and layout stay fast', () => { + const nodes = Array.from({ length: 501 }, (_, i) => node(`n${i}`)); + expect(diags(base({ nodes }))[0]).toMatchObject({ code: 'schema/too_big', subject: '/nodes', allowedFixes: ['keep at most 500 items'] }); + }); + it('limits say how far to cut', () => { const stats = Array.from({ length: 4 }, (_, i) => ({ value: String(i), label: 'x' })); expect(diags(base({ nodes: [node('a', { card: { title: 'a', stats } })] }))[0]).toMatchObject({ @@ -89,7 +117,7 @@ describe('validateDiagram', () => { it('returns only schema diagnostics when the schema fails', () => { // Dangling edge + orphan would be reported too if later families ran. const r = validateDiagram({ ...base({ edges: [{ id: 'ax', from: 'a', to: 'x' }] }), title: '' }); - expect(r.diagnostics.map((d) => d.code)).toEqual(['schema/too_small']); + expect(r.diagnostics.map((d) => d.code)).toEqual(['schema/invalid_format']); }); }); @@ -154,6 +182,17 @@ describe('validateDiagram', () => { ]); }); + it('a stats note without stats is a warning (it is never shown)', () => { + expect(only(base({ nodes: [node('a', { card: { title: 'a', statsNote: 'links' } }), node('b')] }), 'semantics/hidden-stats-note')).toMatchObject([ + { severity: 'warning', subject: '/nodes/0/card/statsNote' }, + ]); + }); + + it('a duplicate id rename suggestion is itself unused', () => { + const d = base({ nodes: [node('a'), node('a-2'), node('a')], edges: [] }); + expect(only(d, 'semantics/duplicate-id')[0]!.allowedFixes[0]).toBe('rename to a unique id, e.g. "a-3"'); + }); + it('an unconnected node is an orphan, except in a one-node diagram', () => { expect(only(base({ nodes: [node('a'), node('b'), node('c')] }), 'semantics/orphan-node')).toMatchObject([{ subject: '/nodes/2', severity: 'warning' }]); expect(diags(base({ nodes: [node('a')], edges: [] }))).toEqual([]); @@ -178,6 +217,14 @@ describe('validateDiagram', () => { expect(only(base({ nodes, edges }), 'semantics/dataflow-cycle')).toEqual([]); }); + it('an async feedback edge clears the cycle warning (its suggested fix works)', () => { + const edges = [ + { id: 'ab', from: 'a', to: 'b' }, + { id: 'ba', from: 'b', to: 'a', kind: 'async' as const }, + ]; + expect(only(base({ kind: 'dataflow', edges }), 'semantics/dataflow-cycle')).toEqual([]); + }); + it('an empty view is an error, an empty group a warning', () => { const r = validateDiagram(base({ views: [{ id: 'v', label: 'V', nodes: [] }], groups: [{ id: 'g', label: 'G' }] })); expect(r.ok).toBe(false); @@ -224,9 +271,19 @@ describe('validateDiagram', () => { ]); }); + it('measures text as rendered: runs of spaces collapse, ends are trimmed', () => { + expect(only(base({ nodes: [node('a', { card: { title: `Orders${' '.repeat(60)}` } }), node('b')] }), 'card-fit/overflow')).toEqual([]); + }); + + it('a row label squeezed by its value also offers shortening the value', () => { + const card = { title: 'a', rows: [{ label: 'Connection string for the primary', value: 'postgres://orders.internal:5432' }] }; + const [d] = only(base({ nodes: [node('a', { card }), node('b')] }), 'card-fit/overflow').filter((x) => x.subject.endsWith('/label')); + expect(d!.allowedFixes).toContain('shorten the value at /nodes/0/card/rows/0/value to give the label room'); + }); + it('measures non-Latin text conservatively instead of crashing', () => { const [d] = only(base({ nodes: [node('a', { card: { title: '注文サービス本番環境クラスター東京' } }), node('b')] }), 'card-fit/overflow'); - expect(d).toMatchObject({ subject: '/nodes/0/card/title', evidence: { maxChars: 14 } }); + expect(d).toMatchObject({ subject: '/nodes/0/card/title', evidence: { maxChars: 13 } }); }); }); }); diff --git a/packages/viewer/e2e/metrics.spec.ts b/packages/viewer/e2e/metrics.spec.ts index 237a600..b2e0293 100644 --- a/packages/viewer/e2e/metrics.spec.ts +++ b/packages/viewer/e2e/metrics.spec.ts @@ -91,3 +91,19 @@ test('a card slot truncates exactly when its measured text exceeds its budget', expect(mismatches).toEqual([]); expect(checked).toBeGreaterThan(60); }); + +test('text outside the Latin subset is never measured narrower than it renders', async ({ page }) => { + await page.goto('/?page=gallery'); + await page.evaluate(() => document.fonts.ready); + const corpus = ['🚀🚀🚀 deploy', '✅ healthy', '🇩🇪 Frankfurt', '支付服务', '注文サービス', '결제 서비스', 'naïve café', 'Zürich — Ørsted']; + const real = await page.evaluate((corpus) => { + const span = document.createElement('span'); + span.style.cssText = "font:500 13.5px 'Geist';white-space:pre;position:absolute"; + document.body.append(span); + const w = corpus.map((t) => ((span.textContent = t), span.getBoundingClientRect().width)); + span.remove(); + return w; + }, corpus); + const under = corpus.filter((t, i) => measureText(t, 'sans500', 13.5) < real[i]! - 0.25); + expect(under).toEqual([]); +}); diff --git a/packages/viewer/scripts/gen-font-metrics.ts b/packages/viewer/scripts/gen-font-metrics.ts index cc69f94..83baf87 100644 --- a/packages/viewer/scripts/gen-font-metrics.ts +++ b/packages/viewer/scripts/gen-font-metrics.ts @@ -23,8 +23,8 @@ const FACES = { } as const; const SIZE = 1000; -// Pairs are kept for printable ASCII only, and only when |adjustment| ≥ 5/1000 em (0.06px at 12px): the -// full table is ~0.5 MB. An omitted pair is measured unkerned, which the browser cross-check bounds. +// Pairs are kept for printable ASCII only; negative pairs only when ≤ -5/1000 em (0.06px at 12px): the +// full table is ~0.5 MB. An omitted negative pair only makes the measure err wide. const KERN_MIN = 5; const browser = await chromium.launch(); const page = await browser.newPage(); @@ -62,7 +62,7 @@ for (const [name, f] of Object.entries(FACES)) { for (const a of ascii) { for (const b of ascii) { const k = Math.round((width(String.fromCodePoint(a, b)) - adv.get(a)! - adv.get(b)!) * 100) / 100; - if (Math.abs(k) >= min) pairs[a * 0x10000 + b] = k; + if (k >= 0.5 || k <= -min) pairs[a * 0x10000 + b] = k; // positive pairs always: dropping one under-measures } } span.remove(); From 362a05109aaa394ffbf3c536e8e260aba24232d4 Mon Sep 17 00:00:00 2001 From: Joseph Dale Banares Date: Tue, 29 Sep 2026 00:00:17 +0800 Subject: [PATCH 07/35] feat(viewer): render the diagram embedded by deliver --- packages/viewer/index.html | 1 + packages/viewer/scripts/check-single-file.ts | 3 ++ packages/viewer/src/App.tsx | 36 ++++++++++++++++++-- packages/viewer/src/data.test.ts | 31 +++++++++++++++++ packages/viewer/src/data.ts | 14 ++++++++ packages/viewer/src/pages/boundary-nodes.ts | 2 +- 6 files changed, 84 insertions(+), 3 deletions(-) create mode 100644 packages/viewer/src/data.test.ts create mode 100644 packages/viewer/src/data.ts diff --git a/packages/viewer/index.html b/packages/viewer/index.html index 956d826..45e2e01 100644 --- a/packages/viewer/index.html +++ b/packages/viewer/index.html @@ -7,6 +7,7 @@
+ diff --git a/packages/viewer/scripts/check-single-file.ts b/packages/viewer/scripts/check-single-file.ts index a1f5ec1..8280d27 100644 --- a/packages/viewer/scripts/check-single-file.ts +++ b/packages/viewer/scripts/check-single-file.ts @@ -25,6 +25,9 @@ if (/elkjs|org\.eclipse\.elk/.test(html)) fail('elkjs leaked into the viewer bun if (/@xyflow|react-flow__/.test(html)) fail('React Flow leaked into the viewer bundle'); // The headless metrics table (~120 KB) is for the CLI's card-fit rule; the viewer measures with the browser. if (/sans500tnum/.test(html)) fail('Geist metrics table leaked into the viewer bundle'); +// Samples and gallery fixtures are dev-server pages; the template renders only embedded data. +if (/commerce-api-1|Boundary-text|Grouped tiers/.test(html)) fail('dev samples or gallery fixtures leaked into the template'); +if (!html.includes('')) fail('template lacks the empty stackmap-data block'); const kb = statSync(new URL('index.html', dist)).size / 1024; if (kb > BUDGET_KB) fail(`index.html is ${kb.toFixed(0)} KB, budget ${BUDGET_KB} KB`); diff --git a/packages/viewer/src/App.tsx b/packages/viewer/src/App.tsx index cebf3ca..1f9fbf9 100644 --- a/packages/viewer/src/App.tsx +++ b/packages/viewer/src/App.tsx @@ -1,13 +1,45 @@ +import type { LaidOutDiagram } from '@stackmap/core'; import { ViewerShell } from './chrome/ViewerShell'; +import { readEmbeddedDiagram } from './data'; import { GalleryPage } from './pages/GalleryPage'; import { commerceApiLayout } from './samples/commerce-api.layout'; import { groupedPlatformLayout } from './samples/grouped-platform.layout'; import { useTheme } from './theme/theme'; -export function App() { - const { theme, toggle } = useTheme(); +type Loaded = { diagram: LaidOutDiagram } | { error: string } | null; + +function load(): Loaded { + try { + const diagram = readEmbeddedDiagram(document); + return diagram && { diagram }; + } catch (e) { + return { error: (e as Error).message }; + } +} + +const loaded = load(); +if (loaded && 'diagram' in loaded) document.title = `${loaded.diagram.draft.title} · stackmap`; + +function Notice({ children }: { children: string }) { + return ( +
+

{children}

+
+ ); +} + +// Dev server only: samples and the card gallery. The built template renders only embedded data. +function DevPages({ theme, toggle }: ReturnType) { const page = new URLSearchParams(location.search).get('page'); if (page === 'gallery') return ; const diagram = page === 'grouped' ? groupedPlatformLayout : commerceApiLayout; return ; } + +export function App() { + const { theme, toggle } = useTheme(); + if (loaded && 'error' in loaded) return {loaded.error}; + if (loaded) return ; + if (import.meta.env.DEV) return ; + return No diagram embedded. Create one with `stackmap deliver`.; +} diff --git a/packages/viewer/src/data.test.ts b/packages/viewer/src/data.test.ts new file mode 100644 index 0000000..6775485 --- /dev/null +++ b/packages/viewer/src/data.test.ts @@ -0,0 +1,31 @@ +import { afterEach, describe, expect, it } from 'vitest'; +import { commerceApiLayout } from './samples/commerce-api.layout'; +import { DATA_ELEMENT_ID, readEmbeddedDiagram } from './data'; + +const embed = (text: string) => { + const el = document.createElement('script'); + el.type = 'application/json'; + el.id = DATA_ELEMENT_ID; + el.textContent = text; + document.body.append(el); +}; + +afterEach(() => document.getElementById(DATA_ELEMENT_ID)?.remove()); + +describe('readEmbeddedDiagram', () => { + it('is null when the page carries no data block, or an empty one (the bare template)', () => { + expect(readEmbeddedDiagram(document)).toBeNull(); + embed(' \n'); + expect(readEmbeddedDiagram(document)).toBeNull(); + }); + + it('parses the embedded laid-out diagram', () => { + embed(JSON.stringify(commerceApiLayout)); + expect(readEmbeddedDiagram(document)).toEqual(commerceApiLayout); + }); + + it('throws a readable error on a corrupt block', () => { + embed('{"draft":'); + expect(() => readEmbeddedDiagram(document)).toThrow(/embedded diagram data is not valid JSON/); + }); +}); diff --git a/packages/viewer/src/data.ts b/packages/viewer/src/data.ts new file mode 100644 index 0000000..92e25fd --- /dev/null +++ b/packages/viewer/src/data.ts @@ -0,0 +1,14 @@ +import type { LaidOutDiagram } from '@stackmap/core'; + +/** `stackmap deliver` fills this element of the built template with the laid-out diagram. */ +export const DATA_ELEMENT_ID = 'stackmap-data'; + +export function readEmbeddedDiagram(doc: Document): LaidOutDiagram | null { + const text = doc.getElementById(DATA_ELEMENT_ID)?.textContent?.trim(); + if (!text) return null; + try { + return JSON.parse(text) as LaidOutDiagram; + } catch (cause) { + throw new Error('The embedded diagram data is not valid JSON; re-run `stackmap deliver`.', { cause }); + } +} diff --git a/packages/viewer/src/pages/boundary-nodes.ts b/packages/viewer/src/pages/boundary-nodes.ts index 7cd6291..c5c9830 100644 --- a/packages/viewer/src/pages/boundary-nodes.ts +++ b/packages/viewer/src/pages/boundary-nodes.ts @@ -3,7 +3,7 @@ import { cardTextSlots, measureText, type CardData, type DiagramNode } from '@st // Every slot filled with text ~2px under (fits) and ~2px over (truncates) its budget, so the browser test // that pins cardTextSlots to the rendered card has cases on both sides of each boundary. // No spaces: trailing whitespace collapses in the browser and would skew the edge cases. -const FILLER = 'Boundary-text-for-budget-checks-abcdefghijklmnopqrstuvwxyz-0123456789-'.repeat(4); +const FILLER = /* @__PURE__ */ 'Boundary-text-for-budget-checks-abcdefghijklmnopqrstuvwxyz-0123456789-'.repeat(4); const template: CardData = { title: FILLER, subtitle: FILLER, From adbc74d20e9fc9c8d4c657f07ab69684a1c85fb6 Mon Sep 17 00:00:00 2001 From: Joseph Dale Banares Date: Tue, 29 Sep 2026 00:05:10 +0800 Subject: [PATCH 08/35] feat(cli): add stackmap validate and deliver --- bun.lock | 197 +++++++++++++++++++++++++++ package.json | 2 +- packages/cli/e2e/offline.spec.ts | 34 +++++ packages/cli/package.json | 35 +++++ packages/cli/playwright.config.ts | 4 + packages/cli/scripts/smoke.mjs | 26 ++++ packages/cli/src/cli.ts | 51 +++++++ packages/cli/src/commands.ts | 66 +++++++++ packages/cli/src/embed.ts | 21 +++ packages/cli/src/format.ts | 16 +++ packages/cli/src/io.ts | 27 ++++ packages/cli/src/json-error.ts | 95 +++++++++++++ packages/cli/test/commands.test.ts | 112 +++++++++++++++ packages/cli/test/embed.test.ts | 34 +++++ packages/cli/test/json-error.test.ts | 16 +++ packages/cli/tsconfig.json | 1 + packages/cli/tsup.config.ts | 13 ++ packages/cli/vitest.config.ts | 3 + 18 files changed, 752 insertions(+), 1 deletion(-) create mode 100644 packages/cli/e2e/offline.spec.ts create mode 100644 packages/cli/package.json create mode 100644 packages/cli/playwright.config.ts create mode 100644 packages/cli/scripts/smoke.mjs create mode 100644 packages/cli/src/cli.ts create mode 100644 packages/cli/src/commands.ts create mode 100644 packages/cli/src/embed.ts create mode 100644 packages/cli/src/format.ts create mode 100644 packages/cli/src/io.ts create mode 100644 packages/cli/src/json-error.ts create mode 100644 packages/cli/test/commands.test.ts create mode 100644 packages/cli/test/embed.test.ts create mode 100644 packages/cli/test/json-error.test.ts create mode 100644 packages/cli/tsconfig.json create mode 100644 packages/cli/tsup.config.ts create mode 100644 packages/cli/vitest.config.ts diff --git a/bun.lock b/bun.lock index 0f8a06f..f3a85be 100644 --- a/bun.lock +++ b/bun.lock @@ -10,6 +10,25 @@ "vitest": "^5.0.2", }, }, + "packages/cli": { + "name": "@hyamero/stackmap", + "version": "0.1.0", + "bin": { + "stackmap": "./dist/cli.js", + }, + "dependencies": { + "elkjs": "^0.12.0", + }, + "devDependencies": { + "@playwright/test": "^1.63.0", + "@stackmap/core": "workspace:*", + "@stackmap/layout": "workspace:*", + "@stackmap/schema": "workspace:*", + "@stackmap/viewer": "workspace:*", + "tsup": "^8.5.1", + "zod": "^4.6.5", + }, + }, "packages/core": { "name": "@stackmap/core", "version": "0.0.0", @@ -95,12 +114,66 @@ "@csstools/css-tokenizer": ["@csstools/css-tokenizer@4.0.2", "", {}, "sha512-OoKoR0f76dCY666JlcbhmVTs2drYj1GUXZTYTcbUgJjh9Nv41aFfZ21bPQTERm5+L5cBDo466NltB2lplS5GBw=="], + "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.27.7", "", { "os": "aix", "cpu": "ppc64" }, "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg=="], + + "@esbuild/android-arm": ["@esbuild/android-arm@0.27.7", "", { "os": "android", "cpu": "arm" }, "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ=="], + + "@esbuild/android-arm64": ["@esbuild/android-arm64@0.27.7", "", { "os": "android", "cpu": "arm64" }, "sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ=="], + + "@esbuild/android-x64": ["@esbuild/android-x64@0.27.7", "", { "os": "android", "cpu": "x64" }, "sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg=="], + + "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.27.7", "", { "os": "darwin", "cpu": "arm64" }, "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw=="], + + "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.27.7", "", { "os": "darwin", "cpu": "x64" }, "sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ=="], + + "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.27.7", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w=="], + + "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.27.7", "", { "os": "freebsd", "cpu": "x64" }, "sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ=="], + + "@esbuild/linux-arm": ["@esbuild/linux-arm@0.27.7", "", { "os": "linux", "cpu": "arm" }, "sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA=="], + + "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.27.7", "", { "os": "linux", "cpu": "arm64" }, "sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A=="], + + "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.27.7", "", { "os": "linux", "cpu": "ia32" }, "sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg=="], + + "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.27.7", "", { "os": "linux", "cpu": "none" }, "sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q=="], + + "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.27.7", "", { "os": "linux", "cpu": "none" }, "sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw=="], + + "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.27.7", "", { "os": "linux", "cpu": "ppc64" }, "sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ=="], + + "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.27.7", "", { "os": "linux", "cpu": "none" }, "sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ=="], + + "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.27.7", "", { "os": "linux", "cpu": "s390x" }, "sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw=="], + + "@esbuild/linux-x64": ["@esbuild/linux-x64@0.27.7", "", { "os": "linux", "cpu": "x64" }, "sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA=="], + + "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.27.7", "", { "os": "none", "cpu": "arm64" }, "sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w=="], + + "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.27.7", "", { "os": "none", "cpu": "x64" }, "sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw=="], + + "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.27.7", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A=="], + + "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.27.7", "", { "os": "openbsd", "cpu": "x64" }, "sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg=="], + + "@esbuild/openharmony-arm64": ["@esbuild/openharmony-arm64@0.27.7", "", { "os": "none", "cpu": "arm64" }, "sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw=="], + + "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.27.7", "", { "os": "sunos", "cpu": "x64" }, "sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA=="], + + "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.27.7", "", { "os": "win32", "cpu": "arm64" }, "sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA=="], + + "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.27.7", "", { "os": "win32", "cpu": "ia32" }, "sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw=="], + + "@esbuild/win32-x64": ["@esbuild/win32-x64@0.27.7", "", { "os": "win32", "cpu": "x64" }, "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg=="], + "@exodus/bytes": ["@exodus/bytes@1.16.0", "", { "peerDependencies": { "@noble/hashes": "^1.8.0 || ^2.0.0" }, "optionalPeers": ["@noble/hashes"] }, "sha512-IcpW84uEn3N7ETtNZMlxKhfl6Pec8rUNGOTBtWbK1FKhJxIFAptZyVrvVRVBimAJxJCgc3PxepxkdWWG4DVzfA=="], "@fontsource-variable/geist": ["@fontsource-variable/geist@5.3.0", "", {}, "sha512-j0m+vLQuG5XAYoHtGCVu0spvlGreR3EzpECUVzkFmI1mTVnAO38l/NEPDCFgZ177JxzYJCLSmTQibIiYPilGrA=="], "@fontsource-variable/geist-mono": ["@fontsource-variable/geist-mono@5.3.0", "", {}, "sha512-vBbuwDEo9AkrqADMXOrlAR3DFcJi4/JxeuU43FoiQERnNwsfXNnvxvReZG02cQKmyk4DZkZdBZX3oTDvy2zBAw=="], + "@hyamero/stackmap": ["@hyamero/stackmap@workspace:packages/cli"], + "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.13", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA=="], "@jridgewell/remapping": ["@jridgewell/remapping@2.3.5", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ=="], @@ -111,6 +184,8 @@ "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.31", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw=="], + "@napi-rs/lzma-linux-x64-gnu": ["@napi-rs/lzma-linux-x64-gnu@1.5.1", "", { "os": "linux", "cpu": "x64" }, "sha512-oTXEIha4SsuXdTA4Iyskj0kpdx2yVXdhd75c2v3xGrHFfVMsbhTPZU/nMPL4sWKo4pBHm3aucLaqGlF696dTyQ=="], + "@oxc-project/types": ["@oxc-project/types@0.151.0", "", {}, "sha512-J1yXrIlNDZVzE3ada310xeAw7nH8yCAyLPuUIsjKatFPmfn5bS1oW+cM+QsGOtVWd5nhSpbwZWx/rue+r5Z+PA=="], "@playwright/test": ["@playwright/test@1.63.0", "", { "dependencies": { "playwright": "1.63.0" }, "bin": { "playwright": "cli.js" } }, "sha512-oxMK4vllB9RK5NQ2l1pq1IfOf2AvnEuj/vYGDj0H2nMtmtZpKtCwt/l00GEO6xjGfpBNAvjovvYdCm50dRQkpQ=="], @@ -147,6 +222,56 @@ "@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.1", "", {}, "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw=="], + "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.63.5", "", { "os": "android", "cpu": "arm" }, "sha512-J25QJU+B78T4FhhBsNpLJyVWOi31mwtpcMwywHmOKH65Q9IWGA81gPj+dnwlhU8wktVriYE+tFAaQgrnJRzAZg=="], + + "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.63.5", "", { "os": "android", "cpu": "arm64" }, "sha512-LDopB3zuZM5Ux9TT2luNEBJW/tYbGU2g1d+VpKk6I+gSKDb+/7sYE6M225gRQt4RbMX6MSwMsVR/phdjVUgRLg=="], + + "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.63.5", "", { "os": "darwin", "cpu": "arm64" }, "sha512-wlJEERGfeuHeBavCL2qVnNacOK43NDoZM4sjkeRPymd04OAE9T1zBqDJgmZ+CIsPTYKwdzpUC8vmOw84dwY4Tg=="], + + "@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.63.5", "", { "os": "darwin", "cpu": "x64" }, "sha512-4nJJGg5jbo2wwPP4JP+LfEBA3bvP8rU9CLuhp7jWvq9sxEyhjQFTFdrqi+/dHEin/pd8jpT0vcehIpnZtmEdcQ=="], + + "@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.63.5", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-DrZbyCDF1hneuO6jRbvZ2D7+PIBM6yIwYnJpg2vIk58T+wuFpiaGZrfUr59lDWw45bg+IrpTGLPiNi/Fk4w3Cg=="], + + "@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.63.5", "", { "os": "freebsd", "cpu": "x64" }, "sha512-gqfUVMJMB3mehqywxp6hTBFfgtMQykZY19+cfiaYP0toIJLb/1DZRJHVkQQGP13W4TAwfZDWeg1qBcheTRioXQ=="], + + "@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.63.5", "", { "os": "linux", "cpu": "arm" }, "sha512-CFmhpvAwzSaWMlN3VN7UtmoTihlZNzoP0juQib5TQRnYUyDV8dXeWOp29sobWAT6gXl/hQgAClLlEiYozQG3OQ=="], + + "@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.63.5", "", { "os": "linux", "cpu": "arm" }, "sha512-Uc9H8eXCOayV6JLTH5bXKMId6qbhNHa818/BgYjm4jrlq3vZquC9cqyvHBw17xy5Mnj5f+I3gFK5JcEf3hSqrw=="], + + "@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.63.5", "", { "os": "linux", "cpu": "arm64" }, "sha512-VcPr/szv/1BFw112Kt//fxulXt/JPqzzidU84iW68L2DdjnOO8QFUv2zTSYBEPHD6movBD4z+bbr5y60GYM7Jw=="], + + "@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.63.5", "", { "os": "linux", "cpu": "arm64" }, "sha512-BnxtJ5/91BrIHYIkGrmjz/lbMhqEHt1dPFqIxIFR+jPn0xVc/oUSCtIT089zfp5ufwGDlYz2UC+Fe1SRBpYFbQ=="], + + "@rollup/rollup-linux-loong64-gnu": ["@rollup/rollup-linux-loong64-gnu@4.63.5", "", { "os": "linux", "cpu": "none" }, "sha512-LrYcHZwF+fAMNKHYTOQ5osWM4AZF7YF6D+XtsjDyEvljtt11twc+zHVXBLNEjxVSUnKYsOhvVz4Z213eW02COQ=="], + + "@rollup/rollup-linux-loong64-musl": ["@rollup/rollup-linux-loong64-musl@4.63.5", "", { "os": "linux", "cpu": "none" }, "sha512-nj7QKQePAAUpCpJHtg0pR0W/b92A9NO17JS3BAQmHDn/yhmkir2p8llrKY9TOhleKIaSzy1JhxS3T9FVld6coA=="], + + "@rollup/rollup-linux-ppc64-gnu": ["@rollup/rollup-linux-ppc64-gnu@4.63.5", "", { "os": "linux", "cpu": "ppc64" }, "sha512-5ylkX6dWMeBKge9nTU+Rxfb+ZfaCIJ9lRqIFaK0eAMcWp7OJbYnLveLgXmm0VrvuLKb8qIK+mHyH0qu88RM+iA=="], + + "@rollup/rollup-linux-ppc64-musl": ["@rollup/rollup-linux-ppc64-musl@4.63.5", "", { "os": "linux", "cpu": "ppc64" }, "sha512-oHK4ZHYFDKjZviK34I+NwgfbGxgI7ztrNxj2hPTSSNFgeq1a/lEd7dHV2fdGAuTH4Iym3RHJg+vAbWaWG4B7Zg=="], + + "@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.63.5", "", { "os": "linux", "cpu": "none" }, "sha512-UcetmHZ6XOXuUByiKZyQmb55ZPr0LABr3Ec/HB9wKZn6CEAFWZkE+hsJErJ9hbPBC7nI0dKuELx7CoV6IM7TMg=="], + + "@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.63.5", "", { "os": "linux", "cpu": "none" }, "sha512-C5CmDPQBtvjVo8cgQsBs+w6WB0JLkiixhgi6hVLV11hERWdn/p0XcPU2OUcZzac9BPOFq7SbaHFa8r3SWEysCQ=="], + + "@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.63.5", "", { "os": "linux", "cpu": "s390x" }, "sha512-lHVQHJFKsuuxLMi3MQO9XVL8Tje3JR82CzB+QDKC5NWBcsIWuwsn9uIM5e3lBhI+fF1/s63qnyYqsg65+8rV/w=="], + + "@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.63.5", "", { "os": "linux", "cpu": "x64" }, "sha512-3W9bTFcQNJn71cSJVM9RKIiZOy8DO/XLDii8Uv/Pm6WKqDRj7JV3ZfuXIEfyuy5LXpIzAbB/1M4Ukp9GKNa7nA=="], + + "@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.63.5", "", { "os": "linux", "cpu": "x64" }, "sha512-VDC7rRJlee/scpki96GZ27Omf6yU87s1YXwVTpjE5841faVlDYYT565rgfmoR1U0sqL7z5ivQSDjcsF6VRXyBA=="], + + "@rollup/rollup-openbsd-x64": ["@rollup/rollup-openbsd-x64@4.63.5", "", { "os": "openbsd", "cpu": "x64" }, "sha512-z86Ok2p4pTdv5xqCKZsTooO7yBEiaJR/HzU3Wx8RmWsPoLppnMKROhJusQob8B3IE1ghC343kUW9rC2r+Wf3ig=="], + + "@rollup/rollup-openharmony-arm64": ["@rollup/rollup-openharmony-arm64@4.63.5", "", { "os": "none", "cpu": "arm64" }, "sha512-IzQmj+xXwQFGhMAMKMQVXkMwMZN3TqkJgAE0nSsqvVwWWciP4AIPMmWRqOQ2GfX7TUDZr+xqGFcBS36CRPGw0g=="], + + "@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.63.5", "", { "os": "win32", "cpu": "arm64" }, "sha512-F6qpTaPc9bwBH85kjy0/BLmLSW1uv7AoOXCoRIkg2arlgCYlWYcAbiMkvZuAcaWk9TpCRG//okznLAqLGshkMw=="], + + "@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.63.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-igoDsTFhhwECBeGbUuLeIk7t8Y1apa+cs6mDWpx2EZ0ch7oEQgzHbFUXN9euoHekCAQzXdXApAGkV6jznS7tWw=="], + + "@rollup/rollup-win32-x64-gnu": ["@rollup/rollup-win32-x64-gnu@4.63.5", "", { "os": "win32", "cpu": "x64" }, "sha512-U3teMeMbXFmaM5D+OTJpsOXd+wV/qftIeYF9kBKL4v73641qyJmoXFtA28DQLsnmlyayEsTe72xpLHrArq6vHw=="], + + "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.63.5", "", { "os": "win32", "cpu": "x64" }, "sha512-ypfC34F3RKXvCXBglGqGMsUSMKlgwd1HX9AOAlx9RoZZ6GaI42YHVeKpzg3JG+wpBUJYTG+NNZhqbDWL8tBZkw=="], + "@stackmap/core": ["@stackmap/core@workspace:packages/core"], "@stackmap/layout": ["@stackmap/layout@workspace:packages/layout"], @@ -225,12 +350,16 @@ "@vitest/spy": ["@vitest/spy@5.0.2", "", {}, "sha512-Ijc7T1nT9efNb5LxvjaBrEqw3f/QwUv5EE0nKqZxgqsaV/FxAAZ8baGylA8X/Z2oS4Lp+K74Jr6dTJsDKxJDeg=="], + "acorn": ["acorn@8.18.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ=="], + "ajv": ["ajv@8.20.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2" } }, "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA=="], "ansi-regex": ["ansi-regex@5.0.1", "", {}, "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="], "ansi-styles": ["ansi-styles@5.2.0", "", {}, "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA=="], + "any-promise": ["any-promise@1.3.0", "", {}, "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A=="], + "aria-query": ["aria-query@5.3.2", "", {}, "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw=="], "assertion-error": ["assertion-error@2.0.1", "", {}, "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA=="], @@ -243,10 +372,22 @@ "brotli": ["brotli@1.3.3", "", { "dependencies": { "base64-js": "^1.1.2" } }, "sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg=="], + "bundle-require": ["bundle-require@5.1.0", "", { "dependencies": { "load-tsconfig": "^0.2.3" }, "peerDependencies": { "esbuild": ">=0.18" } }, "sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA=="], + + "cac": ["cac@6.7.14", "", {}, "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ=="], + "chai": ["chai@6.2.2", "", {}, "sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg=="], + "chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], + "clone": ["clone@2.1.2", "", {}, "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w=="], + "commander": ["commander@4.1.1", "", {}, "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA=="], + + "confbox": ["confbox@0.1.8", "", {}, "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w=="], + + "consola": ["consola@3.4.2", "", {}, "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA=="], + "css-tree": ["css-tree@3.2.1", "", { "dependencies": { "mdn-data": "2.27.1", "source-map-js": "^1.2.1" } }, "sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA=="], "css.escape": ["css.escape@1.5.1", "", {}, "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg=="], @@ -273,6 +414,8 @@ "data-urls": ["data-urls@7.0.0", "", { "dependencies": { "whatwg-mimetype": "^5.0.0", "whatwg-url": "^16.0.0" } }, "sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA=="], + "debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" }, "peerDependencies": { "supports-color": "*" }, "optionalPeers": ["supports-color"] }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="], + "decimal.js": ["decimal.js@10.6.0", "", {}, "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg=="], "dequal": ["dequal@2.0.3", "", {}, "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA=="], @@ -291,6 +434,8 @@ "es-module-lexer": ["es-module-lexer@2.3.2", "", {}, "sha512-poHGpORABojJJucnV9KbOavETW8lBVnphkW77ER5/BQ5Fz7oXSoCNek7IH3vR5nRjdsEz926ibFYX8KtLQmdyw=="], + "esbuild": ["esbuild@0.27.7", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.27.7", "@esbuild/android-arm": "0.27.7", "@esbuild/android-arm64": "0.27.7", "@esbuild/android-x64": "0.27.7", "@esbuild/darwin-arm64": "0.27.7", "@esbuild/darwin-x64": "0.27.7", "@esbuild/freebsd-arm64": "0.27.7", "@esbuild/freebsd-x64": "0.27.7", "@esbuild/linux-arm": "0.27.7", "@esbuild/linux-arm64": "0.27.7", "@esbuild/linux-ia32": "0.27.7", "@esbuild/linux-loong64": "0.27.7", "@esbuild/linux-mips64el": "0.27.7", "@esbuild/linux-ppc64": "0.27.7", "@esbuild/linux-riscv64": "0.27.7", "@esbuild/linux-s390x": "0.27.7", "@esbuild/linux-x64": "0.27.7", "@esbuild/netbsd-arm64": "0.27.7", "@esbuild/netbsd-x64": "0.27.7", "@esbuild/openbsd-arm64": "0.27.7", "@esbuild/openbsd-x64": "0.27.7", "@esbuild/openharmony-arm64": "0.27.7", "@esbuild/sunos-x64": "0.27.7", "@esbuild/win32-arm64": "0.27.7", "@esbuild/win32-ia32": "0.27.7", "@esbuild/win32-x64": "0.27.7" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w=="], + "estree-walker": ["estree-walker@3.0.3", "", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g=="], "expect-type": ["expect-type@1.4.0", "", {}, "sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA=="], @@ -303,6 +448,8 @@ "fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="], + "fix-dts-default-cjs-exports": ["fix-dts-default-cjs-exports@1.0.1", "", { "dependencies": { "magic-string": "^0.30.17", "mlly": "^1.7.4", "rollup": "^4.34.8" } }, "sha512-pVIECanWFC61Hzl2+oOCtoJ3F17kglZC/6N94eRWycFgBH35hHx0Li604ZIzhseh97mf2p0cv7vVrOZGoqhlEg=="], + "fontkit": ["fontkit@2.0.4", "", { "dependencies": { "@swc/helpers": "^0.5.12", "brotli": "^1.3.2", "clone": "^2.1.2", "dfa": "^1.2.0", "fast-deep-equal": "^3.1.3", "restructure": "^3.0.0", "tiny-inflate": "^1.0.3", "unicode-properties": "^1.4.0", "unicode-trie": "^2.0.0" } }, "sha512-syetQadaUEDNdxdugga9CpEYVaQIxOwk7GlwZWWZ19//qW4zE5bknOKeMBDYAASwnpaSHKJITRLMF9m1fp3s6g=="], "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="], @@ -319,6 +466,8 @@ "jiti": ["jiti@2.7.0", "", { "bin": { "jiti": "lib/jiti-cli.mjs" } }, "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ=="], + "joycon": ["joycon@3.1.1", "", {}, "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw=="], + "js-tokens": ["js-tokens@4.0.0", "", {}, "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="], "jsdom": ["jsdom@30.1.1", "", { "dependencies": { "@asamuzakjp/css-color": "^7.0.0", "@asamuzakjp/dom-selector": "^9.2.1", "@bramus/specificity": "^2.4.2", "@csstools/css-syntax-patches-for-csstree": "^1.1.13", "@exodus/bytes": "^1.15.1", "css-tree": "^3.2.1", "data-urls": "^7.0.0", "decimal.js": "^10.6.0", "html-encoding-sniffer": "^7.0.0", "is-potential-custom-element-name": "^1.0.1", "lru-cache": "^11.5.2", "parse5": "^8.0.1", "saxes": "^6.0.0", "tough-cookie": "^6.0.2", "undici": "^8.10.2", "w3c-xmlserializer": "^6.0.0", "webidl-conversions": "^8.0.1", "whatwg-mimetype": "^5.0.0", "whatwg-url": "^17.1.1", "xml-name-validator": "^5.0.0" }, "peerDependencies": { "canvas": "^3.2.3" }, "optionalPeers": ["canvas"] }, "sha512-FahmoPK5vbPc+jxV1iErMHmAZypCZ942NHF4+qqaWAuvaKKTBZxawnmAtrbGWLU7MtlxfqIP0qw6aSI+aWGtLg=="], @@ -349,6 +498,12 @@ "lightningcss-win32-x64-msvc": ["lightningcss-win32-x64-msvc@1.33.0", "", { "os": "win32", "cpu": "x64" }, "sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA=="], + "lilconfig": ["lilconfig@3.1.3", "", {}, "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw=="], + + "lines-and-columns": ["lines-and-columns@1.2.4", "", {}, "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="], + + "load-tsconfig": ["load-tsconfig@0.2.5", "", {}, "sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg=="], + "lru-cache": ["lru-cache@11.5.3", "", {}, "sha512-U4N8FgzmWxc8k1VH8Kr6lQg18U7Fjvby6wXHVRX/ZZ7IwWbRMgrRbP0Wrb5q5NVinryp4SQampHKdvtecItxUg=="], "lucide-react": ["lucide-react@1.48.0", "", { "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "sha512-R0CIKY/fXiC6y9xRBADgsK+VW2p/pcTJOMhLZf1T+uG+vJUvyUR02nGOgmIIC7MPkiNK4Ox8QDnbqF8rJYWPZQ=="], @@ -363,24 +518,40 @@ "min-indent": ["min-indent@1.0.1", "", {}, "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg=="], + "mlly": ["mlly@1.8.2", "", { "dependencies": { "acorn": "^8.16.0", "pathe": "^2.0.3", "pkg-types": "^1.3.1", "ufo": "^1.6.3" } }, "sha512-d+ObxMQFmbt10sretNDytwt85VrbkhhUA/JBGm1MPaWJ65Cl4wOgLaB1NYvJSZ0Ef03MMEU/0xpPMXUIQ29UfA=="], + + "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], + + "mz": ["mz@2.7.0", "", { "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", "thenify-all": "^1.0.0" } }, "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q=="], + "nanoid": ["nanoid@3.3.19", "", { "bin": { "nanoid": "bin/nanoid.cjs" } }, "sha512-Y2tUNy4ouw6tq5oDSKeQYGOyhkUBhNOcGV/02KC+6kd9eDGqdZd++mjMiIDilrBYvjEnCYvVtsuHCuP+okSfug=="], + "object-assign": ["object-assign@4.1.1", "", {}, "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="], + "obug": ["obug@2.2.1", "", {}, "sha512-XrsrhT5sybtKI6wakr2SPOlGZWWYbUXZ7a0jT8/QOeAPau+1X/bSegNe5YR75oJmEZQbKningirmGOEJCIk61Q=="], "pako": ["pako@0.2.9", "", {}, "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA=="], "parse5": ["parse5@8.0.1", "", { "dependencies": { "entities": "^8.0.0" } }, "sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw=="], + "pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="], + "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], "picomatch": ["picomatch@4.0.7", "", {}, "sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA=="], + "pirates": ["pirates@4.0.7", "", {}, "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA=="], + + "pkg-types": ["pkg-types@1.3.1", "", { "dependencies": { "confbox": "^0.1.8", "mlly": "^1.7.4", "pathe": "^2.0.1" } }, "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ=="], + "playwright": ["playwright@1.63.0", "", { "dependencies": { "playwright-core": "1.63.0" }, "bin": { "playwright": "cli.js" } }, "sha512-+7ziBLidS4NaNCdt57SUDT+wYmmd5fmiQejUic/kb+YsYSCPyOOE9sebzMjNmQrsnNpDJqd4WHvV/8lfKfUDUg=="], "playwright-core": ["playwright-core@1.63.0", "", { "bin": { "playwright-core": "cli.js" } }, "sha512-rYCsBF/M5HjUch52bbtVONEFjv6Xu8sm8h72dNlR5bzIE1fvC/bxgspzkjSfU+MweEMmPM8KJebG6nnyxo5mCg=="], "postcss": ["postcss@8.5.28", "", { "dependencies": { "nanoid": "^3.3.18", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" } }, "sha512-RRuzqDtt5Y9h3quz5hWhK+TPnsmVs6WwSU6LkJMeY4HstUEDuYTG8UJSdawMRzmzAtV+KEoG8N3Qg2qLy5vM/A=="], + "postcss-load-config": ["postcss-load-config@6.0.1", "", { "dependencies": { "lilconfig": "^3.1.1" }, "peerDependencies": { "jiti": ">=1.21.0", "postcss": ">=8.0.9", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["jiti", "postcss", "tsx", "yaml"] }, "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g=="], + "pretty-format": ["pretty-format@27.5.1", "", { "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", "react-is": "^17.0.1" } }, "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ=="], "punycode": ["punycode@2.3.1", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="], @@ -391,30 +562,44 @@ "react-is": ["react-is@17.0.2", "", {}, "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="], + "readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], + "redent": ["redent@3.0.0", "", { "dependencies": { "indent-string": "^4.0.0", "strip-indent": "^3.0.0" } }, "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg=="], "require-from-string": ["require-from-string@2.0.2", "", {}, "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="], + "resolve-from": ["resolve-from@5.0.0", "", {}, "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw=="], + "restructure": ["restructure@3.0.2", "", {}, "sha512-gSfoiOEA0VPE6Tukkrr7I0RBdE0s7H1eFCDBk05l1KIQT1UIKNc5JZy6jdyW6eYH3aR3g5b3PuL77rq0hvwtAw=="], "rolldown": ["rolldown@1.2.11", "", { "dependencies": { "@oxc-project/types": "=0.151.0", "@rolldown/pluginutils": "^1.0.0" }, "optionalDependencies": { "@rolldown/binding-android-arm-eabi": "1.2.11", "@rolldown/binding-android-arm64": "1.2.11", "@rolldown/binding-darwin-arm64": "1.2.11", "@rolldown/binding-darwin-x64": "1.2.11", "@rolldown/binding-freebsd-x64": "1.2.11", "@rolldown/binding-linux-arm-gnueabihf": "1.2.11", "@rolldown/binding-linux-arm64-gnu": "1.2.11", "@rolldown/binding-linux-arm64-musl": "1.2.11", "@rolldown/binding-linux-ppc64-gnu": "1.2.11", "@rolldown/binding-linux-s390x-gnu": "1.2.11", "@rolldown/binding-linux-x64-gnu": "1.2.11", "@rolldown/binding-linux-x64-musl": "1.2.11", "@rolldown/binding-openharmony-arm64": "1.2.11", "@rolldown/binding-win32-arm64-msvc": "1.2.11", "@rolldown/binding-win32-x64-msvc": "1.2.11" }, "bin": { "rolldown": "./bin/cli.mjs" } }, "sha512-qpSwIyz0jHQq5qXBTNxFmE6664rJ7O+4TvPFOiOaBSrz8IOHc1koKKSqTM2H6u1UG1+TveuC6vaDHKXFOvb1Kw=="], + "rollup": ["rollup@4.63.5", "", { "dependencies": { "@types/estree": "1.0.9" }, "optionalDependencies": { "@napi-rs/lzma-linux-x64-gnu": "1.5.1", "@rollup/rollup-android-arm-eabi": "4.63.5", "@rollup/rollup-android-arm64": "4.63.5", "@rollup/rollup-darwin-arm64": "4.63.5", "@rollup/rollup-darwin-x64": "4.63.5", "@rollup/rollup-freebsd-arm64": "4.63.5", "@rollup/rollup-freebsd-x64": "4.63.5", "@rollup/rollup-linux-arm-gnueabihf": "4.63.5", "@rollup/rollup-linux-arm-musleabihf": "4.63.5", "@rollup/rollup-linux-arm64-gnu": "4.63.5", "@rollup/rollup-linux-arm64-musl": "4.63.5", "@rollup/rollup-linux-loong64-gnu": "4.63.5", "@rollup/rollup-linux-loong64-musl": "4.63.5", "@rollup/rollup-linux-ppc64-gnu": "4.63.5", "@rollup/rollup-linux-ppc64-musl": "4.63.5", "@rollup/rollup-linux-riscv64-gnu": "4.63.5", "@rollup/rollup-linux-riscv64-musl": "4.63.5", "@rollup/rollup-linux-s390x-gnu": "4.63.5", "@rollup/rollup-linux-x64-gnu": "4.63.5", "@rollup/rollup-linux-x64-musl": "4.63.5", "@rollup/rollup-openbsd-x64": "4.63.5", "@rollup/rollup-openharmony-arm64": "4.63.5", "@rollup/rollup-win32-arm64-msvc": "4.63.5", "@rollup/rollup-win32-ia32-msvc": "4.63.5", "@rollup/rollup-win32-x64-gnu": "4.63.5", "@rollup/rollup-win32-x64-msvc": "4.63.5", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-KRWwmNLlPw5M7HcdYfm15oBv9n9LPtjzpzCIxS/phwqvPyxHSoKX6Y2YU3pxSPfy0CLquVgsx/j/hBi6OvH1Nw=="], + "saxes": ["saxes@6.0.0", "", { "dependencies": { "xmlchars": "^2.2.0" } }, "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA=="], "scheduler": ["scheduler@0.28.0", "", {}, "sha512-juorfCmIkIw8tT+p5BXSm6PJjQF/ycEYmKyzURCIt/RaZIhL+PulbQ9Yu2z1HdOJDdqDTlxA1+xKBmHXJsczAw=="], "simple-icons": ["simple-icons@16.33.0", "", {}, "sha512-z14u6A8ngAg9mgERRsNO8YkjIMefehIpBk7A8Dz3Gd91945qFP19MLPSHgV4z8P5u/MRYd5e07OTzaDoB4d6qA=="], + "source-map": ["source-map@0.7.6", "", {}, "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ=="], + "source-map-js": ["source-map-js@1.2.1", "", {}, "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="], "std-env": ["std-env@4.2.0", "", {}, "sha512-oCUKSupKTHX53EyjDtuZQ64pjLJ6yYCtpmEw0goYxtjG9KpbRe8KAsl2tBUGU9DyMcJ0RwJ8GqJAFzMXcXW1Rw=="], "strip-indent": ["strip-indent@3.0.0", "", { "dependencies": { "min-indent": "^1.0.0" } }, "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ=="], + "sucrase": ["sucrase@3.35.1", "", { "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", "tinyglobby": "^0.2.11", "ts-interface-checker": "^0.1.9" }, "bin": { "sucrase": "bin/sucrase", "sucrase-node": "bin/sucrase-node" } }, "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw=="], + "tailwindcss": ["tailwindcss@4.3.3", "", {}, "sha512-gOhV3P7ufE62QDGg1zVaTgCR+EtPv92k2nIhVcVKcLmxT1sUBsQGhnZj175j+MqRt4zLF7ic+sCYjfhxMxj7YQ=="], "tapable": ["tapable@2.3.3", "", {}, "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A=="], + "thenify": ["thenify@3.3.1", "", { "dependencies": { "any-promise": "^1.0.0" } }, "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw=="], + + "thenify-all": ["thenify-all@1.6.0", "", { "dependencies": { "thenify": ">= 3.1.0 < 4" } }, "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA=="], + "tiny-inflate": ["tiny-inflate@1.0.3", "", {}, "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw=="], "tinybench": ["tinybench@6.2.0", "", {}, "sha512-78U2TlB2CnVenajOFzf3BKSm0J6oz5L0NV7g32LCPccvYc0lbWvys4d3uUUCS2B1N8PAf2+aekR8i1KbC3HO7Q=="], @@ -433,10 +618,18 @@ "tr46": ["tr46@6.0.0", "", { "dependencies": { "punycode": "^2.3.1" } }, "sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw=="], + "tree-kill": ["tree-kill@1.2.2", "", { "bin": { "tree-kill": "cli.js" } }, "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A=="], + + "ts-interface-checker": ["ts-interface-checker@0.1.13", "", {}, "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA=="], + "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + "tsup": ["tsup@8.5.1", "", { "dependencies": { "bundle-require": "^5.1.0", "cac": "^6.7.14", "chokidar": "^4.0.3", "consola": "^3.4.0", "debug": "^4.4.0", "esbuild": "^0.27.0", "fix-dts-default-cjs-exports": "^1.0.0", "joycon": "^3.1.1", "picocolors": "^1.1.1", "postcss-load-config": "^6.0.1", "resolve-from": "^5.0.0", "rollup": "^4.34.8", "source-map": "^0.7.6", "sucrase": "^3.35.0", "tinyexec": "^0.3.2", "tinyglobby": "^0.2.11", "tree-kill": "^1.2.2" }, "peerDependencies": { "@microsoft/api-extractor": "^7.36.0", "@swc/core": "^1", "postcss": "^8.4.12", "typescript": ">=4.5.0" }, "optionalPeers": ["@microsoft/api-extractor", "@swc/core", "postcss", "typescript"], "bin": { "tsup": "dist/cli-default.js", "tsup-node": "dist/cli-node.js" } }, "sha512-xtgkqwdhpKWr3tKPmCkvYmS9xnQK3m3XgxZHwSUjvfTjp7YfXe5tT3GgWi0F2N+ZSMsOeWeZFh7ZZFg5iPhing=="], + "typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], + "ufo": ["ufo@1.6.4", "", {}, "sha512-JFNbkD1Svwe0KvGi8GOeLcP4kAWQ609twvCdcHxq1oSL8svv39ZuSvajcD8B+5D0eL4+s1Is2D/O6KN3qcTeRA=="], + "undici": ["undici@8.11.2", "", {}, "sha512-u4UB2/IrKdU6lFxumHmmo1a3fCQO5tzQllRorfoRS63txhrB7xTpSn1PftwC4qEHkOaqP95fCWW4lJzwErwzhQ=="], "undici-types": ["undici-types@8.9.0", "", {}, "sha512-KTDyRTYX8sWmKXAikPHHSyc63CRPETMctyjKFupcC6OBLXT3xsN0e9aF7m+mIXutFWpUXuedtowG7iLOzp0kQg=="], @@ -489,8 +682,12 @@ "data-urls/whatwg-url": ["whatwg-url@16.0.1", "", { "dependencies": { "@exodus/bytes": "^1.11.0", "tr46": "^6.0.0", "webidl-conversions": "^8.0.1" } }, "sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw=="], + "fix-dts-default-cjs-exports/magic-string": ["magic-string@0.30.21", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } }, "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ=="], + "micromatch/picomatch": ["picomatch@2.3.2", "", {}, "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA=="], + "tsup/tinyexec": ["tinyexec@0.3.2", "", {}, "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA=="], + "@tailwindcss/node/lightningcss/lightningcss-android-arm64": ["lightningcss-android-arm64@1.32.0", "", { "os": "android", "cpu": "arm64" }, "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg=="], "@tailwindcss/node/lightningcss/lightningcss-darwin-arm64": ["lightningcss-darwin-arm64@1.32.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ=="], diff --git a/package.json b/package.json index 927d06a..7f1ac04 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,7 @@ "scripts": { "test": "bun run --filter './packages/*' test", "typecheck": "bun run --filter './packages/*' typecheck", - "build": "bun run --filter './packages/*' build" + "build": "bun run --filter @stackmap/viewer build && bun run --filter @hyamero/stackmap build" }, "devDependencies": { "@types/node": "^26.6.3", diff --git a/packages/cli/e2e/offline.spec.ts b/packages/cli/e2e/offline.spec.ts new file mode 100644 index 0000000..0fa99cd --- /dev/null +++ b/packages/cli/e2e/offline.spec.ts @@ -0,0 +1,34 @@ +import { execFileSync } from 'node:child_process'; +import { mkdtempSync, writeFileSync } from 'node:fs'; +import { tmpdir } from 'node:os'; +import { join } from 'node:path'; +import { pathToFileURL } from 'node:url'; +import { expect, test } from '@playwright/test'; +import { groupedPlatform } from '@stackmap/core/samples'; + +test('a delivered file renders from file:// with no network', async ({ page }) => { + const dir = mkdtempSync(join(tmpdir(), 'stackmap-e2e-')); + const input = join(dir, 'platform.json'); + writeFileSync(input, JSON.stringify(groupedPlatform)); + execFileSync('node', [new URL('../dist/cli.js', import.meta.url).pathname, 'deliver', input]); + + const requests: string[] = []; + await page.route('**/*', (route) => { + const url = route.request().url(); + if (url.startsWith('file:') || url.startsWith('data:')) return route.continue(); + requests.push(url); + return route.abort(); + }); + await page.goto(pathToFileURL(join(dir, 'platform.html')).href); + await expect(page.locator('.sm-card')).toHaveCount(groupedPlatform.nodes.length); + await expect(page.locator('.sm-frame')).toHaveCount(3); + await expect(page).toHaveTitle('Platform · stackmap'); + await expect(page.getByRole('heading', { level: 1 })).toHaveText('Platform'); + expect(await page.evaluate(() => document.fonts.check("500 13.5px 'Geist'"))).toBe(true); + expect(requests).toEqual([]); +}); + +test('the bare template says no diagram is embedded', async ({ page }) => { + await page.goto(pathToFileURL(new URL('../dist/viewer.html', import.meta.url).pathname).href); + await expect(page.getByRole('status')).toHaveText(/No diagram embedded/); +}); diff --git a/packages/cli/package.json b/packages/cli/package.json new file mode 100644 index 0000000..14be81d --- /dev/null +++ b/packages/cli/package.json @@ -0,0 +1,35 @@ +{ + "name": "@hyamero/stackmap", + "version": "0.1.0", + "description": "Validate agent-authored architecture diagrams and deliver them as one offline HTML viewer", + "license": "MIT", + "type": "module", + "bin": { + "stackmap": "./dist/cli.js" + }, + "files": [ + "dist" + ], + "engines": { + "node": "^22.12.0 || >=24.0.0" + }, + "scripts": { + "build": "tsup && cp ../viewer/dist/index.html dist/viewer.html", + "test": "vitest run", + "typecheck": "tsc --noEmit", + "smoke": "bun run --filter @stackmap/viewer build && bun run build && node scripts/smoke.mjs", + "e2e": "bun run --filter @stackmap/viewer build && bun run build && playwright test" + }, + "dependencies": { + "elkjs": "^0.12.0" + }, + "devDependencies": { + "@playwright/test": "^1.63.0", + "@stackmap/core": "workspace:*", + "@stackmap/layout": "workspace:*", + "@stackmap/schema": "workspace:*", + "@stackmap/viewer": "workspace:*", + "tsup": "^8.5.1", + "zod": "^4.6.5" + } +} diff --git a/packages/cli/playwright.config.ts b/packages/cli/playwright.config.ts new file mode 100644 index 0000000..5fec51c --- /dev/null +++ b/packages/cli/playwright.config.ts @@ -0,0 +1,4 @@ +import { defineConfig } from '@playwright/test'; + +// No web server: the delivered file is opened from disk, as a user would. +export default defineConfig({ testDir: 'e2e', use: { viewport: { width: 1440, height: 960 } } }); diff --git a/packages/cli/scripts/smoke.mjs b/packages/cli/scripts/smoke.mjs new file mode 100644 index 0000000..95fcb24 --- /dev/null +++ b/packages/cli/scripts/smoke.mjs @@ -0,0 +1,26 @@ +// Runs the built binary the way an agent does: deliver each sample twice, byte-identical, receipt = file hash. +import { execFileSync } from 'node:child_process'; +import { createHash } from 'node:crypto'; +import { mkdtempSync, readFileSync, writeFileSync } from 'node:fs'; +import { tmpdir } from 'node:os'; +import { join } from 'node:path'; +import { commerceApi, groupedPlatform } from '../../core/src/samples/index.ts'; + +const cli = new URL('../dist/cli.js', import.meta.url).pathname; +const dir = mkdtempSync(join(tmpdir(), 'stackmap-smoke-')); +const run = (...args) => execFileSync('node', [cli, ...args], { encoding: 'utf8' }); +const check = (ok, msg) => { + if (!ok) throw new Error(`smoke: ${msg}`); +}; + +check(/^\d+\.\d+\.\d+\n$/.test(run('--version')), '--version'); +for (const [name, draft] of Object.entries({ 'commerce-api': commerceApi, 'grouped-platform': groupedPlatform })) { + const input = join(dir, `${name}.json`); + writeFileSync(input, JSON.stringify(draft, null, 2)); + check(run('validate', input) === '✓ valid: no diagnostics\n', `${name} validates`); + const receipts = ['a', 'b'].map((v) => run('deliver', input, '-o', join(dir, `${name}.${v}.html`))); + const [a, b] = ['a', 'b'].map((v) => readFileSync(join(dir, `${name}.${v}.html`))); + check(a.equals(b), `${name} is byte-identical across runs`); + check(receipts[0].includes(`sha256 ${createHash('sha256').update(a).digest('hex')}`), `${name} receipt hash`); +} +console.log(`✓ smoke: deliver is deterministic (${dir})`); diff --git a/packages/cli/src/cli.ts b/packages/cli/src/cli.ts new file mode 100644 index 0000000..9419720 --- /dev/null +++ b/packages/cli/src/cli.ts @@ -0,0 +1,51 @@ +import { readFileSync } from 'node:fs'; +import { parseArgs } from 'node:util'; +import pkg from '../package.json' with { type: 'json' }; +import { deliverCommand, validateCommand, type CommandResult } from './commands'; + +const HELP = `stackmap ${pkg.version}: validate agent-authored diagrams and deliver an offline HTML viewer + +Usage: + stackmap validate [--json] check the diagram; exit 1 on errors + stackmap deliver [-o out.html] validate, lay out and write the viewer + +Options: + --json machine-readable diagnostics (validate) + -o, --out output path (deliver; default: next to the input, .html) + -h, --help show this help + -v, --version show the version +`; + +async function run(argv: string[]): Promise { + let parsed; + try { + parsed = parseArgs({ + args: argv, + allowPositionals: true, + options: { + json: { type: 'boolean' }, + out: { type: 'string', short: 'o' }, + help: { type: 'boolean', short: 'h' }, + version: { type: 'boolean', short: 'v' }, + }, + }); + } catch (e) { + return { code: 2, stdout: '', stderr: `stackmap: ${(e as Error).message}\n\n${HELP}` }; + } + const { values, positionals } = parsed; + if (values.version) return { code: 0, stdout: `${pkg.version}\n`, stderr: '' }; + const [command, file, ...extra] = positionals; + if (values.help || !command) return { code: values.help ? 0 : 2, stdout: values.help ? HELP : '', stderr: values.help ? '' : HELP }; + if (!file || extra.length) return { code: 2, stdout: '', stderr: `stackmap: ${command} takes exactly one diagram file\n\n${HELP}` }; + if (command === 'validate') return validateCommand(file, { json: !!values.json }); + if (command === 'deliver') { + const template = readFileSync(new URL('./viewer.html', import.meta.url), 'utf8'); + return deliverCommand(file, { template, out: values.out }); + } + return { code: 2, stdout: '', stderr: `stackmap: unknown command "${command}"\n\n${HELP}` }; +} + +const result = await run(process.argv.slice(2)); +process.stdout.write(result.stdout); +process.stderr.write(result.stderr); +process.exitCode = result.code; diff --git a/packages/cli/src/commands.ts b/packages/cli/src/commands.ts new file mode 100644 index 0000000..4f0fb0d --- /dev/null +++ b/packages/cli/src/commands.ts @@ -0,0 +1,66 @@ +import { createHash } from 'node:crypto'; +import { extname } from 'node:path'; +import { layoutDiagram } from '@stackmap/layout'; +import { validateDiagram, type Diagnostic, type ValidationResult } from '@stackmap/schema'; +import { embedDiagram } from './embed'; +import { formatDiagnostic, summary } from './format'; +import { CliError, readText, writeAtomic } from './io'; +import { locateJsonError } from './json-error'; + +export interface CommandResult { + code: 0 | 1 | 2; + stdout: string; + stderr: string; +} + +function validateFile(path: string): ValidationResult { + const text = readText(path); + let input: unknown; + try { + input = JSON.parse(text); + } catch { + const { line, column, expected } = locateJsonError(text); + const diagnostic: Diagnostic = { + code: 'schema/invalid-json', + severity: 'error', + subject: '', + message: `Not valid JSON at line ${line}, column ${column}: expected ${expected}`, + evidence: { line, column, expected }, + allowedFixes: [`fix the JSON syntax at line ${line}, column ${column}`], + }; + return { ok: false, diagnostics: [diagnostic] }; + } + return validateDiagram(input); +} + +const usageError = (e: unknown): CommandResult => { + if (e instanceof CliError) return { code: 2, stdout: '', stderr: `stackmap: ${e.message}\n` }; + throw e; +}; + +const report = (diagnostics: Diagnostic[]) => diagnostics.map((d) => `${formatDiagnostic(d)}\n`).join(''); + +export async function validateCommand(path: string, { json }: { json: boolean }): Promise { + try { + const { ok, diagnostics } = validateFile(path); + const stdout = json ? `${JSON.stringify({ ok, diagnostics }, null, 2)}\n` : `${report(diagnostics)}${summary(diagnostics)}\n`; + return { code: ok ? 0 : 1, stdout, stderr: '' }; + } catch (e) { + return usageError(e); + } +} + +export async function deliverCommand(path: string, { template, out }: { template: string; out?: string }): Promise { + try { + const { ok, diagram, diagnostics } = validateFile(path); + if (!ok || !diagram) return { code: 1, stdout: `${report(diagnostics)}${summary(diagnostics)}\n`, stderr: '' }; + const html = embedDiagram(template, await layoutDiagram(diagram)); + const target = out ?? path.slice(0, path.length - extname(path).length) + '.html'; + writeAtomic(target, html); + const bytes = Buffer.byteLength(html); + const sha = createHash('sha256').update(html).digest('hex'); + return { code: 0, stdout: `delivered ${target} · sha256 ${sha} · ${bytes} bytes\n`, stderr: report(diagnostics) }; + } catch (e) { + return usageError(e); + } +} diff --git a/packages/cli/src/embed.ts b/packages/cli/src/embed.ts new file mode 100644 index 0000000..45f7978 --- /dev/null +++ b/packages/cli/src/embed.ts @@ -0,0 +1,21 @@ +import type { LaidOutDiagram } from '@stackmap/core'; + +/** The block the viewer template ships empty; the viewer reads it back by id. */ +export const EMPTY_DATA_BLOCK = ''; + +const escapeHtml = (s: string) => s.replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"'); + +// `<` is the only character that can end a script element or start `', + '# stackmap diagram schema', + '', + `${root.description ?? ''} Machine-readable: [stackmap.schema.json](stackmap.schema.json). Objects are strict: unknown keys are errors. Ids (and references to them) use \`a-z\`, \`0-9\`, \`-\` and \`_\`, starting with a letter or digit.`, + '', + ...sections.flatMap((s) => [s, '']), + '## Brand slugs', + '', + 'Values allowed in `nodes[].card.brand` (Simple Icons, CC0). Anything else is a warning and the type icon is shown.', + '', + BRAND_SLUGS.map((b) => `\`${b}\``).join(' · '), + '', + ].join('\n'); +} diff --git a/packages/schema/src/schema.ts b/packages/schema/src/schema.ts index f94c11b..a72be33 100644 --- a/packages/schema/src/schema.ts +++ b/packages/schema/src/schema.ts @@ -9,7 +9,7 @@ export const ID_PATTERN = /^[a-z0-9][a-z0-9_-]*$/; export const LIMITS = { rows: 6, stats: 3, evidence: 8, edgeLabel: 24, nodes: 500, edges: 2000, groups: 200, views: 50 } as const; export const VISIBLE_TEXT = /\S/; -const id = z.string().regex(ID_PATTERN).meta({ description: 'Lowercase id: letters, digits, "-" and "_"; starts with a letter or digit.' }); +const id = z.string().regex(ID_PATTERN); const text = z.string().regex(VISIBLE_TEXT); // A regex rather than z.url(): it carries into the JSON Schema, and only http(s) may become a link. export const HTTP_URL = /^https?:\/\/\S+$/; @@ -55,7 +55,7 @@ const Evidence = z.strictObject({ const Node = z.strictObject({ id, type: z.enum(NODE_TYPES).meta({ description: 'Sets the card color. Never color by brand.' }), - group: id.optional(), + group: id.optional().meta({ description: 'Id of the group the node sits in.' }), card: Card, evidence: z .array(Evidence) @@ -66,13 +66,17 @@ const Node = z.strictObject({ const Edge = z.strictObject({ id, - from: id, - to: id, + from: id.meta({ description: 'Source node id.' }), + to: id.meta({ description: 'Target node id.' }), label: text.max(LIMITS.edgeLabel).optional().meta({ description: 'Short label; use sparingly.' }), kind: z.enum(['sync', 'async']).optional().meta({ description: 'async edges render dashed.' }), }); -const Group = z.strictObject({ id, label: text, parent: id.optional() }); +const Group = z.strictObject({ + id, + label: text.meta({ description: 'Shown small-caps above the frame.' }), + parent: id.optional().meta({ description: 'Id of the enclosing group, for nesting.' }), +}); const View = z.strictObject({ id, diff --git a/packages/schema/stackmap.schema.json b/packages/schema/stackmap.schema.json index 80e5517..db0f79f 100644 --- a/packages/schema/stackmap.schema.json +++ b/packages/schema/stackmap.schema.json @@ -50,17 +50,17 @@ "properties": { "id": { "type": "string", - "pattern": "^[a-z0-9][a-z0-9_-]*$", - "description": "Lowercase id: letters, digits, \"-\" and \"_\"; starts with a letter or digit." + "pattern": "^[a-z0-9][a-z0-9_-]*$" }, "label": { "type": "string", - "pattern": "\\S" + "pattern": "\\S", + "description": "Shown small-caps above the frame." }, "parent": { + "description": "Id of the enclosing group, for nesting.", "type": "string", - "pattern": "^[a-z0-9][a-z0-9_-]*$", - "description": "Lowercase id: letters, digits, \"-\" and \"_\"; starts with a letter or digit." + "pattern": "^[a-z0-9][a-z0-9_-]*$" } }, "required": [ @@ -79,8 +79,7 @@ "properties": { "id": { "type": "string", - "pattern": "^[a-z0-9][a-z0-9_-]*$", - "description": "Lowercase id: letters, digits, \"-\" and \"_\"; starts with a letter or digit." + "pattern": "^[a-z0-9][a-z0-9_-]*$" }, "type": { "type": "string", @@ -98,9 +97,9 @@ "description": "Sets the card color. Never color by brand." }, "group": { + "description": "Id of the group the node sits in.", "type": "string", - "pattern": "^[a-z0-9][a-z0-9_-]*$", - "description": "Lowercase id: letters, digits, \"-\" and \"_\"; starts with a letter or digit." + "pattern": "^[a-z0-9][a-z0-9_-]*$" }, "card": { "type": "object", @@ -288,18 +287,17 @@ "properties": { "id": { "type": "string", - "pattern": "^[a-z0-9][a-z0-9_-]*$", - "description": "Lowercase id: letters, digits, \"-\" and \"_\"; starts with a letter or digit." + "pattern": "^[a-z0-9][a-z0-9_-]*$" }, "from": { "type": "string", "pattern": "^[a-z0-9][a-z0-9_-]*$", - "description": "Lowercase id: letters, digits, \"-\" and \"_\"; starts with a letter or digit." + "description": "Source node id." }, "to": { "type": "string", "pattern": "^[a-z0-9][a-z0-9_-]*$", - "description": "Lowercase id: letters, digits, \"-\" and \"_\"; starts with a letter or digit." + "description": "Target node id." }, "label": { "description": "Short label; use sparingly.", @@ -332,8 +330,7 @@ "properties": { "id": { "type": "string", - "pattern": "^[a-z0-9][a-z0-9_-]*$", - "description": "Lowercase id: letters, digits, \"-\" and \"_\"; starts with a letter or digit." + "pattern": "^[a-z0-9][a-z0-9_-]*$" }, "label": { "type": "string", @@ -347,8 +344,7 @@ "type": "array", "items": { "type": "string", - "pattern": "^[a-z0-9][a-z0-9_-]*$", - "description": "Lowercase id: letters, digits, \"-\" and \"_\"; starts with a letter or digit." + "pattern": "^[a-z0-9][a-z0-9_-]*$" }, "description": "Node ids this guided view focuses; the rest are dimmed." } diff --git a/packages/schema/test/docs.test.ts b/packages/schema/test/docs.test.ts new file mode 100644 index 0000000..93e475d --- /dev/null +++ b/packages/schema/test/docs.test.ts @@ -0,0 +1,33 @@ +import { readdirSync, readFileSync } from 'node:fs'; +import { describe, expect, it } from 'vitest'; +import { buildJsonSchema } from '../src/schema'; +import { renderSchemaDoc } from '../src/schema-doc'; +import { validateDiagram } from '../src/validate'; + +const skill = (p: string) => readFileSync(new URL(`../../../skill/${p}`, import.meta.url), 'utf8'); + +describe('skill references', () => { + it('schema.md is generated from the Zod source (run `bun run schema:emit`)', () => { + expect(skill('references/schema.md')).toBe(renderSchemaDoc()); + }); + + it('the skill ships the current JSON Schema', () => { + expect(JSON.parse(skill('references/stackmap.schema.json'))).toEqual(buildJsonSchema()); + }); + + it('documents every object, its limits and the brand allowlist', () => { + const doc = renderSchemaDoc(); + for (const heading of ['## Diagram', '## nodes[]', '## nodes[].card', '## nodes[].card.rows[]', '## edges[]', '## groups[]', '## views[]', '## nodes[].evidence[]']) + expect(doc).toContain(heading); + expect(doc).toMatch(/\| `stats` \| array \| no \| .*at most 3/); + expect(doc).toMatch(/\| `label` \| string \| no \| .*at most 24 characters/); + expect(doc).toContain('`postgresql`'); + }); + + it.each(readdirSync(new URL('../../../skill/examples/', import.meta.url)).filter((f) => f.endsWith('.json')))( + 'example %s validates with no diagnostics', + (f) => { + expect(validateDiagram(JSON.parse(skill(`examples/${f}`))).diagnostics).toEqual([]); + }, + ); +}); diff --git a/skill/SKILL.md b/skill/SKILL.md new file mode 100644 index 0000000..1048e21 --- /dev/null +++ b/skill/SKILL.md @@ -0,0 +1,51 @@ +--- +name: stackmap +description: Turn a system into an explorable architecture or data-flow diagram, delivered as one offline HTML file with a topology-dashboard look (dark and light), search, trace, guided views and PNG/SVG export. Use when the user asks to diagram, map, visualize or explain the architecture, services, infrastructure, dependencies or data pipeline of a codebase or of a described system, or to update such a diagram. +license: MIT +metadata: + version: "0.1.0" + author: hyamero + based_on: tt-a1i/archify (MIT) +--- + +# stackmap + +You write a typed diagram JSON. `stackmap` validates it, lays it out (you never give coordinates) and delivers a single self-contained HTML viewer. The viewer is read-only: every change goes through you editing the JSON. + +## The CLI + +```bash +STACKMAP="${STACKMAP:-npx -y @hyamero/stackmap@0.1.0}" +$STACKMAP validate --json # diagnostics; exit 0 ok (warnings allowed), 1 errors, 2 usage/IO +$STACKMAP deliver # writes .html next to it, prints a sha256 receipt +$STACKMAP serve # optional: live viewer that reloads on every save +``` + +Honour a `STACKMAP` already set in the environment; it overrides the npm package. + +## Where files go + +Unless the user names a location, each diagram lives in `.stackmap//` under the working directory: `diagram.json` and the delivered `diagram.html`. An edit request for an existing diagram reuses its folder and edits `diagram.json` in place — never start over from scratch for an edit. + +## Steps + +1. **Pick the kind.** `architecture` for components, services, infrastructure and their calls; `dataflow` for pipelines, ETL/ELT, event streams and lineage. Nothing else is supported yet — say so if the user wants a sequence or state diagram. +2. **Gather facts.** For a real codebase, follow [Repository diagrams](references/authoring-contract.md#repository-diagrams): the source is the authority, and every node you draw should be backed by code or config you read. For a described system, use only what the user said plus unavoidable glue (e.g. a gateway they implied); don't invent components. +3. **Write the complete `diagram.json` once**, following [the authoring contract](references/authoring-contract.md). Start the file with `"$schema": "https://raw.githubusercontent.com/hyamero/stackmap/main/packages/schema/stackmap.schema.json"`. Field rules and limits: [schema reference](references/schema.md). Shapes: [examples](examples/). Examples teach shape, not facts. +4. **Validate:** `$STACKMAP validate .stackmap//diagram.json --json`. +5. **Repair only what the diagnostics name.** Each diagnostic has a `code`, a `subject` (JSON pointer into your file), a `message`, `evidence` and `allowedFixes`. Apply one of the `allowedFixes` at `subject`; don't restructure unrelated parts. Card text that doesn't fit (`card-fit/overflow`) gets shortened to the `maxChars` in its evidence — keep the meaning, move detail into a card row or the inspector evidence. Re-run step 4. + - **Stop rule:** if two consecutive rounds don't reduce the number of errors, stop repairing, keep the last file, and report the remaining diagnostics to the user verbatim instead of guessing. + - Warnings don't block delivery. Fix the cheap ones (a misspelt brand slug, an orphan you forgot to connect); leave deliberate ones and mention them. +6. **Deliver:** `$STACKMAP deliver .stackmap//diagram.json`. Exit 1 means validation failed — go back to step 5. Exit 2 is an environment problem (missing file, bad path, internal error): report it, don't edit the diagram to "fix" it. +7. **Report** the absolute path of the HTML, the receipt line, and any warnings you left in. Mention that `$STACKMAP serve` gives a live preview if the user will iterate. Don't claim you looked at the rendering unless you actually did. + +## Editing an existing diagram + +Read `.stackmap//diagram.json`, change only what was asked (keep ids stable so links and views survive), then steps 4–7 on the same path. If the user has `stackmap serve` running, saving the file is enough — the page reloads itself. + +## Don'ts + +- No coordinates, sizes, colours or styling fields: the schema is strict and rejects them. Layout and colour come from `direction`, `groups` and node `type`. +- Don't colour by brand: `type` sets the colour; `brand` only puts a logo in the icon tile. +- Don't pad the diagram to look complete. No node, edge or group count is a target. +- Don't edit the delivered HTML. It is output; the JSON is the source of truth. diff --git a/skill/examples/clickstream.dataflow.json b/skill/examples/clickstream.dataflow.json new file mode 100644 index 0000000..5127e05 --- /dev/null +++ b/skill/examples/clickstream.dataflow.json @@ -0,0 +1,30 @@ +{ + "$schema": "https://raw.githubusercontent.com/hyamero/stackmap/main/packages/schema/stackmap.schema.json", + "kind": "dataflow", + "title": "Clickstream analytics", + "subtitle": "From SDK events to dashboards", + "direction": "DOWN", + "groups": [ + { "id": "ingest", "label": "Ingest" }, + { "id": "warehouse", "label": "Warehouse" } + ], + "nodes": [ + { "id": "sdk", "type": "client", "card": { "title": "Web SDK", "subtitle": "Browser events" } }, + { "id": "collector", "type": "gateway", "group": "ingest", "card": { "title": "Collector", "subtitle": "HTTP ingest", "rows": [{ "label": "Peak", "value": "40k ev/s" }] } }, + { "id": "stream", "type": "queue", "group": "ingest", "card": { "title": "events", "subtitle": "Kafka topic", "rows": [{ "label": "Partitions", "value": "24" }] } }, + { "id": "enrich", "type": "service", "group": "ingest", "card": { "title": "Enricher", "subtitle": "Stream processor" } }, + { "id": "archive", "type": "storage", "card": { "title": "Raw archive", "subtitle": "Object storage" } }, + { "id": "dwh", "type": "database", "group": "warehouse", "card": { "title": "Warehouse", "subtitle": "Snowflake", "brand": "snowflake" } }, + { "id": "models", "type": "service", "group": "warehouse", "card": { "title": "dbt models", "subtitle": "Hourly build" } }, + { "id": "bi", "type": "client", "card": { "title": "Dashboards", "subtitle": "Grafana", "brand": "grafana" } } + ], + "edges": [ + { "id": "sdk-collector", "from": "sdk", "to": "collector", "label": "batch POST" }, + { "id": "collector-stream", "from": "collector", "to": "stream", "kind": "async" }, + { "id": "stream-enrich", "from": "stream", "to": "enrich", "kind": "async" }, + { "id": "stream-archive", "from": "stream", "to": "archive", "kind": "async", "label": "raw" }, + { "id": "enrich-dwh", "from": "enrich", "to": "dwh" }, + { "id": "dwh-models", "from": "dwh", "to": "models" }, + { "id": "models-bi", "from": "models", "to": "bi" } + ] +} diff --git a/skill/examples/web-app.architecture.json b/skill/examples/web-app.architecture.json new file mode 100644 index 0000000..5efff7b --- /dev/null +++ b/skill/examples/web-app.architecture.json @@ -0,0 +1,65 @@ +{ + "$schema": "https://raw.githubusercontent.com/hyamero/stackmap/main/packages/schema/stackmap.schema.json", + "kind": "architecture", + "title": "Bookshop", + "subtitle": "Web storefront and order pipeline", + "direction": "DOWN", + "groups": [ + { "id": "edge", "label": "Edge" }, + { "id": "app", "label": "App tier" }, + { "id": "data", "label": "Data tier" } + ], + "nodes": [ + { "id": "web", "type": "client", "card": { "title": "Storefront", "subtitle": "Next.js", "brand": "nextdotjs" } }, + { "id": "cdn", "type": "gateway", "group": "edge", "card": { "title": "CDN", "subtitle": "Cloudflare", "brand": "cloudflare" } }, + { + "id": "api", + "type": "service", + "group": "app", + "card": { + "title": "shop-api", + "subtitle": "REST API · Node.js", + "brand": "nodedotjs", + "rows": [ + { "label": "Instances", "value": "3" }, + { "label": "Port", "value": ":8080", "mono": true } + ], + "footer": { "left": { "text": "eu-west-1", "icon": "region" }, "right": { "text": "HTTPS", "icon": "secure" } } + }, + "evidence": [{ "file": "services/api/src/server.ts", "line": 12, "note": "Express app and routes" }] + }, + { "id": "worker", "type": "service", "group": "app", "card": { "title": "order-worker", "subtitle": "Fulfilment jobs" } }, + { "id": "jobs", "type": "queue", "group": "app", "card": { "title": "jobs", "subtitle": "RabbitMQ", "brand": "rabbitmq" } }, + { + "id": "db", + "type": "database", + "group": "data", + "card": { + "title": "Orders DB", + "subtitle": "PostgreSQL", + "brand": "postgresql", + "stats": [ + { "value": "1", "label": "Primary" }, + { "value": "2", "label": "Replicas" } + ], + "statsNote": "Streaming replication" + } + }, + { "id": "cache", "type": "cache", "group": "data", "card": { "title": "Sessions", "subtitle": "Redis", "brand": "redis" } }, + { "id": "stripe", "type": "external", "card": { "title": "Stripe", "subtitle": "Payments API", "brand": "stripe" } } + ], + "edges": [ + { "id": "web-cdn", "from": "web", "to": "cdn", "label": "HTTPS" }, + { "id": "cdn-api", "from": "cdn", "to": "api" }, + { "id": "api-db", "from": "api", "to": "db" }, + { "id": "api-cache", "from": "api", "to": "cache" }, + { "id": "api-jobs", "from": "api", "to": "jobs", "kind": "async", "label": "enqueue" }, + { "id": "jobs-worker", "from": "jobs", "to": "worker", "kind": "async" }, + { "id": "worker-db", "from": "worker", "to": "db" }, + { "id": "api-stripe", "from": "api", "to": "stripe" } + ], + "views": [ + { "id": "checkout", "label": "Checkout path", "caption": "What a purchase touches", "nodes": ["web", "cdn", "api", "stripe", "db"] }, + { "id": "state", "label": "State", "caption": "Where data lives", "nodes": ["db", "cache", "jobs"] } + ] +} diff --git a/skill/references/authoring-contract.md b/skill/references/authoring-contract.md new file mode 100644 index 0000000..fa983b7 --- /dev/null +++ b/skill/references/authoring-contract.md @@ -0,0 +1,60 @@ +# Authoring contract + +How to model a system as a stackmap diagram. The [schema reference](schema.md) says what is *allowed*; this says what is *good*. `stackmap validate` enforces the hard rules and tells you exactly what to fix. + +> Adapted in part from [archify](https://github.com/tt-a1i/archify)'s authoring and repository references (MIT, © 2026 tt-a1i, © 2025 Cocoon AI). + +## Composition + +- **Show the path that answers the question.** Start from the entry point the user cares about (a client, an API, an event source) and follow it to where state lives or effects land. Add branches only when they change the answer. +- **One node per runtime unit the reader must distinguish.** Three replicas of the same service are one node unless the question is about the replicas. A library is not a node; the process that runs it is. +- **Edges are calls or data moving**, pointing from the initiator to the target (`from` calls `to`, or `from` sends data to `to`). Use `kind: "async"` for queues, events, fire-and-forget and callbacks — it renders dashed. +- **Edge labels** (≤ 24 chars) only where the relationship isn't obvious from the two ends: a protocol (`gRPC`), a verb (`enqueue`), a topic. Most edges need none. +- **Direction.** `RIGHT` (default) reads as a request path and suits 2–4 stages. Prefer `DOWN` for tiered or grouped systems (edge → app → data) and for anything with more than ~5 stages; it avoids long wrap-around edges. +- **Groups** are boundaries a reader should see: tiers, trust zones, VPCs, clusters, teams. Nest with `parent`. A group with one node is usually noise. +- **Views** are named focus sets for the tabs above the canvas ("Data tier", "Checkout path"): the view dims everything else and fits its members. Add one when the diagram answers more than one question; the first tab is always Overview. + +## Node types and colour + +`type` sets the card colour (never the brand). Pick by role: + +| type | use for | +|---|---| +| `client` | browsers, mobile apps, CLIs, SDKs — anything a user drives | +| `gateway` | load balancers, API gateways, CDNs, edge routers, ingress | +| `service` | your own processes: APIs, workers, functions, jobs | +| `database` | relational/document/graph stores that are the system of record | +| `cache` | Redis/Memcached-style caches, session stores | +| `queue` | brokers, streams, topics, task queues | +| `storage` | object/blob/file stores, data lakes, warehouses' storage layers | +| `external` | third-party APIs and SaaS you don't run | +| `security` | auth providers, IAM, secrets managers, WAFs | + +`brand` puts a logo in the icon tile — only a slug from the [brand list](schema.md#brand-slugs); anything else falls back to the type icon with a warning. + +## Cards + +A card is a fixed 280px-wide tile. Only `title` is required; add sections when they carry information the reader needs at a glance. + +- `title` — the name people use (`orders-api`, `Orders`). `subtitle` — what it is (`PostgreSQL cluster`, `Payments API`). +- `rows` (≤ 6) — key/value facts: size, port, runtime, schedule. `mono: true` for ports, IPs, paths. +- `stats` (≤ 3) with `statsNote` — counts that matter (replicas, shards, partitions). +- `footer` — two short facts, left and right (region, protocol, ownership), with optional `icon`: `region`, `secure`, `members`. +- `cta` — a link out (`href`, http(s) only): a dashboard, a runbook. + +Text never wraps; it truncates, and truncation is a validation **error** (`card-fit/overflow`) measured with the real font. Typical budgets for ordinary words: title ≈ 28 characters, subtitle ≈ 32, a row label + value together ≈ 36 (value alone ≤ 22), stat values ≈ 5 and labels ≈ 8 with three tiles (≈ 17 with two), stats note ≈ 36, footer items ≈ 15 with an icon and ≈ 19 without, CTA label ≈ 32. Wide letters (`W`, `M`) and non-Latin scripts fit fewer; the diagnostic gives the exact `maxChars` for your text. Put long detail in `evidence` notes instead. + +## Repository diagrams + +When the diagram must explain a real codebase, the source is the authority for responsibilities, calls, boundaries and persistence. + +1. **Map the slice.** Use manifests, entry points, route registrations, deployment/infra config (Dockerfiles, compose, Terraform, k8s, serverless configs) to find the runtime units. Read the entry, config and modules relevant to the request; follow imports and call sites until each responsibility reaches its real input, output or side effect. Read a connected slice, not the whole repo. +2. **Trace ownership.** Draw an edge only where you saw the call, publish, read or write at a call site (or the config that wires it). A package that is installed but never called on the normal path is not an edge. Distinguish the service that requests work from the worker that executes it and the store that receives the bytes. +3. **Record evidence while reading.** Put `evidence: [{ "file": "src/orders/db.ts", "line": 42, "note": "writes orders" }]` on nodes, with repo-relative paths from the repo root. If the repo has an https remote, set `source.url` to its blob URL at the current commit (`https://github.com///blob/`) so evidence becomes links; strip any credentials from the remote first, and omit `source` for ssh-only or private-host remotes. +4. **Name uncertainty.** If you couldn't confirm something (durability, who reads a table), say so in the evidence note or your report rather than drawing it as fact. + +Stop exploring when every requested responsibility and relationship is backed by source; there is no node or citation count to reach. + +## Repairs that don't converge + +A fix that brings back the same diagnostic twice means the fix is wrong, not the validator. Re-read the diagnostic's `subject` and `evidence`, and prefer a different `allowedFixes` entry. After two rounds with no fewer errors, stop and report (see the stop rule in SKILL.md). diff --git a/skill/references/schema.md b/skill/references/schema.md new file mode 100644 index 0000000..6fe987e --- /dev/null +++ b/skill/references/schema.md @@ -0,0 +1,133 @@ + +# stackmap diagram schema + +Agent-authored diagram. Layout is computed by stackmap; never give coordinates. Machine-readable: [stackmap.schema.json](stackmap.schema.json). Objects are strict: unknown keys are errors. Ids (and references to them) use `a-z`, `0-9`, `-` and `_`, starting with a letter or digit. + +## Diagram + +| Field | Type | Required | Notes | +|---|---|---|---| +| `kind` | enum | yes | one of `architecture`, `dataflow` | +| `title` | string | yes | non-blank | +| `subtitle` | string | no | non-blank | +| `source` | object | no | Base URL for evidence links: /#L. see [source](#source) | +| `direction` | enum | no | Layout flow. Default RIGHT; prefer DOWN for tiered/grouped diagrams. one of `RIGHT`, `DOWN` | +| `groups` | array | no | at most 200. see [groups[]](#groups) | +| `nodes` | array | yes | at least 1. at most 500. see [nodes[]](#nodes) | +| `edges` | array | yes | at most 2000. see [edges[]](#edges) | +| `views` | array | no | at most 50. see [views[]](#views) | + +## source + +Base URL for evidence links: /#L. + +| Field | Type | Required | Notes | +|---|---|---|---| +| `url` | string | yes | http(s) URL | + +## groups[] + +| Field | Type | Required | Notes | +|---|---|---|---| +| `id` | string | yes | id | +| `label` | string | yes | Shown small-caps above the frame. non-blank | +| `parent` | string | no | Id of the enclosing group, for nesting | + +## nodes[] + +| Field | Type | Required | Notes | +|---|---|---|---| +| `id` | string | yes | id | +| `type` | enum | yes | Sets the card color. Never color by brand. one of `client`, `service`, `gateway`, `database`, `cache`, `queue`, `storage`, `external`, `security` | +| `group` | string | no | Id of the group the node sits in | +| `card` | object | yes | see [nodes[].card](#nodescard) | +| `evidence` | array | no | Source locations backing this node; listed in the inspector. at most 8. see [nodes[].evidence[]](#nodesevidence) | + +## nodes[].card + +| Field | Type | Required | Notes | +|---|---|---|---| +| `title` | string | yes | Card title. Must fit the card; `stackmap validate` reports the character budget. non-blank | +| `subtitle` | string | no | non-blank | +| `brand` | string | no | simple-icons slug shown in the icon tile, e.g. "postgresql" | +| `rows` | array | no | Key/value rows. `mono` renders the value in Geist Mono (ports, IPs). at most 6. see [nodes[].card.rows[]](#nodescardrows) | +| `stats` | array | no | Stat tiles, e.g. replica counts. at most 3. see [nodes[].card.stats[]](#nodescardstats) | +| `statsNote` | string | no | Line under the stat tiles; only shown with stats. non-blank | +| `footer` | object | no | see [nodes[].card.footer](#nodescardfooter) | +| `cta` | object | no | see [nodes[].card.cta](#nodescardcta) | + +## nodes[].card.rows[] + +| Field | Type | Required | Notes | +|---|---|---|---| +| `label` | string | yes | non-blank | +| `value` | string | yes | non-blank | +| `mono` | boolean | no | — | + +## nodes[].card.stats[] + +| Field | Type | Required | Notes | +|---|---|---|---| +| `value` | string | yes | non-blank | +| `label` | string | yes | non-blank | + +## nodes[].card.footer + +| Field | Type | Required | Notes | +|---|---|---|---| +| `left` | object | no | see [nodes[].card.footer.left](#nodescardfooterleft) | +| `right` | object | no | see [nodes[].card.footer.right](#nodescardfooterright) | + +## nodes[].card.footer.left + +| Field | Type | Required | Notes | +|---|---|---|---| +| `text` | string | yes | non-blank | +| `icon` | enum | no | one of `region`, `secure`, `members` | + +## nodes[].card.footer.right + +| Field | Type | Required | Notes | +|---|---|---|---| +| `text` | string | yes | non-blank | +| `icon` | enum | no | one of `region`, `secure`, `members` | + +## nodes[].card.cta + +| Field | Type | Required | Notes | +|---|---|---|---| +| `label` | string | yes | non-blank | +| `href` | string | no | http(s) URL | + +## nodes[].evidence[] + +| Field | Type | Required | Notes | +|---|---|---|---| +| `file` | string | yes | Repo-relative path, e.g. "src/orders/api.ts". repo-relative path (no `..`, `\`, `://` or leading `/`) | +| `line` | integer | no | > 0 | +| `note` | string | no | non-blank | + +## edges[] + +| Field | Type | Required | Notes | +|---|---|---|---| +| `id` | string | yes | id | +| `from` | string | yes | Source node id | +| `to` | string | yes | Target node id | +| `label` | string | no | Short label; use sparingly. non-blank. at most 24 characters | +| `kind` | enum | no | async edges render dashed. one of `sync`, `async` | + +## views[] + +| Field | Type | Required | Notes | +|---|---|---|---| +| `id` | string | yes | id | +| `label` | string | yes | non-blank | +| `caption` | string | no | non-blank | +| `nodes` | array | yes | Node ids this guided view focuses; the rest are dimmed. items: lowercase id: `a-z`, `0-9`, `-`, `_`; starts with a letter or digit | + +## Brand slugs + +Values allowed in `nodes[].card.brand` (Simple Icons, CC0). Anything else is a warning and the type icon is shown. + +`algolia` · `alpinelinux` · `ansible` · `anthropic` · `apollographql` · `argo` · `astro` · `auth0` · `backblaze` · `bitbucket` · `buildkite` · `bun` · `caddy` · `celery` · `circleci` · `clerk` · `clickhouse` · `cloudflare` · `cloudflarepages` · `cloudflareworkers` · `cloudinary` · `cockroachlabs` · `consul` · `databricks` · `datadog` · `digitalocean` · `discord` · `django` · `docker` · `dotnet` · `drizzle` · `duckdb` · `eclipsemosquitto` · `elastic` · `elasticsearch` · `elixir` · `envoyproxy` · `erlang` · `express` · `fastapi` · `firebase` · `flask` · `flydotio` · `github` · `githubactions` · `gitlab` · `go` · `googlebigquery` · `googlecloud` · `googlecloudstorage` · `googlepubsub` · `grafana` · `graphql` · `hashicorp` · `helm` · `hetzner` · `hono` · `huggingface` · `influxdb` · `istio` · `jaeger` · `jfrog` · `kibana` · `kong` · `kotlin` · `kubernetes` · `langchain` · `laravel` · `linux` · `logstash` · `mailgun` · `mariadb` · `meilisearch` · `minio` · `mongodb` · `mqtt` · `mysql` · `neo4j` · `neon` · `nestjs` · `netlify` · `newrelic` · `nextdotjs` · `nginx` · `nodedotjs` · `nomad` · `npm` · `nuxt` · `okta` · `ollama` · `openapiinitiative` · `openid` · `opensearch` · `openstack` · `ovh` · `packer` · `pagerduty` · `paypal` · `planetscale` · `pnpm` · `podman` · `postgresql` · `postman` · `prisma` · `prometheus` · `proxmox` · `pulumi` · `python` · `pytorch` · `rabbitmq` · `railway` · `react` · `redhat` · `redis` · `remix` · `render` · `rubyonrails` · `scala` · `scylladb` · `sentry` · `snowflake` · `socketdotio` · `solid` · `splunk` · `spring` · `springboot` · `sqlite` · `stripe` · `supabase` · `svelte` · `swagger` · `swift` · `temporal` · `tensorflow` · `terraform` · `timescale` · `traefikproxy` · `travisci` · `trpc` · `typescript` · `ubuntu` · `vagrant` · `vault` · `vercel` · `vite` · `vmware` diff --git a/skill/references/stackmap.schema.json b/skill/references/stackmap.schema.json new file mode 100644 index 0000000..db0f79f --- /dev/null +++ b/skill/references/stackmap.schema.json @@ -0,0 +1,371 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "type": "object", + "properties": { + "$schema": { + "type": "string" + }, + "kind": { + "type": "string", + "enum": [ + "architecture", + "dataflow" + ] + }, + "title": { + "type": "string", + "pattern": "\\S" + }, + "subtitle": { + "type": "string", + "pattern": "\\S" + }, + "source": { + "description": "Base URL for evidence links: /#L.", + "type": "object", + "properties": { + "url": { + "type": "string", + "pattern": "^https?:\\/\\/\\S+$" + } + }, + "required": [ + "url" + ], + "additionalProperties": false + }, + "direction": { + "description": "Layout flow. Default RIGHT; prefer DOWN for tiered/grouped diagrams.", + "type": "string", + "enum": [ + "RIGHT", + "DOWN" + ] + }, + "groups": { + "maxItems": 200, + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^[a-z0-9][a-z0-9_-]*$" + }, + "label": { + "type": "string", + "pattern": "\\S", + "description": "Shown small-caps above the frame." + }, + "parent": { + "description": "Id of the enclosing group, for nesting.", + "type": "string", + "pattern": "^[a-z0-9][a-z0-9_-]*$" + } + }, + "required": [ + "id", + "label" + ], + "additionalProperties": false + } + }, + "nodes": { + "minItems": 1, + "maxItems": 500, + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^[a-z0-9][a-z0-9_-]*$" + }, + "type": { + "type": "string", + "enum": [ + "client", + "service", + "gateway", + "database", + "cache", + "queue", + "storage", + "external", + "security" + ], + "description": "Sets the card color. Never color by brand." + }, + "group": { + "description": "Id of the group the node sits in.", + "type": "string", + "pattern": "^[a-z0-9][a-z0-9_-]*$" + }, + "card": { + "type": "object", + "properties": { + "title": { + "type": "string", + "pattern": "\\S", + "description": "Card title. Must fit the card; `stackmap validate` reports the character budget." + }, + "subtitle": { + "type": "string", + "pattern": "\\S" + }, + "brand": { + "description": "simple-icons slug shown in the icon tile, e.g. \"postgresql\".", + "type": "string" + }, + "rows": { + "description": "Key/value rows. `mono` renders the value in Geist Mono (ports, IPs).", + "maxItems": 6, + "type": "array", + "items": { + "type": "object", + "properties": { + "label": { + "type": "string", + "pattern": "\\S" + }, + "value": { + "type": "string", + "pattern": "\\S" + }, + "mono": { + "type": "boolean" + } + }, + "required": [ + "label", + "value" + ], + "additionalProperties": false + } + }, + "stats": { + "description": "Stat tiles, e.g. replica counts.", + "maxItems": 3, + "type": "array", + "items": { + "type": "object", + "properties": { + "value": { + "type": "string", + "pattern": "\\S" + }, + "label": { + "type": "string", + "pattern": "\\S" + } + }, + "required": [ + "value", + "label" + ], + "additionalProperties": false + } + }, + "statsNote": { + "description": "Line under the stat tiles; only shown with stats.", + "type": "string", + "pattern": "\\S" + }, + "footer": { + "type": "object", + "properties": { + "left": { + "type": "object", + "properties": { + "text": { + "type": "string", + "pattern": "\\S" + }, + "icon": { + "type": "string", + "enum": [ + "region", + "secure", + "members" + ] + } + }, + "required": [ + "text" + ], + "additionalProperties": false + }, + "right": { + "type": "object", + "properties": { + "text": { + "type": "string", + "pattern": "\\S" + }, + "icon": { + "type": "string", + "enum": [ + "region", + "secure", + "members" + ] + } + }, + "required": [ + "text" + ], + "additionalProperties": false + } + }, + "additionalProperties": false + }, + "cta": { + "type": "object", + "properties": { + "label": { + "type": "string", + "pattern": "\\S" + }, + "href": { + "type": "string", + "pattern": "^https?:\\/\\/\\S+$" + } + }, + "required": [ + "label" + ], + "additionalProperties": false + } + }, + "required": [ + "title" + ], + "additionalProperties": false + }, + "evidence": { + "description": "Source locations backing this node; listed in the inspector.", + "maxItems": 8, + "type": "array", + "items": { + "type": "object", + "properties": { + "file": { + "type": "string", + "pattern": "^(?!\\/)(?!.*(?:^|\\/)\\.\\.(?:\\/|$))(?!.*\\\\)(?!.*:\\/\\/).*\\S.*$", + "description": "Repo-relative path, e.g. \"src/orders/api.ts\"." + }, + "line": { + "type": "integer", + "exclusiveMinimum": 0, + "maximum": 9007199254740991 + }, + "note": { + "type": "string", + "pattern": "\\S" + } + }, + "required": [ + "file" + ], + "additionalProperties": false + } + } + }, + "required": [ + "id", + "type", + "card" + ], + "additionalProperties": false + } + }, + "edges": { + "maxItems": 2000, + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^[a-z0-9][a-z0-9_-]*$" + }, + "from": { + "type": "string", + "pattern": "^[a-z0-9][a-z0-9_-]*$", + "description": "Source node id." + }, + "to": { + "type": "string", + "pattern": "^[a-z0-9][a-z0-9_-]*$", + "description": "Target node id." + }, + "label": { + "description": "Short label; use sparingly.", + "type": "string", + "maxLength": 24, + "pattern": "\\S" + }, + "kind": { + "description": "async edges render dashed.", + "type": "string", + "enum": [ + "sync", + "async" + ] + } + }, + "required": [ + "id", + "from", + "to" + ], + "additionalProperties": false + } + }, + "views": { + "maxItems": 50, + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^[a-z0-9][a-z0-9_-]*$" + }, + "label": { + "type": "string", + "pattern": "\\S" + }, + "caption": { + "type": "string", + "pattern": "\\S" + }, + "nodes": { + "type": "array", + "items": { + "type": "string", + "pattern": "^[a-z0-9][a-z0-9_-]*$" + }, + "description": "Node ids this guided view focuses; the rest are dimmed." + } + }, + "required": [ + "id", + "label", + "nodes" + ], + "additionalProperties": false + } + } + }, + "required": [ + "kind", + "title", + "nodes", + "edges" + ], + "additionalProperties": false, + "title": "stackmap diagram", + "description": "Agent-authored diagram. Layout is computed by stackmap; never give coordinates.", + "$id": "https://raw.githubusercontent.com/hyamero/stackmap/main/packages/schema/stackmap.schema.json" +} From 9049d027e1fbedb317c365ef9607ed846fd0ed71 Mon Sep 17 00:00:00 2001 From: Joseph Dale Banares Date: Tue, 29 Sep 2026 01:12:26 +0800 Subject: [PATCH 20/35] fix(schema): suggest moving a misplaced key into the object that accepts it --- packages/schema/src/rules/schema.ts | 21 +++++++++++++++++---- packages/schema/test/validate.test.ts | 5 +++++ 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/packages/schema/src/rules/schema.ts b/packages/schema/src/rules/schema.ts index 85d1d46..ede6460 100644 --- a/packages/schema/src/rules/schema.ts +++ b/packages/schema/src/rules/schema.ts @@ -14,11 +14,22 @@ function valueAt(input: unknown, path: readonly PropertyKey[]): unknown { type JsonSchemaNode = { properties?: Record; items?: JsonSchemaNode }; let jsonSchema: JsonSchemaNode | undefined; -/** Property names allowed on the object at `path`, read from the emitted JSON Schema. */ -function keysAt(path: readonly PropertyKey[]): string[] { +function schemaAt(path: readonly PropertyKey[]): JsonSchemaNode | undefined { let node: JsonSchemaNode | undefined = (jsonSchema ??= buildJsonSchema() as JsonSchemaNode); for (const key of path) node = typeof key === 'number' ? node?.items : node?.properties?.[String(key)]; - return Object.keys(node?.properties ?? {}); + return node; +} + +/** Property names allowed on the object at `path`, read from the emitted JSON Schema. */ +const keysAt = (path: readonly PropertyKey[]) => Object.keys(schemaAt(path)?.properties ?? {}); + +/** The child object of `path` that does accept `key` (e.g. a node's `brand` belongs in `card`). */ +function childAccepting(path: readonly PropertyKey[], key: string): string | undefined { + const props = schemaAt(path)?.properties ?? {}; + return Object.keys(props).find((k) => { + const child = props[k]!.items ?? props[k]!; + return child.properties !== undefined && key in child.properties; + }); } const article = (t: string) => (/^[aeiou]/.test(t) ? `an ${t}` : `a ${t}`); @@ -57,7 +68,9 @@ function fixes(issue: z.core.$ZodIssue, received: unknown): string[] { const allowed = keysAt(issue.path); return issue.keys.map((k) => { const near = closest(k, allowed, 1)[0]; - return near ? `rename "${k}" to "${near}"` : `remove "${k}" (not valid here; allowed: ${allowed.join(', ')})`; + if (near) return `rename "${k}" to "${near}"`; + const home = childAccepting(issue.path, k); + return home ? `move "${k}" into "${home}"` : `remove "${k}" (not valid here; allowed: ${allowed.join(', ')})`; }); } default: diff --git a/packages/schema/test/validate.test.ts b/packages/schema/test/validate.test.ts index 06d5a81..848efc9 100644 --- a/packages/schema/test/validate.test.ts +++ b/packages/schema/test/validate.test.ts @@ -95,6 +95,11 @@ describe('validateDiagram', () => { expect(diags(base({ nodes }))[0]).toMatchObject({ code: 'schema/too_big', subject: '/nodes', allowedFixes: ['keep at most 500 items'] }); }); + it('a key that belongs one level down says where to move it', () => { + const [d] = diags(base({ nodes: [node('a', { brand: 'redis' } as never), node('b')] })); + expect(d).toMatchObject({ subject: '/nodes/0', allowedFixes: ['move "brand" into "card"'] }); + }); + it('limits say how far to cut', () => { const stats = Array.from({ length: 4 }, (_, i) => ({ value: String(i), label: 'x' })); expect(diags(base({ nodes: [node('a', { card: { title: 'a', stats } })] }))[0]).toMatchObject({ From 35d56848597d06b7b18b3e63c679f191e703bcc6 Mon Sep 17 00:00:00 2001 From: Joseph Dale Banares Date: Tue, 29 Sep 2026 01:24:42 +0800 Subject: [PATCH 21/35] fix(skill): address M5 review findings --- LICENSE | 50 ++++++++++++++++++++++++ packages/cli/scripts/copy-template.mjs | 2 + packages/cli/test/skill.test.ts | 24 ++++++++++++ packages/schema/src/rules/schema.ts | 35 ++++++++++++----- packages/schema/src/schema-doc.ts | 1 - packages/schema/src/schema.ts | 7 ++-- packages/schema/src/util.ts | 3 +- packages/schema/stackmap.schema.json | 5 ++- packages/schema/test/validate.test.ts | 21 ++++++++-- skill/LICENSE | 50 ++++++++++++++++++++++++ skill/SKILL.md | 43 ++++++++++++-------- skill/examples/clickstream.dataflow.json | 2 +- skill/examples/web-app.architecture.json | 2 +- skill/references/authoring-contract.md | 38 ++++++++++++++++-- skill/references/schema.md | 5 ++- skill/references/stackmap.schema.json | 5 ++- 16 files changed, 247 insertions(+), 46 deletions(-) create mode 100644 LICENSE create mode 100644 packages/cli/test/skill.test.ts create mode 100644 skill/LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..92d4b89 --- /dev/null +++ b/LICENSE @@ -0,0 +1,50 @@ +MIT License + +Copyright (c) 2026 hyamero + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +--------------------------------------------------------------------------- + +stackmap is a successor to archify (https://github.com/tt-a1i/archify). Parts +of the agent skill (skill/references/authoring-contract.md) are adapted from +archify's documentation, used under the following license: + +MIT License + +Copyright (c) 2026 tt-a1i (Archify) +Copyright (c) 2025 Cocoon AI + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/packages/cli/scripts/copy-template.mjs b/packages/cli/scripts/copy-template.mjs index b8e7a1c..4294605 100644 --- a/packages/cli/scripts/copy-template.mjs +++ b/packages/cli/scripts/copy-template.mjs @@ -11,3 +11,5 @@ const html = readFileSync(src, 'utf8'); if (!html.includes('')) fail('viewer build has no empty data block'); if (/]+src=/.test(html)) fail('viewer build is not single-file'); copyFileSync(src, new URL('../dist/viewer.html', import.meta.url)); +// The package also serves the JSON Schema that diagrams' "$schema" points at (via unpkg). +copyFileSync(new URL('../../schema/stackmap.schema.json', import.meta.url), new URL('../dist/stackmap.schema.json', import.meta.url)); diff --git a/packages/cli/test/skill.test.ts b/packages/cli/test/skill.test.ts new file mode 100644 index 0000000..aaa708a --- /dev/null +++ b/packages/cli/test/skill.test.ts @@ -0,0 +1,24 @@ +import { readdirSync, readFileSync } from 'node:fs'; +import { describe, expect, it } from 'vitest'; +import { SCHEMA_ID } from '@stackmap/schema'; + +const pkg = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8')) as { name: string; version: string }; +const skill = (p: string) => readFileSync(new URL(`../../../skill/${p}`, import.meta.url), 'utf8'); +const pinned = `${pkg.name}@${pkg.version}`; + +// A release bumps the CLI version; the skill must then run and describe that same version. +describe('skill ↔ CLI version', () => { + it('SKILL.md runs exactly this CLI version', () => { + const md = skill('SKILL.md'); + const pins = [...md.matchAll(/@hyamero\/stackmap@[\w.-]+/g)].map((m) => m[0]); + expect(pins.length).toBeGreaterThan(0); + expect(new Set(pins)).toEqual(new Set([pinned])); + expect(md).toContain(`version: "${pkg.version}"`); + }); + + it('the JSON Schema id and the examples point at this version', () => { + expect(SCHEMA_ID).toBe(`https://unpkg.com/${pinned}/dist/stackmap.schema.json`); + for (const f of readdirSync(new URL('../../../skill/examples/', import.meta.url)).filter((x) => x.endsWith('.json'))) + expect(JSON.parse(skill(`examples/${f}`)).$schema, f).toBe(SCHEMA_ID); + }); +}); diff --git a/packages/schema/src/rules/schema.ts b/packages/schema/src/rules/schema.ts index ede6460..63c15c7 100644 --- a/packages/schema/src/rules/schema.ts +++ b/packages/schema/src/rules/schema.ts @@ -11,7 +11,7 @@ function valueAt(input: unknown, path: readonly PropertyKey[]): unknown { return v; } -type JsonSchemaNode = { properties?: Record; items?: JsonSchemaNode }; +type JsonSchemaNode = { type?: string; properties?: Record; items?: JsonSchemaNode }; let jsonSchema: JsonSchemaNode | undefined; function schemaAt(path: readonly PropertyKey[]): JsonSchemaNode | undefined { @@ -23,15 +23,28 @@ function schemaAt(path: readonly PropertyKey[]): JsonSchemaNode | undefined { /** Property names allowed on the object at `path`, read from the emitted JSON Schema. */ const keysAt = (path: readonly PropertyKey[]) => Object.keys(schemaAt(path)?.properties ?? {}); -/** The child object of `path` that does accept `key` (e.g. a node's `brand` belongs in `card`). */ +/** + * The plain-object child of `path` that accepts `key` (a node's `brand` belongs in `card`). Arrays are + * skipped: "move label into rows" would send the agent off to invent a row. + */ function childAccepting(path: readonly PropertyKey[], key: string): string | undefined { const props = schemaAt(path)?.properties ?? {}; - return Object.keys(props).find((k) => { - const child = props[k]!.items ?? props[k]!; - return child.properties !== undefined && key in child.properties; - }); + return Object.keys(props).find((k) => props[k]!.type === 'object' && key in (props[k]!.properties ?? {})); +} + +/** Whether the object enclosing `path` accepts `key` (card `evidence` belongs on the node). */ +function parentAccepts(path: readonly PropertyKey[], key: string): boolean { + if (!path.length) return false; + // The parent of `/nodes/0/card` is the node; of `/nodes/0` it is the array, so step past it to the diagram. + const up = path.slice(0, -1); + const parent = schemaAt(up); + const obj = parent?.properties ? parent : schemaAt(up.slice(0, -1)); + return key in (obj?.properties ?? {}); } +// Names authors reach for that mean an existing field. +const ALIASES: Record = { name: 'title', label: 'title', description: 'subtitle', desc: 'subtitle', icon: 'brand', logo: 'brand' }; + const article = (t: string) => (/^[aeiou]/.test(t) ? `an ${t}` : `a ${t}`); /** "the diagram", "item 2 of \"nodes\"" or "\"title\"" — how a fix names the value at `path`. */ @@ -66,11 +79,15 @@ function fixes(issue: z.core.$ZodIssue, received: unknown): string[] { return [`match ${issue.pattern ?? issue.format}`]; case 'unrecognized_keys': { const allowed = keysAt(issue.path); - return issue.keys.map((k) => { + return issue.keys.flatMap((k) => { + const alias = ALIASES[k]; + if (alias && allowed.includes(alias)) return [`rename "${k}" to "${alias}"`]; const near = closest(k, allowed, 1)[0]; - if (near) return `rename "${k}" to "${near}"`; + if (near) return [`rename "${k}" to "${near}"`]; const home = childAccepting(issue.path, k); - return home ? `move "${k}" into "${home}"` : `remove "${k}" (not valid here; allowed: ${allowed.join(', ')})`; + if (home) return [`move "${k}" into "${home}"`, `remove "${k}"`]; + if (parentAccepts(issue.path, k)) return [`move "${k}" up to the enclosing object`, `remove "${k}"`]; + return [`remove "${k}" (not valid here; allowed: ${allowed.join(', ')})`]; }); } default: diff --git a/packages/schema/src/schema-doc.ts b/packages/schema/src/schema-doc.ts index 031e77d..17a8ae5 100644 --- a/packages/schema/src/schema-doc.ts +++ b/packages/schema/src/schema-doc.ts @@ -52,7 +52,6 @@ export function renderSchemaDoc(): string { const rows: string[] = []; const nested: [string, Node][] = []; for (const [key, prop] of Object.entries(obj.properties ?? {})) { - if (key === '$schema') continue; const base = name === 'Diagram' ? key : `${name}.${key}`; let link: string | undefined; if (prop.type === 'object' && prop.properties) nested.push([(link = base), prop]); diff --git a/packages/schema/src/schema.ts b/packages/schema/src/schema.ts index a72be33..69db2a5 100644 --- a/packages/schema/src/schema.ts +++ b/packages/schema/src/schema.ts @@ -87,14 +87,14 @@ const View = z.strictObject({ export const DiagramDraftSchema = z .strictObject({ - $schema: z.string().optional(), + $schema: z.string().optional().meta({ description: `Optional; set it to ${'`'}https://unpkg.com/@hyamero/stackmap@0.1.0/dist/stackmap.schema.json${'`'} for editor completion.` }), kind: z.enum(['architecture', 'dataflow']), title: text, subtitle: text.optional(), source: z .strictObject({ url: httpUrl }) .optional() - .meta({ description: 'Base URL for evidence links: /#L.' }), + .meta({ description: 'Base URL for evidence links: `/#L`.' }), direction: z.enum(['RIGHT', 'DOWN']).optional().meta({ description: 'Layout flow. Default RIGHT; prefer DOWN for tiered/grouped diagrams.' }), groups: z.array(Group).max(LIMITS.groups).optional(), nodes: z.array(Node).min(1).max(LIMITS.nodes), @@ -103,7 +103,8 @@ export const DiagramDraftSchema = z }) .meta({ title: 'stackmap diagram', description: 'Agent-authored diagram. Layout is computed by stackmap; never give coordinates.' }); -export const SCHEMA_ID = 'https://raw.githubusercontent.com/hyamero/stackmap/main/packages/schema/stackmap.schema.json'; +/** Served from the published CLI package, so it is pinned to the same version as the validator. */ +export const SCHEMA_ID = 'https://unpkg.com/@hyamero/stackmap@0.1.0/dist/stackmap.schema.json'; export function buildJsonSchema(): Record { return { ...z.toJSONSchema(DiagramDraftSchema, { target: 'draft-2020-12' }), $id: SCHEMA_ID }; diff --git a/packages/schema/src/util.ts b/packages/schema/src/util.ts index 3c207be..3504154 100644 --- a/packages/schema/src/util.ts +++ b/packages/schema/src/util.ts @@ -16,7 +16,8 @@ export function levenshtein(a: string, b: string): number { /** Up to `n` candidates closest to `target`, nearest first, ties in candidate order; only plausible matches. */ export function closest(target: string, candidates: Iterable, n = 3): string[] { - const max = Math.max(2, Math.floor(target.length / 3)); + // Short keys are one or two edits from almost anything (`id` → `kind`), so they only match on one. + const max = target.length <= 4 ? 1 : Math.max(2, Math.floor(target.length / 3)); return [...new Set(candidates)] .map((c, i) => ({ c, i, d: levenshtein(target.toLowerCase(), c.toLowerCase()) })) .filter((x) => x.d <= max) diff --git a/packages/schema/stackmap.schema.json b/packages/schema/stackmap.schema.json index db0f79f..9d77861 100644 --- a/packages/schema/stackmap.schema.json +++ b/packages/schema/stackmap.schema.json @@ -3,6 +3,7 @@ "type": "object", "properties": { "$schema": { + "description": "Optional; set it to `https://unpkg.com/@hyamero/stackmap@0.1.0/dist/stackmap.schema.json` for editor completion.", "type": "string" }, "kind": { @@ -21,7 +22,7 @@ "pattern": "\\S" }, "source": { - "description": "Base URL for evidence links: /#L.", + "description": "Base URL for evidence links: `/#L`.", "type": "object", "properties": { "url": { @@ -367,5 +368,5 @@ "additionalProperties": false, "title": "stackmap diagram", "description": "Agent-authored diagram. Layout is computed by stackmap; never give coordinates.", - "$id": "https://raw.githubusercontent.com/hyamero/stackmap/main/packages/schema/stackmap.schema.json" + "$id": "https://unpkg.com/@hyamero/stackmap@0.1.0/dist/stackmap.schema.json" } diff --git a/packages/schema/test/validate.test.ts b/packages/schema/test/validate.test.ts index 848efc9..27664a6 100644 --- a/packages/schema/test/validate.test.ts +++ b/packages/schema/test/validate.test.ts @@ -95,9 +95,24 @@ describe('validateDiagram', () => { expect(diags(base({ nodes }))[0]).toMatchObject({ code: 'schema/too_big', subject: '/nodes', allowedFixes: ['keep at most 500 items'] }); }); - it('a key that belongs one level down says where to move it', () => { - const [d] = diags(base({ nodes: [node('a', { brand: 'redis' } as never), node('b')] })); - expect(d).toMatchObject({ subject: '/nodes/0', allowedFixes: ['move "brand" into "card"'] }); + it.each([ + ['a node-level brand belongs in the card', { brand: 'redis' }, '/nodes/0', ['move "brand" into "card"', 'remove "brand"']], + ['card evidence belongs on the node', { card: { title: 'a', evidence: [{ file: 'a.ts' }] } }, '/nodes/0/card', ['move "evidence" up to the enclosing object', 'remove "evidence"']], + ['a card "label" is the title', { card: { title: 'a', label: 'x' } }, '/nodes/0/card', ['rename "label" to "title"']], + ['a card "name" is the title', { card: { title: 'a', name: 'x' } }, '/nodes/0/card', ['rename "name" to "title"']], + ['a card "description" is the subtitle', { card: { title: 'a', description: 'x' } }, '/nodes/0/card', ['rename "description" to "subtitle"']], + ])('%s', (_n, over, subject, fixes) => { + const [d] = diags(base({ nodes: [node('a', over as never), node('b')] })); + expect(d).toMatchObject({ code: 'schema/unrecognized_keys', subject, allowedFixes: fixes }); + }); + + it('never "moves" into an array or suggests a far-fetched rename for a short key', () => { + const [value] = diags(base({ nodes: [node('a', { card: { title: 'a', value: 'x' } } as never), node('b')] })); + expect(value!.allowedFixes).toEqual([expect.stringMatching(/^remove "value"/)]); + const [file] = diags(base({ nodes: [node('a', { card: { title: 'a', file: 'x' } } as never), node('b')] })); + expect(file!.allowedFixes).toEqual([expect.stringMatching(/^remove "file"/)]); + const [id] = diags({ ...base(), id: 'x' }); + expect(id!.allowedFixes).toEqual([expect.stringMatching(/^remove "id"/)]); }); it('limits say how far to cut', () => { diff --git a/skill/LICENSE b/skill/LICENSE new file mode 100644 index 0000000..92d4b89 --- /dev/null +++ b/skill/LICENSE @@ -0,0 +1,50 @@ +MIT License + +Copyright (c) 2026 hyamero + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +--------------------------------------------------------------------------- + +stackmap is a successor to archify (https://github.com/tt-a1i/archify). Parts +of the agent skill (skill/references/authoring-contract.md) are adapted from +archify's documentation, used under the following license: + +MIT License + +Copyright (c) 2026 tt-a1i (Archify) +Copyright (c) 2025 Cocoon AI + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/skill/SKILL.md b/skill/SKILL.md index 1048e21..2194e86 100644 --- a/skill/SKILL.md +++ b/skill/SKILL.md @@ -14,38 +14,47 @@ You write a typed diagram JSON. `stackmap` validates it, lays it out (you never ## The CLI +Run it as one literal command (each shell call starts fresh, so don't rely on variables set earlier): + ```bash -STACKMAP="${STACKMAP:-npx -y @hyamero/stackmap@0.1.0}" -$STACKMAP validate --json # diagnostics; exit 0 ok (warnings allowed), 1 errors, 2 usage/IO -$STACKMAP deliver # writes .html next to it, prints a sha256 receipt -$STACKMAP serve # optional: live viewer that reloads on every save +npx -y @hyamero/stackmap@0.1.0 validate --json +npx -y @hyamero/stackmap@0.1.0 deliver +npx -y @hyamero/stackmap@0.1.0 serve # optional live preview; see below ``` -Honour a `STACKMAP` already set in the environment; it overrides the npm package. +If the environment variable `STACKMAP_BIN` is set, it is the path of a stackmap executable: use `"$STACKMAP_BIN" validate …` (quoted, exactly like that) instead of `npx …`. + +Exit codes: **0** ok (warnings allowed) · **1** the diagram has errors · **2** usage, file or internal error. `validate --json` always prints one JSON object `{ "ok", "diagnostics" }` on stdout. **If you get exit 1 with no JSON on stdout, the CLI never ran** (npm/network/install problem): report that to the user and don't touch the diagram. ## Where files go -Unless the user names a location, each diagram lives in `.stackmap//` under the working directory: `diagram.json` and the delivered `diagram.html`. An edit request for an existing diagram reuses its folder and edits `diagram.json` in place — never start over from scratch for an edit. +Unless the user names a location, each diagram lives in `.stackmap//` under the working directory: `diagram.json`, and `diagram.html` which `deliver` writes next to it. An edit request for an existing diagram reuses its folder and edits `diagram.json` in place — never start over for an edit. ## Steps -1. **Pick the kind.** `architecture` for components, services, infrastructure and their calls; `dataflow` for pipelines, ETL/ELT, event streams and lineage. Nothing else is supported yet — say so if the user wants a sequence or state diagram. -2. **Gather facts.** For a real codebase, follow [Repository diagrams](references/authoring-contract.md#repository-diagrams): the source is the authority, and every node you draw should be backed by code or config you read. For a described system, use only what the user said plus unavoidable glue (e.g. a gateway they implied); don't invent components. -3. **Write the complete `diagram.json` once**, following [the authoring contract](references/authoring-contract.md). Start the file with `"$schema": "https://raw.githubusercontent.com/hyamero/stackmap/main/packages/schema/stackmap.schema.json"`. Field rules and limits: [schema reference](references/schema.md). Shapes: [examples](examples/). Examples teach shape, not facts. -4. **Validate:** `$STACKMAP validate .stackmap//diagram.json --json`. -5. **Repair only what the diagnostics name.** Each diagnostic has a `code`, a `subject` (JSON pointer into your file), a `message`, `evidence` and `allowedFixes`. Apply one of the `allowedFixes` at `subject`; don't restructure unrelated parts. Card text that doesn't fit (`card-fit/overflow`) gets shortened to the `maxChars` in its evidence — keep the meaning, move detail into a card row or the inspector evidence. Re-run step 4. - - **Stop rule:** if two consecutive rounds don't reduce the number of errors, stop repairing, keep the last file, and report the remaining diagnostics to the user verbatim instead of guessing. - - Warnings don't block delivery. Fix the cheap ones (a misspelt brand slug, an orphan you forgot to connect); leave deliberate ones and mention them. -6. **Deliver:** `$STACKMAP deliver .stackmap//diagram.json`. Exit 1 means validation failed — go back to step 5. Exit 2 is an environment problem (missing file, bad path, internal error): report it, don't edit the diagram to "fix" it. -7. **Report** the absolute path of the HTML, the receipt line, and any warnings you left in. Mention that `$STACKMAP serve` gives a live preview if the user will iterate. Don't claim you looked at the rendering unless you actually did. +1. **Pick the kind.** `architecture` when the edges are *calls and dependencies* between components (services, stores, infrastructure). `dataflow` only when the edges are *data moving between stages* (pipelines, ETL/ELT, CDC, event streams, lineage). If unsure, use `architecture`. Sequence, state and workflow diagrams aren't supported yet — say so. +2. **Gather facts.** For a real codebase, follow [Repository diagrams](references/authoring-contract.md#repository-diagrams): every node and edge should be backed by code or config you read. For a described system, use only what the user said plus unavoidable glue; don't invent components. For Mermaid or other diagram text, use the [Mermaid mapping](references/authoring-contract.md#from-mermaid). +3. **Write the complete `diagram.json` once**, following [the authoring contract](references/authoring-contract.md). Field rules and limits: [schema reference](references/schema.md). Shapes: [examples](examples/) — they teach shape, not facts. +4. **Validate** with `validate --json`. +5. **Repair only what the diagnostics name.** Each has a `code`, a `subject` (JSON pointer into your file), a `message`, `evidence` and `allowedFixes`. Apply one of the `allowedFixes` at `subject`; don't restructure unrelated parts. `card-fit/overflow` means the text would be cut off on the card: shorten it to the `maxChars` in its evidence, keeping the meaning (move detail into a row or an evidence note). Re-run step 4. + - **Stop rule:** if two consecutive rounds don't reduce the number of errors, stop, keep the last file, and report the remaining diagnostics verbatim instead of guessing. + - Warnings don't block delivery. Fix the cheap ones (a misspelt brand, a node you forgot to connect); mention the ones you leave. +6. **Deliver** with `deliver `. Exit 1: back to step 5. Exit 2: an environment problem — report it; don't edit the diagram to "fix" it. +7. **Check evidence** (repository diagrams): every `evidence[].file` must exist, e.g. `git ls-files --error-unmatch ` from the repo root. +8. **Report** the absolute path of `diagram.html`, the receipt line, and any warnings you left. Offer `serve` for iterating. Don't claim you looked at the rendering unless you did. ## Editing an existing diagram -Read `.stackmap//diagram.json`, change only what was asked (keep ids stable so links and views survive), then steps 4–7 on the same path. If the user has `stackmap serve` running, saving the file is enough — the page reloads itself. +Read `.stackmap//diagram.json`, change only what was asked, then steps 4–8 on the same path. **Keep ids stable:** to rename something, change its `card.title`, not its `id`. If an id truly must change, update every edge (`from`/`to`), view (`nodes`) and group reference to it in the same edit. + +## Live preview + +`serve` runs until stopped and reloads the page on every save, keeping the last good version when a save is invalid. Start it in the background (it would block your shell) and give the user the printed `http://127.0.0.1:…` URL. It doesn't write `diagram.html`: still run `deliver` when the user wants the file. ## Don'ts - No coordinates, sizes, colours or styling fields: the schema is strict and rejects them. Layout and colour come from `direction`, `groups` and node `type`. - Don't colour by brand: `type` sets the colour; `brand` only puts a logo in the icon tile. -- Don't pad the diagram to look complete. No node, edge or group count is a target. +- **Never copy secrets** into the diagram: no credentials, tokens, keys, connection strings with passwords, or internal hostnames/IPs from `.env` files or config. The HTML is made to be shared. +- Don't pad the diagram. No node, edge or group count is a target; past ~40 nodes, split (see [Size](references/authoring-contract.md#size)). - Don't edit the delivered HTML. It is output; the JSON is the source of truth. diff --git a/skill/examples/clickstream.dataflow.json b/skill/examples/clickstream.dataflow.json index 5127e05..d2e4d61 100644 --- a/skill/examples/clickstream.dataflow.json +++ b/skill/examples/clickstream.dataflow.json @@ -1,5 +1,5 @@ { - "$schema": "https://raw.githubusercontent.com/hyamero/stackmap/main/packages/schema/stackmap.schema.json", + "$schema": "https://unpkg.com/@hyamero/stackmap@0.1.0/dist/stackmap.schema.json", "kind": "dataflow", "title": "Clickstream analytics", "subtitle": "From SDK events to dashboards", diff --git a/skill/examples/web-app.architecture.json b/skill/examples/web-app.architecture.json index 5efff7b..97df82b 100644 --- a/skill/examples/web-app.architecture.json +++ b/skill/examples/web-app.architecture.json @@ -1,5 +1,5 @@ { - "$schema": "https://raw.githubusercontent.com/hyamero/stackmap/main/packages/schema/stackmap.schema.json", + "$schema": "https://unpkg.com/@hyamero/stackmap@0.1.0/dist/stackmap.schema.json", "kind": "architecture", "title": "Bookshop", "subtitle": "Web storefront and order pipeline", diff --git a/skill/references/authoring-contract.md b/skill/references/authoring-contract.md index fa983b7..e04fbe2 100644 --- a/skill/references/authoring-contract.md +++ b/skill/references/authoring-contract.md @@ -2,18 +2,43 @@ How to model a system as a stackmap diagram. The [schema reference](schema.md) says what is *allowed*; this says what is *good*. `stackmap validate` enforces the hard rules and tells you exactly what to fix. -> Adapted in part from [archify](https://github.com/tt-a1i/archify)'s authoring and repository references (MIT, © 2026 tt-a1i, © 2025 Cocoon AI). +> Adapted in part from [archify](https://github.com/tt-a1i/archify)'s authoring and repository references — MIT, Copyright (c) 2026 tt-a1i (Archify), Copyright (c) 2025 Cocoon AI. The full license text is in [LICENSE](../LICENSE). ## Composition - **Show the path that answers the question.** Start from the entry point the user cares about (a client, an API, an event source) and follow it to where state lives or effects land. Add branches only when they change the answer. -- **One node per runtime unit the reader must distinguish.** Three replicas of the same service are one node unless the question is about the replicas. A library is not a node; the process that runs it is. -- **Edges are calls or data moving**, pointing from the initiator to the target (`from` calls `to`, or `from` sends data to `to`). Use `kind: "async"` for queues, events, fire-and-forget and callbacks — it renders dashed. +- **One node per runtime unit the reader must distinguish.** Three replicas of the same service are one node unless the question is about the replicas. A library is not a node; the process that runs it is — unless the user is asking about the code's structure (packages, modules), in which case packages are the nodes and edges are the calls between them. +- **Edge direction depends on the kind.** + - `architecture`: from the **initiator** to what it calls or uses — `api → db` even when the api only reads. Queues and streams are the exception: draw `producer → queue → consumer` (the queue delivers), even though consumers technically pull. + - `dataflow`: the direction **data moves** — `db → cdc → kafka → job → store`; a reader of a store is `store → reader`. +- `kind: "async"` for queues, events, fire-and-forget and callbacks — it renders dashed. Don't use it for "happens at build time" or "optional"; say that in a label or in the node's subtitle. - **Edge labels** (≤ 24 chars) only where the relationship isn't obvious from the two ends: a protocol (`gRPC`), a verb (`enqueue`), a topic. Most edges need none. - **Direction.** `RIGHT` (default) reads as a request path and suits 2–4 stages. Prefer `DOWN` for tiered or grouped systems (edge → app → data) and for anything with more than ~5 stages; it avoids long wrap-around edges. - **Groups** are boundaries a reader should see: tiers, trust zones, VPCs, clusters, teams. Nest with `parent`. A group with one node is usually noise. - **Views** are named focus sets for the tabs above the canvas ("Data tier", "Checkout path"): the view dims everything else and fits its members. Add one when the diagram answers more than one question; the first tab is always Overview. +## Size + +A diagram is read on one screen. Aim for **~10–40 nodes**; past that, cards get too small at fit and the picture stops answering a question. For a larger system, deliver an **overview** diagram (subsystems as single nodes) plus **one diagram per subsystem** in sibling folders (`.stackmap/-overview/`, `.stackmap/-payments/`, …). Views don't reduce size — every node is still drawn. The schema's hard caps (500 nodes, 2000 edges) are a safety limit, not a target; if you hit one, split rather than delete. + +## From Mermaid + +Read Mermaid for topology and meaning, then write fresh stackmap JSON — don't mechanically copy its styling. + +| Mermaid | stackmap | +|---|---| +| `flowchart LR` / `graph LR` | `direction: "RIGHT"` | +| `flowchart TD` / `TB` | `direction: "DOWN"` (`BT`/`RL` aren't supported — use the nearest) | +| node `id[Label]`, `id((Label))`, `id[(Label)]` | node; lowercase the id (`coreApi` → `core-api`); shape hints the `type` (`[( )]` is usually a database/storage) | +| `A --> B` | edge `from: "a", to: "b"` | +| `A -.-> B`, `A -.->|label| B` | edge with `kind: "async"` (and `label`) | +| `A -->|label| B` | edge with `label` (≤ 24 chars) | +| `subgraph x [Title] … end` | group `{ "id": "x", "label": "Title" }`; nodes inside get `group: "x"` | +| nested `subgraph` | group with `parent` | +| an edge to or from a subgraph id | an edge to its **entry node** inside the group — a group is not a node, don't add one | +| `
` detail in a label | `subtitle` or a card row | +| `classDef`, `style`, `linkStyle` | ignore | + ## Node types and colour `type` sets the card colour (never the brand). Pick by role: @@ -50,7 +75,12 @@ When the diagram must explain a real codebase, the source is the authority for r 1. **Map the slice.** Use manifests, entry points, route registrations, deployment/infra config (Dockerfiles, compose, Terraform, k8s, serverless configs) to find the runtime units. Read the entry, config and modules relevant to the request; follow imports and call sites until each responsibility reaches its real input, output or side effect. Read a connected slice, not the whole repo. 2. **Trace ownership.** Draw an edge only where you saw the call, publish, read or write at a call site (or the config that wires it). A package that is installed but never called on the normal path is not an edge. Distinguish the service that requests work from the worker that executes it and the store that receives the bytes. -3. **Record evidence while reading.** Put `evidence: [{ "file": "src/orders/db.ts", "line": 42, "note": "writes orders" }]` on nodes, with repo-relative paths from the repo root. If the repo has an https remote, set `source.url` to its blob URL at the current commit (`https://github.com///blob/`) so evidence becomes links; strip any credentials from the remote first, and omit `source` for ssh-only or private-host remotes. +3. **Record evidence while reading.** Put `evidence: [{ "file": "src/orders/db.ts", "line": 42, "note": "writes orders" }]` on nodes, with paths relative to the repo root (or the project root if it isn't a git repo). Notes are shared with the diagram: never quote secrets or internal hostnames in them. + **Links (`source.url`)** — set it only when all of these hold, otherwise omit `source` (evidence still shows as `file:line`): + - the remote is on **GitHub or GitLab** (`git remote get-url origin`). Convert `git@github.com:owner/repo.git` to `https://github.com/owner/repo`; drop any `user:token@` part. + - the commit is **on the remote**: `git branch -r --contains HEAD` prints something. Otherwise use the newest pushed commit (`git merge-base HEAD origin/HEAD`) — but then only cite files unchanged since it. + - use the commit sha, not a branch: `https://github.com///blob/` (GitLab: `https://gitlab.com///-/blob/`). + - for a file with uncommitted changes (`git status --short`), leave out `line` — its numbers won't match the linked commit. 4. **Name uncertainty.** If you couldn't confirm something (durability, who reads a table), say so in the evidence note or your report rather than drawing it as fact. Stop exploring when every requested responsibility and relationship is backed by source; there is no node or citation count to reach. diff --git a/skill/references/schema.md b/skill/references/schema.md index 6fe987e..068b804 100644 --- a/skill/references/schema.md +++ b/skill/references/schema.md @@ -7,10 +7,11 @@ Agent-authored diagram. Layout is computed by stackmap; never give coordinates. | Field | Type | Required | Notes | |---|---|---|---| +| `$schema` | string | no | Optional; set it to `https://unpkg.com/@hyamero/stackmap@0.1.0/dist/stackmap.schema.json` for editor completion | | `kind` | enum | yes | one of `architecture`, `dataflow` | | `title` | string | yes | non-blank | | `subtitle` | string | no | non-blank | -| `source` | object | no | Base URL for evidence links: /#L. see [source](#source) | +| `source` | object | no | Base URL for evidence links: `/#L`. see [source](#source) | | `direction` | enum | no | Layout flow. Default RIGHT; prefer DOWN for tiered/grouped diagrams. one of `RIGHT`, `DOWN` | | `groups` | array | no | at most 200. see [groups[]](#groups) | | `nodes` | array | yes | at least 1. at most 500. see [nodes[]](#nodes) | @@ -19,7 +20,7 @@ Agent-authored diagram. Layout is computed by stackmap; never give coordinates. ## source -Base URL for evidence links: /#L. +Base URL for evidence links: `/#L`. | Field | Type | Required | Notes | |---|---|---|---| diff --git a/skill/references/stackmap.schema.json b/skill/references/stackmap.schema.json index db0f79f..9d77861 100644 --- a/skill/references/stackmap.schema.json +++ b/skill/references/stackmap.schema.json @@ -3,6 +3,7 @@ "type": "object", "properties": { "$schema": { + "description": "Optional; set it to `https://unpkg.com/@hyamero/stackmap@0.1.0/dist/stackmap.schema.json` for editor completion.", "type": "string" }, "kind": { @@ -21,7 +22,7 @@ "pattern": "\\S" }, "source": { - "description": "Base URL for evidence links: /#L.", + "description": "Base URL for evidence links: `/#L`.", "type": "object", "properties": { "url": { @@ -367,5 +368,5 @@ "additionalProperties": false, "title": "stackmap diagram", "description": "Agent-authored diagram. Layout is computed by stackmap; never give coordinates.", - "$id": "https://raw.githubusercontent.com/hyamero/stackmap/main/packages/schema/stackmap.schema.json" + "$id": "https://unpkg.com/@hyamero/stackmap@0.1.0/dist/stackmap.schema.json" } From 25abc6d21d77e1e99e619fd4adff936c0f9c79dd Mon Sep 17 00:00:00 2001 From: Joseph Dale Banares Date: Tue, 29 Sep 2026 01:38:57 +0800 Subject: [PATCH 22/35] fix(viewer): centre revealed nodes between the chrome bands --- packages/viewer/e2e/explore.spec.ts | 2 ++ packages/viewer/src/canvas/useZoom.ts | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/viewer/e2e/explore.spec.ts b/packages/viewer/e2e/explore.spec.ts index 31c9483..9abbb75 100644 --- a/packages/viewer/e2e/explore.spec.ts +++ b/packages/viewer/e2e/explore.spec.ts @@ -88,6 +88,8 @@ test('"/" opens search; Enter selects the first match and centres it', async ({ const stage = (await page.locator('.sm-stage').boundingBox())!; const c = (await card(page, 'sessions').boundingBox())!; expect(Math.abs(c.x + c.width / 2 - (stage.x + stage.width / 2))).toBeLessThan(2); + // Vertically centred in the band between the toolbar (80px) and the zoom bar (76px). + expect(Math.abs(c.y + c.height / 2 - (stage.y + (stage.height + 80 - 76) / 2))).toBeLessThan(2); }); test('search tolerates regex characters and whitespace', async ({ page }) => { diff --git a/packages/viewer/src/canvas/useZoom.ts b/packages/viewer/src/canvas/useZoom.ts index bb6d2aa..7d92ffc 100644 --- a/packages/viewer/src/canvas/useZoom.ts +++ b/packages/viewer/src/canvas/useZoom.ts @@ -97,8 +97,13 @@ export function useZoom(stageRef: RefObject, content: Rec ), [animate, content], ); + // Centre between the chrome bands, not on the raw stage, so the node doesn't sit under the toolbar. const centerOn = useCallback( - (p: Point) => animate((z, el) => select(el).transition().duration(duration()).call(z.translateTo, p.x, p.y)), + (p: Point) => + animate((z, el) => { + const anchor: [number, number] = [el.clientWidth / 2, (el.clientHeight + CHROME_INSET.top - CHROME_INSET.bottom) / 2]; + select(el).transition().duration(duration()).call(z.translateTo, p.x, p.y, anchor); + }), [animate], ); From 4142c156a0c158a9ff3dac4dd342d1be3bdb6be8 Mon Sep 17 00:00:00 2001 From: Joseph Dale Banares Date: Tue, 29 Sep 2026 01:38:57 +0800 Subject: [PATCH 23/35] docs: add third-party notices and embed attribution in the viewer --- THIRD_PARTY_NOTICES.md | 147 +++++++++++++++++++ packages/viewer/index.html | 7 + packages/viewer/scripts/check-single-file.ts | 2 + 3 files changed, 156 insertions(+) create mode 100644 THIRD_PARTY_NOTICES.md diff --git a/THIRD_PARTY_NOTICES.md b/THIRD_PARTY_NOTICES.md new file mode 100644 index 0000000..49fc941 --- /dev/null +++ b/THIRD_PARTY_NOTICES.md @@ -0,0 +1,147 @@ +# Third-party notices + +stackmap is MIT-licensed (see [LICENSE](LICENSE)). It builds on the work below. + +## Shipped inside the viewer (every delivered HTML file, and `dist/viewer.html` in the npm package) + +| Component | Version | License | Copyright | +|---|---|---|---| +| React, React DOM, scheduler | 19.3.0 / 0.28.0 | MIT | Meta Platforms, Inc. and affiliates | +| d3-zoom, d3-selection, d3-transition, d3-dispatch, d3-drag, d3-interpolate, d3-color, d3-timer | 3.x | ISC | 2010–2022 Mike Bostock | +| d3-ease | 3.0.1 | BSD-3-Clause | 2010–2021 Mike Bostock; 2001 Robert Penner | +| lucide-react | 1.48.0 | ISC | 2026 Lucide Icons and Contributors | +| html-to-image | 1.11.13 | MIT | 2017–2025 W.Y. | +| Simple Icons (146 marks) | 16.x | CC0-1.0 | public domain dedication; marks remain trademarks of their owners | +| Geist, Geist Mono (Latin subset, via @fontsource-variable) | 5.3.0 | SIL OFL 1.1 | 2024 The Geist Project Authors — full license below | + +## Shipped inside the CLI bundle (`dist/cli.js`) + +| Component | Version | License | Copyright | +|---|---|---|---| +| zod | 4.6.5 | MIT | 2025 Colin McDonnell | + +## Runtime dependency (installed by npm, not bundled) + +| Component | Version | License | +|---|---|---| +| elkjs (Eclipse Layout Kernel) | 0.12.x | EPL-2.0 OR GPL-3.0-or-later — used unmodified as a separate package; source at https://github.com/kieler/elkjs | + +## Adapted documentation + +Parts of `skill/references/authoring-contract.md` are adapted from [archify](https://github.com/tt-a1i/archify), MIT, Copyright (c) 2026 tt-a1i (Archify), Copyright (c) 2025 Cocoon AI. The full notice is included in [LICENSE](LICENSE) and [skill/LICENSE](skill/LICENSE). + +## MIT license text (React, html-to-image, zod) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +## ISC license text (d3 modules, lucide) + +Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +## BSD-3-Clause (d3-ease) + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: (1) redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer; (2) redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution; (3) neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES ARE DISCLAIMED. + +## SIL Open Font License 1.1 (Geist, Geist Mono) + +``` +Copyright 2024 The Geist Project Authors (https://github.com/vercel/geist-font) Geist-Italic[wght].ttf: Copyright 2024 The Geist Project Authors (https://github.com/vercel/geist-font) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. +``` diff --git a/packages/viewer/index.html b/packages/viewer/index.html index 45e2e01..1c139c4 100644 --- a/packages/viewer/index.html +++ b/packages/viewer/index.html @@ -1,6 +1,13 @@ + stackmap diff --git a/packages/viewer/scripts/check-single-file.ts b/packages/viewer/scripts/check-single-file.ts index ef2883d..8aeadad 100644 --- a/packages/viewer/scripts/check-single-file.ts +++ b/packages/viewer/scripts/check-single-file.ts @@ -29,6 +29,8 @@ if (/sans500tnum/.test(html)) fail('Geist metrics table leaked into the viewer b // Samples and gallery fixtures are dev-server pages; the template renders only embedded data. if (/commerce-api-1|Boundary-text|Grouped tiers/.test(html)) fail('dev samples or gallery fixtures leaked into the template'); if (!html.includes('')) fail('template lacks the empty stackmap-data block'); +// Bundling strips licence comments, so the attribution lives in an HTML comment that must survive the build. +if (!html.includes('THIRD_PARTY_NOTICES.md') || !html.includes('SIL OFL 1.1')) fail('third-party notice comment missing from the template'); const kb = statSync(new URL('index.html', dist)).size / 1024; if (kb > BUDGET_KB) fail(`index.html is ${kb.toFixed(0)} KB, budget ${BUDGET_KB} KB`); From 9671a883d1658579449e2a63fd8ed0dc75323ceb Mon Sep 17 00:00:00 2001 From: Joseph Dale Banares Date: Tue, 29 Sep 2026 01:38:57 +0800 Subject: [PATCH 24/35] docs: add the README --- README.md | 97 +++++++++++++++++++++++++++++++++ assets/readme/viewer-dark.png | Bin 0 -> 129872 bytes assets/readme/viewer-light.png | Bin 0 -> 140042 bytes 3 files changed, 97 insertions(+) create mode 100644 README.md create mode 100644 assets/readme/viewer-dark.png create mode 100644 assets/readme/viewer-light.png diff --git a/README.md b/README.md new file mode 100644 index 0000000..b0ae2df --- /dev/null +++ b/README.md @@ -0,0 +1,97 @@ +# stackmap + +**Architecture and data-flow diagrams that your coding agent writes, delivered as one offline HTML file.** + +You ask your agent to diagram a codebase or a system. It writes a small typed JSON, `stackmap` validates it with repair hints the agent acts on, lays it out, and hands you a single self-contained viewer — pan and zoom, search, trace upstream and downstream, guided views, dark and light themes, PNG/SVG export. No server, no account, nothing to install to open it. + +

+ stackmap viewer in light mode: a Commerce API topology with the Orders database selected and its upstream traced; the inspector shows its details, connections and source evidence + The same diagram in dark mode +

+ +## Quick start + +Install the skill into your agent (Claude Code, Cursor, Codex and [others](https://github.com/vercel-labs/skills)): + +```bash +npx skills add hyamero/stackmap +``` + +Then ask: + +> Make an architecture diagram of this repository, backed by evidence from the code. + +The agent writes `.stackmap//diagram.json`, validates and repairs it, and delivers `.stackmap//diagram.html`. Open that file in any browser. To change the diagram, just ask again — the agent edits the JSON and re-delivers; the viewer itself is read-only. + +## The CLI + +The skill drives the CLI for you, but it works on its own too (Node ≥ 22.12): + +```bash +npx @hyamero/stackmap validate diagram.json [--json] # diagnostics with fixes; exit 1 on errors +npx @hyamero/stackmap deliver diagram.json [-o out.html] # validate → layout → one offline HTML file +npx @hyamero/stackmap serve diagram.json [--port 4400] # live viewer that reloads on every save +``` + +- **validate** reports every problem as `{ code, severity, subject, message, evidence, allowedFixes }` — schema errors, dangling references, group cycles, duplicate ids, orphans, and card text that wouldn't fit (measured with the real font). Exit codes: `0` ok, `1` the diagram has errors, `2` usage/IO/internal. +- **deliver** writes atomically and prints `delivered · sha256 · bytes`. The same input always gives byte-identical output. +- **serve** binds `127.0.0.1` only, keeps the last good version on screen when a save is invalid (the errors appear in a toast), and preserves the camera, selection and theme across reloads. + +## The diagram + +```json +{ + "$schema": "https://unpkg.com/@hyamero/stackmap@0.1.0/dist/stackmap.schema.json", + "kind": "architecture", + "title": "Bookshop", + "direction": "DOWN", + "groups": [{ "id": "data", "label": "Data tier" }], + "nodes": [ + { "id": "api", "type": "service", "card": { "title": "shop-api", "subtitle": "REST API" }, + "evidence": [{ "file": "services/api/src/server.ts", "line": 12 }] }, + { "id": "db", "type": "database", "group": "data", "card": { "title": "Orders DB", "subtitle": "PostgreSQL", "brand": "postgresql" } } + ], + "edges": [{ "id": "api-db", "from": "api", "to": "db" }], + "views": [{ "id": "state", "label": "State", "nodes": ["db"] }] +} +``` + +Nine node types set the colour (`client`, `gateway`, `service`, `database`, `cache`, `queue`, `storage`, `external`, `security`); cards can carry rows, stats, a footer and a link; `brand` adds one of 146 [Simple Icons](https://simpleicons.org) logos. There are no coordinates — [ELK](https://eclipse.dev/elk/) lays everything out. Full reference: [skill/references/schema.md](skill/references/schema.md); modelling guidance: [authoring contract](skill/references/authoring-contract.md). + +## The viewer + +- **Explore:** click a card for its details, connections and source evidence (linked to your repo when `source.url` is set). **Trace** keeps a node's upstream and downstream and dims the rest. +- **Find:** `/` searches titles, subtitles, ids and types; the **lens** dims node types you don't care about. +- **Guided views:** tabs the agent defines (“Checkout path”, “Data tier”) that dim everything else and fit the camera. +- **Share:** state lives in the URL hash (`#view=…&node=…&lens=…`); export PNG (1×/2×), copy PNG, or an SVG snapshot. +- **Keyboard:** Tab reaches the toolbar, then the canvas; arrows move between cards, Enter selects, Esc clears; with the canvas focused, arrows pan and `+`/`-`/`0` zoom. Honours reduced motion. + +## Development + +Bun workspaces monorepo; tests run on Node via Vitest and Playwright. + +```bash +bun install +bun run test && bun run typecheck && bun run build # unit tests, types, viewer template + CLI bundle +cd packages/viewer && bunx playwright test # viewer e2e (dev server) +cd packages/cli && bunx playwright test # delivered-file + live-serve e2e +``` + +| Package | What it does | +|---|---| +| `packages/core` | types, theme tokens, card metrics, headless text measurement (generated Geist metrics), samples | +| `packages/schema` | Zod schema → `stackmap.schema.json`, the validator and its diagnostics | +| `packages/layout` | ELK wrapper: diagram → absolute node/group/edge geometry | +| `packages/viewer` | React viewer, built into one self-contained HTML template | +| `packages/cli` | `@hyamero/stackmap`: validate · deliver · serve | +| `skill/` | the agent skill that `npx skills add` installs | + +Visual regression baselines are Linux-only and are checked in CI. Regenerate them with the CI workflow's *update-visual* run (it uploads them as an artifact), or locally with `bun run --filter @stackmap/viewer visual:update` (Playwright's Linux image in Docker). `bun run --filter @stackmap/viewer metrics:gen` regenerates the font metrics after a font change. + +## Credits + +stackmap is a successor to [archify](https://github.com/tt-a1i/archify) by tt-a1i, itself based on [Cocoon AI's architecture-diagram-generator](https://github.com/Cocoon-AI/architecture-diagram-generator) — it keeps archify's agent → JSON → validate → single-HTML model and repair-loop contract, with a new renderer and visual language. Layout by [Eclipse ELK](https://eclipse.dev/elk/) (elkjs, EPL-2.0), fonts [Geist](https://vercel.com/font) (OFL-1.1), logos [Simple Icons](https://simpleicons.org) (CC0). + +## License + +[MIT](LICENSE). Third-party components and their licenses: [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md). diff --git a/assets/readme/viewer-dark.png b/assets/readme/viewer-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..99a8569776d464fec9700495775c160bd36880f7 GIT binary patch literal 129872 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 z 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%0AOlE-8^>V)C9ELR)gUc0dVG#3AlwT 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

B1zZAONnM0ZWKqE_u*O&4Fe}`mTNS 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%0Ao>pzEvqy` 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

    1ugY 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

    _Yim1Wi2xnR7pg@8zhw^M-Ng$C*}V(&xHFh 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 sf0J80fP~Az!SUnCOYj~- Date: Tue, 29 Sep 2026 01:38:58 +0800 Subject: [PATCH 25/35] ci: add CI with e2e and visual regression --- .github/workflows/ci.yml | 70 ++++++++++++++++++++++++ packages/viewer/e2e/visual.spec.ts | 19 +++++++ packages/viewer/package.json | 3 +- packages/viewer/scripts/visual-update.sh | 12 ++++ 4 files changed, 103 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/ci.yml create mode 100644 packages/viewer/e2e/visual.spec.ts create mode 100755 packages/viewer/scripts/visual-update.sh diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..73f3944 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,70 @@ +name: CI + +on: + push: + branches: [main] + pull_request: + workflow_dispatch: + inputs: + update-visual: + description: Regenerate the visual baselines and upload them as an artifact + type: boolean + default: false + +concurrency: + group: ci-${{ github.ref }} + cancel-in-progress: true + +jobs: + check: + name: test · typecheck · build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: oven-sh/setup-bun@v2 + with: + bun-version: 1.3.14 + - uses: actions/setup-node@v4 + with: + node-version: 24 + - run: bun install --frozen-lockfile + - run: bun run test + - run: bun run typecheck + - run: bun run build + - name: CLI smoke (deliver is deterministic) + run: node packages/cli/scripts/smoke.mjs + + e2e: + name: e2e · visual + runs-on: ubuntu-latest + # The same image the visual baselines were generated in, so fonts rasterise identically. + container: mcr.microsoft.com/playwright:v1.63.0-noble + env: + HOME: /root + steps: + - uses: actions/checkout@v4 + - run: npm install -g bun@1.3.14 + - run: bun install --frozen-lockfile + - run: bun run build + - name: Viewer e2e and visual regression + working-directory: packages/viewer + run: bunx playwright test ${{ inputs.update-visual && '--update-snapshots=all' || '' }} + - name: Delivered-file and live-serve e2e + if: success() || failure() + working-directory: packages/cli + run: bunx playwright test + # Always: a missing baseline is written by Playwright, and this is how it gets back into the repo. + - name: Upload visual snapshots + if: always() + uses: actions/upload-artifact@v4 + with: + name: visual-baselines + path: packages/viewer/e2e/visual.spec.ts-snapshots/ + - name: Upload Playwright results on failure + if: failure() + uses: actions/upload-artifact@v4 + with: + name: playwright-results + path: | + packages/viewer/test-results/ + packages/cli/test-results/ diff --git a/packages/viewer/e2e/visual.spec.ts b/packages/viewer/e2e/visual.spec.ts new file mode 100644 index 0000000..832590f --- /dev/null +++ b/packages/viewer/e2e/visual.spec.ts @@ -0,0 +1,19 @@ +import { expect, test } from '@playwright/test'; + +// Pixel baselines for the look (M0 sign-off): font rasterisation differs per OS, so baselines exist for +// Linux only (CI, or `bun run visual:update`, which runs Playwright's Linux image in Docker). +test.skip(process.platform !== 'linux' && !process.env.VISUAL, 'visual baselines are Linux-only'); + +const PAGES = { sample: '/?page=sample', grouped: '/?page=grouped', gallery: '/?page=gallery' } as const; + +for (const theme of ['light', 'dark'] as const) { + for (const [name, url] of Object.entries(PAGES)) { + test(`${name} · ${theme}`, async ({ page }) => { + await page.emulateMedia({ colorScheme: theme, reducedMotion: 'reduce' }); + await page.goto(url); + await page.evaluate(() => document.fonts.ready); + await page.waitForTimeout(200); + await expect(page).toHaveScreenshot(`${name}-${theme}.png`, { maxDiffPixelRatio: 0.002 }); + }); + } +} diff --git a/packages/viewer/package.json b/packages/viewer/package.json index 080f734..130c889 100644 --- a/packages/viewer/package.json +++ b/packages/viewer/package.json @@ -9,7 +9,8 @@ "test": "vitest run", "typecheck": "tsc --noEmit", "e2e": "playwright test", - "metrics:gen": "bun scripts/gen-font-metrics.ts" + "metrics:gen": "bun scripts/gen-font-metrics.ts", + "visual:update": "sh scripts/visual-update.sh" }, "dependencies": { "@fontsource-variable/geist": "^5.3.0", diff --git a/packages/viewer/scripts/visual-update.sh b/packages/viewer/scripts/visual-update.sh new file mode 100755 index 0000000..c2dab6c --- /dev/null +++ b/packages/viewer/scripts/visual-update.sh @@ -0,0 +1,12 @@ +#!/bin/sh +# Regenerates the Linux visual baselines in Playwright's official image. The repo is copied into the +# container (so the host's node_modules are never touched) and only the PNGs are copied back. +set -eu +root="$(cd "$(dirname "$0")/../../.." && pwd)" +image="mcr.microsoft.com/playwright:v1.63.0-noble" +docker run --rm -v "$root:/src:ro" -v "$root/packages/viewer/e2e:/out" "$image" bash -euc ' + mkdir /work && cd /src && tar --exclude=node_modules --exclude=.git --exclude=docs --exclude=dist -cf - . | tar -xf - -C /work + cd /work && npm i -g bun@1.3.14 >/dev/null && bun install --frozen-lockfile >/dev/null + cd packages/viewer && VISUAL=1 bunx playwright test e2e/visual.spec.ts --update-snapshots=all "$@" + rm -rf /out/visual.spec.ts-snapshots && cp -r e2e/visual.spec.ts-snapshots /out/ +' -- "$@" From 573134c5671666d9d68d1f4603ffb6ec38013f76 Mon Sep 17 00:00:00 2001 From: Joseph Dale Banares Date: Tue, 29 Sep 2026 01:38:58 +0800 Subject: [PATCH 26/35] chore(cli): prepare @hyamero/stackmap for publishing --- packages/cli/.gitignore | 3 +++ packages/cli/package.json | 31 ++++++++++++++++++++++++++++--- packages/cli/scripts/prepack.mjs | 4 ++++ packages/cli/test/skill.test.ts | 7 +++++++ 4 files changed, 42 insertions(+), 3 deletions(-) create mode 100644 packages/cli/.gitignore create mode 100644 packages/cli/scripts/prepack.mjs diff --git a/packages/cli/.gitignore b/packages/cli/.gitignore new file mode 100644 index 0000000..d6376af --- /dev/null +++ b/packages/cli/.gitignore @@ -0,0 +1,3 @@ +README.md +LICENSE +THIRD_PARTY_NOTICES.md diff --git a/packages/cli/package.json b/packages/cli/package.json index 49c053b..a1fbb1d 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -2,23 +2,48 @@ "name": "@hyamero/stackmap", "version": "0.1.0", "description": "Validate agent-authored architecture diagrams and deliver them as one offline HTML viewer", + "keywords": [ + "architecture", + "diagram", + "agent", + "skill", + "claude", + "elk", + "offline", + "html", + "dataflow" + ], + "homepage": "https://github.com/hyamero/stackmap#readme", + "repository": { + "type": "git", + "url": "git+https://github.com/hyamero/stackmap.git", + "directory": "packages/cli" + }, + "bugs": "https://github.com/hyamero/stackmap/issues", "license": "MIT", "type": "module", "bin": { - "stackmap": "./dist/cli.js" + "stackmap": "dist/cli.js" }, "files": [ - "dist" + "dist", + "README.md", + "LICENSE", + "THIRD_PARTY_NOTICES.md" ], "engines": { "node": "^22.12.0 || >=24.0.0" }, + "publishConfig": { + "access": "public" + }, "scripts": { "build": "tsup && node scripts/copy-template.mjs", "test": "vitest run", "typecheck": "tsc --noEmit", "smoke": "bun run --filter @stackmap/viewer build && bun run build && node scripts/smoke.mjs", - "e2e": "bun run --filter @stackmap/viewer build && bun run build && playwright test" + "e2e": "bun run --filter @stackmap/viewer build && bun run build && playwright test", + "prepack": "bun run build && node scripts/prepack.mjs" }, "dependencies": { "elkjs": "^0.12.0" diff --git a/packages/cli/scripts/prepack.mjs b/packages/cli/scripts/prepack.mjs new file mode 100644 index 0000000..c829d1f --- /dev/null +++ b/packages/cli/scripts/prepack.mjs @@ -0,0 +1,4 @@ +// The npm tarball carries the repo's README, license and third-party notices (they live at the repo root). +import { copyFileSync } from 'node:fs'; + +for (const f of ['README.md', 'LICENSE', 'THIRD_PARTY_NOTICES.md']) copyFileSync(new URL(`../../../${f}`, import.meta.url), new URL(`../${f}`, import.meta.url)); diff --git a/packages/cli/test/skill.test.ts b/packages/cli/test/skill.test.ts index aaa708a..71b73f7 100644 --- a/packages/cli/test/skill.test.ts +++ b/packages/cli/test/skill.test.ts @@ -22,3 +22,10 @@ describe('skill ↔ CLI version', () => { expect(JSON.parse(skill(`examples/${f}`)).$schema, f).toBe(SCHEMA_ID); }); }); + +describe('package.json', () => { + it('declares bin paths the way npm publish accepts them (no "./" prefix, or npm drops the bin)', () => { + const { bin } = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8')) as { bin: Record }; + expect(bin).toEqual({ stackmap: 'dist/cli.js' }); + }); +}); From 66b58fdc0927411a36155911f24a178a6e170143 Mon Sep 17 00:00:00 2001 From: Joseph Dale Banares Date: Tue, 29 Sep 2026 01:45:31 +0800 Subject: [PATCH 27/35] fix(core): measure text for Linux's whole-pixel glyph advances too --- .github/workflows/ci.yml | 2 ++ packages/core/src/text-measure.ts | 23 +++++++++++---- packages/core/test/text-measure.test.ts | 36 ++++++++++++++++++------ packages/viewer/e2e/metrics.spec.ts | 37 +++++++++++++++---------- 4 files changed, 70 insertions(+), 28 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 73f3944..f967033 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,6 +19,7 @@ jobs: check: name: test · typecheck · build runs-on: ubuntu-latest + timeout-minutes: 15 steps: - uses: actions/checkout@v4 - uses: oven-sh/setup-bun@v2 @@ -37,6 +38,7 @@ jobs: e2e: name: e2e · visual runs-on: ubuntu-latest + timeout-minutes: 20 # The same image the visual baselines were generated in, so fonts rasterise identically. container: mcr.microsoft.com/playwright:v1.63.0-noble env: diff --git a/packages/core/src/text-measure.ts b/packages/core/src/text-measure.ts index 1806af0..9010dfe 100644 --- a/packages/core/src/text-measure.ts +++ b/packages/core/src/text-measure.ts @@ -9,19 +9,32 @@ const FALLBACK_EM = 1.1; const EMOJI_EM = 1.3; const EMOJI = /[\p{Extended_Pictographic}\p{Regional_Indicator}]/u; -/** Rendered width in CSS px, headless, with pair kerning. */ +/** + * Rendered width in CSS px, headless: the wider of how macOS/Windows Chromium lays the text out + * (fractional advances + pair kerning) and how Linux Chromium does (each advance snapped to whole + * pixels, no kerning — up to ~6% wider for small text). Card-fit must hold on both. + */ export function measureText(text: string, face: FontFace, sizePx: number): number { + const { exact, snapped } = textWidths(text, face, sizePx); + return Math.max(exact, snapped); +} + +/** Both platform models, for tests and diagnostics: `exact` (kerned, fractional) and Linux's `snapped`. */ +export function textWidths(text: string, face: FontFace, sizePx: number): { exact: number; snapped: number } { const advances: Record = FONT_METRICS.faces[face]; const kerning: Record = FONT_METRICS.kerning[face]; const em = FONT_METRICS.unitsPerEm; - let units = 0; + let exact = 0; + let snapped = 0; let prev = -1; for (const ch of text) { const cp = ch.codePointAt(0)!; - const advance = advances[cp] ?? (EMOJI.test(ch) ? EMOJI_EM : FALLBACK_EM) * em; + const advance = ((advances[cp] ?? (EMOJI.test(ch) ? EMOJI_EM : FALLBACK_EM) * em) * sizePx) / em; // Kerning pairs are ASCII-only, so the packed key never collides. - units += advance + (prev < 0 || prev > 0x7e ? 0 : (kerning[prev * 0x10000 + cp] ?? 0)); + const kern = prev < 0 || prev > 0x7e ? 0 : ((kerning[prev * 0x10000 + cp] ?? 0) * sizePx) / em; + exact += advance + kern; + snapped += Math.round(advance); prev = cp; } - return (units * sizePx) / em; + return { exact, snapped }; } diff --git a/packages/core/test/text-measure.test.ts b/packages/core/test/text-measure.test.ts index 894b022..c52efee 100644 --- a/packages/core/test/text-measure.test.ts +++ b/packages/core/test/text-measure.test.ts @@ -1,6 +1,8 @@ import { describe, expect, it } from 'vitest'; import { FONT_METRICS } from '../src/font-metrics.gen'; -import { measureText } from '../src/text-measure'; +import { measureText, textWidths } from '../src/text-measure'; + +const exact = (t: string, f: Parameters[1], size: number) => textWidths(t, f, size).exact; const { faces, kerning } = FONT_METRICS; @@ -16,11 +18,13 @@ describe('measureText', () => { it('applies the pair kerning between adjacent glyphs', () => { const av = kerning.sans400[65 * 0x10000 + 86]!; expect(av).toBeLessThan(0); - expect(measureText('AV', 'sans400', 1000)).toBeCloseTo(faces.sans400[65]! + faces.sans400[86]! + av, 6); + expect(exact('AV', 'sans400', 1000)).toBeCloseTo(faces.sans400[65]! + faces.sans400[86]! + av, 6); }); - it('scales linearly with size', () => { - expect(measureText('orders-svc', 'sans400', 24)).toBeCloseTo(2 * measureText('orders-svc', 'sans400', 12), 6); + it('the fractional model scales linearly with size; the Linux one snaps each glyph', () => { + expect(exact('orders-svc', 'sans400', 24)).toBeCloseTo(2 * exact('orders-svc', 'sans400', 12), 6); + expect(Number.isInteger(textWidths('orders-svc', 'sans400', 11.5).snapped)).toBe(true); + expect(measureText('orders-svc', 'sans400', 12)).toBe(Math.max(exact('orders-svc', 'sans400', 12), textWidths('orders-svc', 'sans400', 12).snapped)); }); it('measures mono text at a fixed 0.6em per glyph', () => { @@ -28,10 +32,24 @@ describe('measureText', () => { }); it('measures code points outside the table wide: 1.1em, emoji 1.3em, astral ones counted once', () => { - expect(measureText('数', 'sans400', 10)).toBeCloseTo(11, 6); - expect(measureText('🚀', 'sans400', 10)).toBeCloseTo(13, 6); - expect(measureText('✅', 'sans400', 10)).toBeCloseTo(13, 6); - expect(measureText('🇩🇪', 'sans400', 10)).toBeCloseTo(26, 6); - expect(measureText('a🚀', 'sans400', 10)).toBeCloseTo(13 + (faces.sans400[97]! * 10) / 1000, 6); + expect(exact('数', 'sans400', 10)).toBeCloseTo(11, 6); + expect(exact('🚀', 'sans400', 10)).toBeCloseTo(13, 6); + expect(exact('✅', 'sans400', 10)).toBeCloseTo(13, 6); + expect(exact('🇩🇪', 'sans400', 10)).toBeCloseTo(26, 6); + expect(exact('a🚀', 'sans400', 10)).toBeCloseTo(13 + (faces.sans400[97]! * 10) / 1000, 6); + }); + + // Linux Chromium snaps every glyph advance to whole pixels and skips kerning; these are the widths it + // rendered in CI (Playwright v1.63 image). The measure must never come in under either platform. + it.each([ + ['sans400', 11.5, 'Round robin', 67], + ['sans400', 12, 'commerce-api-1', 94], + ['sans400', 12, 'PostgreSQL cluster', 112], + ['sans400', 12, 'The quick brown fox jumps over the lazy dog', 250], + ['sans500', 13.5, 'commerce-api-1', 104], + ['sans500tnum', 15, 'The quick brown fox jumps over the lazy dog', 318], + ['sans500', 13, 'Primary shards', 92], + ] as const)('is never narrower than Linux rendering: %s %spx "%s"', (face, size, text, linux) => { + expect(measureText(text, face, size)).toBeGreaterThanOrEqual(linux - 0.25); }); }); diff --git a/packages/viewer/e2e/metrics.spec.ts b/packages/viewer/e2e/metrics.spec.ts index b2e0293..33eedfa 100644 --- a/packages/viewer/e2e/metrics.spec.ts +++ b/packages/viewer/e2e/metrics.spec.ts @@ -3,8 +3,10 @@ import { cardTextSlots, measureText, type FontFace } from '@stackmap/core'; import { boundaryNodes } from '../src/pages/boundary-nodes'; import { GALLERY_SECTIONS } from '../src/pages/gallery-nodes'; -// Browser ground truth for the headless card-fit measure (M1): the generated table must match what -// Chromium renders, including kerning, within a small conservative margin. +// Browser ground truth for the headless card-fit measure (M1). The measure is the wider of the macOS/ +// Windows layout (fractional, kerned) and the Linux one (whole-pixel advances, no kerning), so on any +// platform it may run up to ~6% wide but must never come in narrower than what Chromium renders. +const TOO_WIDE = (real: number) => real * 1.08 + 1; const CORPUS = [ 'commerce-api-1', 'API · Instance 1', @@ -50,29 +52,30 @@ test('headless text measure matches the browser within a conservative margin', a CORPUS.forEach((text, i) => { const ours = measureText(text, face, size); const real = browser[i]!; - // Never narrower than the browser (would hide an overflow), and never more than 2% + 0.5px wider. - if (ours < real - 0.25 || ours > real * 1.02 + 0.5) worst.push(`${face} ${size}px "${text}": ours ${ours.toFixed(2)} vs ${real.toFixed(2)}`); + // Never narrower than the browser (would hide an overflow), and never wildly wider. + if (ours < real - 0.25 || ours > TOO_WIDE(real)) worst.push(`${face} ${size}px "${text}": ours ${ours.toFixed(2)} vs ${real.toFixed(2)}`); }); } } expect(worst).toEqual([]); }); -test('a card slot truncates exactly when its measured text exceeds its budget', async ({ page }) => { +test('a card slot never truncates text the measure said fits, and the measure stays close', async ({ page }) => { await page.goto('/?page=gallery'); await page.evaluate(() => document.fonts.ready); const rendered = await page.$$eval('[data-testid="node-card"]', (cards) => Object.fromEntries( cards.map((card) => [ card.getAttribute('data-node-id')!, - [...card.querySelectorAll('span[title], div[title]')].map((el) => ({ - text: el.getAttribute('title')!, - truncated: el.scrollWidth > el.clientWidth, - })), + [...card.querySelectorAll('span[title], div[title]')].map((el) => { + const range = document.createRange(); + range.selectNodeContents(el); + return { text: el.getAttribute('title')!, truncated: el.scrollWidth > el.clientWidth, width: range.getBoundingClientRect().width }; + }), ]), ), ); - const mismatches: string[] = []; + const problems: string[] = []; let checked = 0; for (const [, nodes] of [...GALLERY_SECTIONS, ['Boundary', boundaryNodes()] as const]) { for (const node of nodes) { @@ -81,14 +84,20 @@ test('a card slot truncates exactly when its measured text exceeds its budget', expect(dom.map((d) => d.text), node.id).toEqual(slots.map((s) => s.text)); slots.forEach((slot, i) => { const width = measureText(slot.text, slot.face, slot.size); - if (Math.abs(width - slot.maxWidth) < 1) return; // scrollWidth is integer-rounded + const at = `${node.id}${slot.path}: measured ${width.toFixed(1)} / budget ${slot.maxWidth.toFixed(1)}`; checked++; - if (width > slot.maxWidth !== dom[i]!.truncated) - mismatches.push(`${node.id}${slot.path}: measured ${width.toFixed(1)} / budget ${slot.maxWidth.toFixed(1)}, truncated=${dom[i]!.truncated}`); + // The dangerous direction: validation passed it, the browser cut it off. + if (dom[i]!.truncated && width <= slot.maxWidth - 1) problems.push(`${at}, but truncated`); + // Untruncated text is fully laid out, so its range width is the real width. + if (!dom[i]!.truncated && width > TOO_WIDE(dom[i]!.width)) problems.push(`${at}, real ${dom[i]!.width.toFixed(1)}: too conservative`); + // Linux renders exactly the snapped model, so text measured over budget must truncate there; + // this is what catches a budget that is set too small. + if (process.platform === 'linux' && node.id === 'boundary-over' && width > slot.maxWidth + 1 && !dom[i]!.truncated) + problems.push(`${at}, but not truncated on Linux`); }); } } - expect(mismatches).toEqual([]); + expect(problems).toEqual([]); expect(checked).toBeGreaterThan(60); }); From 1b5186e979adc0329804051f42bfe585c08e63b7 Mon Sep 17 00:00:00 2001 From: Joseph Dale Banares Date: Tue, 29 Sep 2026 01:50:22 +0800 Subject: [PATCH 28/35] fix(core): allow a pixel of hinting in the Linux text model --- packages/core/src/text-measure.ts | 3 ++- packages/core/test/text-measure.test.ts | 5 ++++- packages/viewer/e2e/metrics.spec.ts | 6 +++--- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/core/src/text-measure.ts b/packages/core/src/text-measure.ts index 9010dfe..449ab5a 100644 --- a/packages/core/src/text-measure.ts +++ b/packages/core/src/text-measure.ts @@ -36,5 +36,6 @@ export function textWidths(text: string, face: FontFace, sizePx: number): { exac snapped += Math.round(advance); prev = cp; } - return { exact, snapped }; + // Hinting can push a glyph's snapped advance a pixel past rounding (CI saw "OpenShip Edge" at 83 for 82). + return { exact, snapped: snapped > 0 ? snapped + 1 : 0 }; } diff --git a/packages/core/test/text-measure.test.ts b/packages/core/test/text-measure.test.ts index c52efee..e409bb8 100644 --- a/packages/core/test/text-measure.test.ts +++ b/packages/core/test/text-measure.test.ts @@ -12,7 +12,7 @@ describe('measureText', () => { }); it('scales a glyph advance to the font size', () => { - expect(measureText('H', 'sans500', 10)).toBeCloseTo((faces.sans500[72]! * 10) / 1000, 6); + expect(exact('H', 'sans500', 10)).toBeCloseTo((faces.sans500[72]! * 10) / 1000, 6); }); it('applies the pair kerning between adjacent glyphs', () => { @@ -49,6 +49,9 @@ describe('measureText', () => { ['sans500', 13.5, 'commerce-api-1', 104], ['sans500tnum', 15, 'The quick brown fox jumps over the lazy dog', 318], ['sans500', 13, 'Primary shards', 92], + ['sans400', 11.5, 'OpenShip Edge', 83], + ['sans400', 11.5, 'Open cluster', 69], + ['sans500', 13, 'OpenShip Edge', 95], ] as const)('is never narrower than Linux rendering: %s %spx "%s"', (face, size, text, linux) => { expect(measureText(text, face, size)).toBeGreaterThanOrEqual(linux - 0.25); }); diff --git a/packages/viewer/e2e/metrics.spec.ts b/packages/viewer/e2e/metrics.spec.ts index 33eedfa..56166da 100644 --- a/packages/viewer/e2e/metrics.spec.ts +++ b/packages/viewer/e2e/metrics.spec.ts @@ -90,9 +90,9 @@ test('a card slot never truncates text the measure said fits, and the measure st if (dom[i]!.truncated && width <= slot.maxWidth - 1) problems.push(`${at}, but truncated`); // Untruncated text is fully laid out, so its range width is the real width. if (!dom[i]!.truncated && width > TOO_WIDE(dom[i]!.width)) problems.push(`${at}, real ${dom[i]!.width.toFixed(1)}: too conservative`); - // Linux renders exactly the snapped model, so text measured over budget must truncate there; - // this is what catches a budget that is set too small. - if (process.platform === 'linux' && node.id === 'boundary-over' && width > slot.maxWidth + 1 && !dom[i]!.truncated) + // Linux renders the snapped model to within ±2px (hinting), so text measured clearly over budget + // must truncate there; this is what catches a budget that is set too small. + if (process.platform === 'linux' && node.id === 'boundary-over' && width > slot.maxWidth + 4 && !dom[i]!.truncated) problems.push(`${at}, but not truncated on Linux`); }); } From 5391ebc0d256c4ba70e513f11114db83585f97be Mon Sep 17 00:00:00 2001 From: Joseph Dale Banares Date: Tue, 29 Sep 2026 01:54:58 +0800 Subject: [PATCH 29/35] test(viewer): add the Linux visual baselines --- .../gallery-dark-linux.png | Bin 0 -> 111346 bytes .../gallery-light-linux.png | Bin 0 -> 111051 bytes .../grouped-dark-linux.png | Bin 0 -> 93611 bytes .../grouped-light-linux.png | Bin 0 -> 107957 bytes .../sample-dark-linux.png | Bin 0 -> 113589 bytes .../sample-light-linux.png | Bin 0 -> 123042 bytes 6 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 packages/viewer/e2e/visual.spec.ts-snapshots/gallery-dark-linux.png create mode 100644 packages/viewer/e2e/visual.spec.ts-snapshots/gallery-light-linux.png create mode 100644 packages/viewer/e2e/visual.spec.ts-snapshots/grouped-dark-linux.png create mode 100644 packages/viewer/e2e/visual.spec.ts-snapshots/grouped-light-linux.png create mode 100644 packages/viewer/e2e/visual.spec.ts-snapshots/sample-dark-linux.png create mode 100644 packages/viewer/e2e/visual.spec.ts-snapshots/sample-light-linux.png diff --git a/packages/viewer/e2e/visual.spec.ts-snapshots/gallery-dark-linux.png b/packages/viewer/e2e/visual.spec.ts-snapshots/gallery-dark-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..92f1046e1000a5c5bdb708ef63e2a3790cc08b22 GIT binary patch literal 111346 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 literal 0 HcmV?d00001 diff --git a/packages/viewer/e2e/visual.spec.ts-snapshots/gallery-light-linux.png b/packages/viewer/e2e/visual.spec.ts-snapshots/gallery-light-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..04ed91b3e1aedbc8e0f9af9a86d373087f7e343a GIT binary patch literal 111051 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 z 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

    _uUWgoyG|?3rCv03vmDBP1q%8P^{2<-NXW!C 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 literal 0 HcmV?d00001 diff --git a/packages/viewer/e2e/visual.spec.ts-snapshots/grouped-dark-linux.png b/packages/viewer/e2e/visual.spec.ts-snapshots/grouped-dark-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..5f85f7bac6093fd759952c4f01b2f14bf8fed0cc GIT binary patch literal 93611 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�W3NaeBmpt+Qat%duVGYnJL3Xw3;nAu&`_%8euzzP^zF& zp;^I&YMuS@7f0O*2yz7^UzNR6Q&UF)gV!%4-Rx(nB{;TS(hY7ep*xz&B07T)8+ET) z!y^sj3nXZfNqEaH!U=Gw)@i@={jLFNpb-*AND=~frX0Zkp9&wI@Hp>sIH#C>l9Xcg z4NOe}*c~2tCvGDxT!{27GP9ZZ+Pn_orf|Wc18z;O7nfrK`VX5XnggBk+ThuWxun)f z)k?FmAT>Pn0GdBvdlPT)@ZvZukTdlifQhO0zQ}<=8xBrBPG5ggiLR(L0n) z`TM~`Q(xme%KJhT90c_ET)2|3(d`dTWu{H*oM3bphJWtkWEJH#dZ;*H`az&MR9xJ- zM;-HxWP*ne4A|=G>had7%Xqv8YqcVwr_c+h)U)fe>}?#p{iY_s1WyRUxoNhETQg&I zVuf{g2g-!LlxNGXIJvk;9NMzVtXqr&a92?PV${}%>@=LlHukoId_suQR>AZ0wNb^R z&4?x0>Sz8)lfZIC9i%syxTiJt!azbEi4z4lmt?UiJe=ia(dJ*I?bjLUR+^DI_OT#g zQ>cl5z{ojmx=v7KW46Q`GVO*xnWk>MWpmNEs-)cBdL<_KQ);VF4dl0WP!ZF?ibb;o zsQ`JXY)VoI$J>{ZWz`Q1$*Sdx!wBxuU%q?+#1l!Dmu`oZa%aUv0sN>%zweb;mveZf zW)Ko+T)DzYDJPi1eRpnr+`z**$Pj{ba+D0TK|)z)F8$*A#Gd}Nr2^-G7;67esR;nR z7>-JI+_4`336M^c7OQ6sV}7o|$4I!F?k8(p-% zyOf@{R^yf-wRAxw0NoNOz5o%`EKY%J+kXA}@NAPopdZiSgEpWX=Z-*}^Y^Q9+GiK< z|ME2y8*t{&|C6mUeox$i?WkmEG?^DF7QCF2%Bx0$iE4`qT+Z`9KrnTF!U(%0CM8X@ z%NXZNf+<%?A-Vs1Z!pdCF$04@V3vuIlq($gTpap;7q>nhEp8U$ul%QN3=WD81Z^+NafegdqNa9j)(rk;)6s$ zf^?^aV5o9;ozN*2z^4<~#sI!$flr2;Gmzqt89FrS1aum-0O&K2BzXR9jQii|jx=Zy z<3V%0_)JGZC4|I5taNsoBgUJYV*KvtgT6$f;LZ-+q>U{PaVN|@!5_G~HYs~TXCFx* z+Jia(_}XDsiS@>Tv=DlDFVI}@667B6w`5WXKNacgU-|zoC+$3EPGTX0Um0}iX!-1p_b-NPv z<%TOekN116|GVk{q#XNlgsU-KlDNBA^$MIxE6l;^rmDLC`o^}xoG^W^OXYbX-QrrW z{@SFKUK4j0^=Jmx0A&LQ9RrJwl+IkKN_2k@hwpiTceRCw z`R>@kQh)a@mR#ZfHQT)gkNkH%+lovWi7F>A6TJsIomU!5Miw8zn>swKqm17%I|yHNWctFC2|7 zUXa(ft8jF^kV3CTj@FYWz;gcBn5)YpGi%lVjHz4hKB^ey2)$=#=kZhl-k;|qqoa}B zcjR7kD!OIc6f%TG%OTbaFe~Ch#1Lg7^P4I}Qk$I4>*bmAf_B8zoOWBS?M9a^70YSe{7z+8p$njo zh(bxQ)NXM<4_zdQ+A-@YjKEG~C0snoqy0Q`gAqs2@O3+ky5i5tq*-@o-R^m^O)HI@ zZk_Y)uMXsrR}f5a3B}GZWq!WYTMS$-bIVF4GPNe?dqThxu2Qh8v&8hDe%3ISF1Rd#co{8B~b0l-jA zGZbQ&S*bk_M~Cuw^Y*Z@mKu~oBxOnn>r)Hr^n(e5EPAgUUomr^`lZlHi{b80EJ=mw zw%~98FhM} zbA4pkR@+WkA>7j==c!T`Z6r_DD#Ok`|IQa@B9w}6%rN+;it8$D@Pp1X(DwI@wbF@t zoxB#qwB}}qtI+SI7HCB5<8h@u)Tg1K<)@-|V|J{rPkes{Zhs)Ns&$1V2({MT`gLqm zh3Y6N-|9a)ooM_XFnaoPV!Lqkz3aRAIf*!lJkCF>#FYQ@S`tUF`c3-%?QDO;aE&7d zi>e;~$zwgCm*ZJwpH^hG+0Nu<;PrLdQ>4Pvb>S_ig9Sx@dnsa8T)HF4hz+3-lR3}( zV##7Mzt0mRBp!>E1Lo$^0Z#bzGcx0zu)J0V!^2W4-3cjKmJ4YcaPvr$;s1O}|KkO5 z_j_bovE&&O;p|KP5zFM9#7fO{Abwk7Wq78uG8(wZ^Kx3YSX83~FB$7pSkDX}a(AL} z-*!%;zRNr_P|hyS{)pSf=yB}g;M1~ZvAj6LERV}d^RZ`Rsf5b%mY!LD*5~Kv+kmHY zQ|asYXhrxn^m12dclacU96CbJDaxqqlhvOD7Q=$IGI4ShpS%0P6$Ju;gYxT_=Ls>f zr)%u$T}Tmlc#L0J$OXV}yBUlj!4vSJj;D?>-fb;S=5t3L&OliQ_SrG@Ia@RUzDVj2 z`0RXk6tvP|S+BjW^Z(HG)p1dMU%Lnhq7s5MNQ1P5bO}g@bPCc8F?2J8(j5W<(j^Vj zjihvpLppS)bPaG1`2D{3_rCYO=MO(h3*xof}D%_L(JG~=XK|_W- z@+_k1thUMXuYS_?hP%sdRw+n?kCSMYd4hbtk3@QF!jPwWP#KiMjKVmv*IyoYDIV(* zCII445ZYB|d~MbaC-X8HkEkqLaqpjeik!^cY^;uQw^228a!gY$Aypg1+dtbrun) zFz~Iw{sF@aBAq=hRo^WLrcx#r4l%I~K#A!;jlvyX`FLlJ!|QMb*w(0}e4{Ei`+*Ct zVBZuzyYu&FA)B)qzA?V34i}dRRs>b!&wG2Bt3=n(g1UP{LUmJo$2gY?q~c=UA8`N6 z1yq7>{M$nBgPz=RAw?hi)#FdL=1DfbHpi!lFgP0xe?9o-M_Xu4x4uVmwa2TdQy8*y zT+_dr7Fh76Wi}tkMdb&7#ZA+f(^m)F>=`8I~VH^GdeK}%) zi`Bej@OF#(OnF2of6}`}Pon(+D)NInKu!omVqWuzbmxRDRiLV#Ew2Vml0Ge5+&bo1 ztOf~;_9+5+YTT)m;*+?l6iD(s@99&I4sxoNm;Kc?0x3b+gB;f&T8C{F>hw2ZhR` zu_nFUT0i^IEd0|HFKy`=&WHW1AvjP^6i^E8pmWlIS@JRwEu~z|$($un2lTYQIzpAz(V9 zTg9>|{fQrKc)X()-?x`!cw0mvVl4bKxOkM?)7|;t4Zmh!U|_?CdrUU@jELylyJ~Vo zhZHaIWvn(!S(!OB2Nj9zpEPcwi>bZLpRQTqkHzeY>@3Mv1_U+UJtJ8mrzZJe%8{#i z23qmp@A~mHXvCheCo#vu*f_;OMCfo#jllZ zT3=m>9K=Iu0_F@F=!)8Q6A-#81Fb>+Sv0+YPm&kx^Ed3*-s0m4IJoKx8ERyeG6|dw zh>0$j7k#;k`xsG;)TZj1vowy4FM%8U(rNg%h+$!inug}!`5i8#^Q!M}VbWR-TQ+;uMEv5qsFdTJuN_;%ZBdy+6Fu#9lrR zk@UtgBr;{pT;6susv;2Lle{?6Fy;OIQH-)(r6aijBk`_<10O)@ev0RG<#qcFI7aOM zHf@-&X64hK!?#cy>@%A>*0DF2u?edLY*@rR;WR82j1${Nf<@tS5+*dzgU#mQQEk^D z%}z`c6X_qMo3}rA!7ra0w*Mi@YA^PXgE;x4L9y&|AJu;X0&6n5uO2Ke(27*R$r4?h z1}M=zds5o=y%h(fQ~uT%NSTpy-eF-}<#swZsLl(Fqf~b#ThMP70J?vTtCZ7*VQ?Vq@Z0nRr7 z+7g_tV9`z>4J4CyO4!+ObK|fTgbujBBGUs!T?WycNaVE6ai2;RH1=^@CQMeN zUi$f?pj&a1{N*d|8ghOJ@1($!XU+j(wSY2}t1CAI`N*)xSKg2bqO>?m^YjPjAY~E<2yrX1+TnYt8qn1eh9z%C*|q&>F| zF?qOv=(<$DjRR60ZBY8_isgMN`;{kj3zHbPn8C~FxY|QDXqlKH_ou(u{&EPe#n7qX zX374xuD(z<^ zJ0nN-h%ZmetWCd+jL!!QwQB85XSCMrBdsaLx_M|ws9~G(h5$5N6fT&AXBceL56H5* z!~v1;A@WXhVq6EdOF@fn2_wCXNK&7IQ42r9>*&@@yNpy~^IHZSp!)|bMSboE{!vf# zi`(||Tt;~}rg*KAWL{Ovn)+8lE^~+#9I6K!8YnrcH|uBYWdL<{6#d2gY$C#AnzC z+Z=D~P1G2-_ABh$Z%c%3L;Y%r}Qy6-D=)PiLVdZ(6z%MvI&n8DBRJPe!jbEIo z7==x^Iq)4D4B2+tt7-x~!&Ii*p&naD+t8%_(pFEnw*#ngh}TA8#+vJx2|+5lJr6fG-+dNg4sB`-PAylb ztD}tOfb;H3(d(Fua^6v|t0G-v8*0U_D(qWA67E0lt*Y;>g`AZZ85W*J&tVs?-&oVW znDLC>PU(r;KH-jsIZb04?`1Cm*&`}Vrb%vfJik|8js;o2u!D2keEqzeXw+bB;^rii z+zR<@4~0kaO@1$wC{Y5M9JmXag$(I5_;ciRlgLIjzxDmx|8>`T(srcqdDPb?*HuW0 zaPfLxo*mzCTJzF$00MTTMb6GXpe@30g!ta#I9C0dRI^KKPe1i$Y9_5eH^Ht{mR#Fi zJUdz`iqHW=i;RL|_y|K@2^Y$n{bj}8kwb61bq2rCC8@p_%> zC>HJ)_1ZFFb=oR@F8 z9(2;%Hru?_^xYev42t>FbrKu7`K7)%d1;ot^pR`6=?WV1ssb^IAM)^SLN(N=e~K!} z{2X7gTy)s`XZw|gO%J*iiCx^OXg)E}u9*U3d|wkR9l`I>(= zJZ9ccR!l=a;G_3W9m-ei7VYC&W7&wqdBVCvOea!{VSFZnKAP2BDARkM^+rQmYLctVWIP$#s){vA+2A0Pb6K5 z-R3qn?2Q~l=)IhR>{kz0&h5=qxwXD?8G@5Z5fm%nx^nT7Y z+A+uVvH`OgkS+Q{YPzP8q8yV?OZ8L2su)mrzJ_++L^%LOXvQ9 z^qAwGH8sz)%LJTuK&@Nxb_W0--HVkG(N#V*cfmbqcFfRrq&SxB=g;-LGW`SsTTjl% zystoGGa7~Y&ge9co*#X_nC4eSSq!2Zk;fu*#F)%1*hdaLrsEh@2-5%D=xl%sVTe$g zbzdlE4bN`qdY2f_N~oNg)RkZ=&y*0i!wEiY22nTAwf(@?EuMHDdhDLB|FzZ|Oms*( zO1QX$*-lWs@F8?g@6n?_(UIgqpJQ_V`q}0AX;iMa>k}k3gHW(97&hLJ6 zT-&hp{ZneKd3YjtV7PB!*qsr9m`&xRMRQuCF&sYP7)1mH5dke;RF^vAE!Mw~1`+j_ zXb8R?%xg&8DbEv%jTX8>JtX}QZTI`5#_j&?wZkGjJ98}D@WOXHo!B=x9NTg684iw^ zr>ecZy%}AjtACR*QG{Bjoa(r+R=EKtHull!i}rOVj8Q`ZG!(@c*sos+39_q)#kui- zeyn)y0zAZ-D0l4rKKfL>;M;%L`&?4$Pv|V^xB_fF8Lc8}>NU&tC6X$$p%)GQV+Ui@ zE!?-p1JXrb@`IdK<23PR2VXu94#r5p1?Hr)xzTPhew4TOc0S{}mhjc-Tf{h0!Qs7# z$CHi^zb-JmQ`Vm(4eTDOsROOk7V5nlz5$M&GB(pd79bz;Z8lJI8(mT|0A8=+vM3HN zFpmxo9~j#G%>q2v*K*~we7{L~ZRRGFC!^L9$hDh{ub(kqsbl!j@KOEn-^RHUiSnu% zk3PUfg35rp`y>z*RaMt{h)HjRtbiL^@b%7L%!6efW6qKq^9JdXs5{as2(76bsN4Y{T^)i{e-xbB_|CnPm{(s>`T8SCHL|jdPgkw2 ztS)EwCPZk->~;ak@6jxn_)a;5b3*uRkT&dM&QU8K@}jq^2nnUQ3%$5HjE#-`2c~x3 zDJS}|n#FX$7XZM?dn}lFLUWvG{ckeD2h5@U2X`9V2J3$zN=v{Swh;DD=if}VJLUZ0 zd-cq^&!0d4O+EOJH(_94{ELYJeHTe9;J?J5yVwo*$QIzO_h%P)`2U`%#r0rqaq-8i z)7j|%O7dscxXam(!c3h2;;z&R&;#kfp;bp;+oH>BIxNnBhE?5ei@AU)7BD z!&!Sbr%hr3Mgfpu>v=~~#*YBa?G|=|?!t+skeEOBru_+^qyXUk1cn=K40tiH7(2~% zfRcBv13(X2o6C08$%Diiezcg($cQ1t>FSgu<--{&@`Qa zLYMuSu}MjQw`A7>#dZ-*syF;3E?gD!!3HRT@?DoDK9jJ62e1w!)l=WAWbF?FrIm>? z8asF?Kev{(QVFJAxF)ZBzMc*kJDLQiGpP5!MgwY0P%kB9%r(32mVLzKQ^XXb z^6O}-4vGaqi)nO=sFqu}@4U6u_p=<8a-p`P=>+2Z&ku(TOLW`Jp`M+G2~D&Usze=s zet8@*(XibZT@#_34J&DGu{-&SL21b;a13sFHvz zP0N?^=RK0)C{n}kn+`>W(qTvALHu^{*Yh-w5-1LuTuv8U&$)50ogB+q`Kb` zRH>ftc-_j#3y?v7rxo2_jmB?)=sE6eV6;H)D0`aQD-Ir$=h=<_<4 ztGU5vk`U*k*@FY?{0IUHp%0~hLLJ#gxa&cAs%#^_n;Q}J+BEB7aRpu5$~IHYyiIX9 zeY3xFm9-Q@3C!eH;iQP?nQlP1_u+1(ZK31j{9a!VbM7^1{#7aTz*I zocy|EFIRBWvHR8zn{`czpH4is-*j$KWo+Y@Da>zH=p!X&TO!WYe7sGE&PyRPR}H## zXrN^2O(thHS&VZ`eh(M{8tI4yj+g!S0oL%jbmg%FpG8ZA%CuBJkamcEyFkVM%0 zGOYBXBX_mfKn`;m2++;OhV%L`4i0#4Nz-mBQHOZjhwkq)#ZJub9~ss0CN;WLsX&x) zB<;79HeOgxJYnf{vq*wzTia2y6w%8y#-l2yT(k~M`Sc_*wiVp6H_G!5A8*Qc)abUW zKjWq4hm5Vfx@5CCY`#KH;9pFCJi$?<8*=B4_ve}1nM$0bdY3AL>u zE_-jS^4fDn(>X2s4`Bz^*y+BhnmXw%9=pTgB%f+#(uL2@6YIFN%4fWV(kve5BDQPL zX-PgUF65VvZEM*K7|0eBhM(GKC-|e0jRpbGr(nGs=qN?l#+jloeECDV0H{TSr|};N z1l5P<=6A;N|FYIZNST}s02P8glV^VYGR=ut_0Oy=H-FD%Lz1u?WBEWg0p1N1oQ6$K z&az2#<_~-)#|3N{AG{PB<)`%72r;mD;^Oui{sI#*bYzt4_&6zY{EF^ln?dbwVsq%(h&?A;j!zOY z+S>l?G9*mO%eXn9C;EoJubp9wH5@Gb(b|&M&JtMRUF{~CU7$)8T;ckK#jrD8)oUm?VwlswQZ!g z2SVZl3fG$Y&cYkf3NV%^AEoj=>!8Q_xH|zfQ+0$^JjgWs0SDb}(gpu=#CPP-2PCY2 z7XLe5Eb~J6p9O}KGwyyRM6&+h0fF;vveW&Gt{VjKq!I8M<@C7jmFC|z-{vEKMY29J`(^gOub}Jnw%v4A1)#wL&OG1 zQ{@46@L#;@Fqjo`6qo&i*k4ku1hCJ3GT{C0fdqKa9b||bS(>zpY{VVs0k3}?5bA%B zsg8ihlmuPhPB)RZ(+^+yEJWwVJJ-_c)tc%Npqaj!S|EJ%C7_4)f%vB*v}z2{%qYEL zW9?=esk8NFV_+HU^u#EycHOwG;-yqAZLT#Xw*xM+#}5n)`UkUqm^=g@20CPFZTe~r zl*Vr>A4XN0ZJMT;wRnpTeDl8C+$(^#-0Y>Vzgu`DFDVHN${XmeYSnGzNsGn92~jGL zuYuV{@co{n2hYehyLBq@KTDcjnUnkAf=3%<0W^YM@PvAxqql64YH@gX1dw2ddd!6K z)dfZ-|Beo)XEI_PVjllato-7#Q?Ta}T^>wF88b04p{@s~7v_IsEMvTf9B}zo29c+T zdqhZu7*{%gu{J<^wg{?-ko*qvOR=%iQ&~j{lDv&kf5$yez#XR-Qt+BNUTV*EtK9UV zS7b@Rad0#={F0E*Kkbs<`fcB;c%1zwVX^m(Y1v~B42Mf$6p?6Up_*QU$AKN-x?s#s zP3mrF)IkF(0n!`eN8>$PJt%j-AyL9I<5m3L(W@+EHtp(5b)R=bUPzaZD8{|t?d}=T zDoG5Z8xVsZp`ibx%i9ZYP7P=x%2&L6(WIMg|Qv1h|VWTb~u3ooour$xJaWfH$&mbmVTVJbz#~K;k zO4T#HGQGvKZ8f%bT({DDebpM#cD_HWcbNsZM&${+;v}2guhC9Y+XU@@$S#pTCPT{l z)Ap&8RF?fIHFaEo5b^1yx6j9dCWfaB>$n)#PFan>sd2Qrs1GOQaPnGSCWH^(rqgYOI>%|5uu8T^X~Z%V2?xe!m?j)7ZZ{? zsw<3e#NhyAM)|xgGfjHj>BGZL^FA(aP_k76Q)t0paU8;!=`jsBU*U=0O{Bp0%4xf$blw#P^x*G6)8N7EVFpy+=G*wxs zWq-)zgduw83N~T&iRDl1AyDmU>q4SeX@bJTY~=K6puAQgcDuN(Y8{5Xy*&@FJIb;~ zLHWT>E^xX?B@pD&ZP|^C?2w||3|Yv7?AP-1#S!I~wo{Q1@F)x}C)$Z{c+>ZC<)JF- zefzA+YFlX^iDha`&#ah0Z$^jck!46@GlLx}6cV}V=25391(%|ZW0BIR%Y`Dvct*UZ;$`uDo=ek-a2dpUngp^7Ked_H41 zb=n`VHF8ubsVnrOOL!nIxUw&`#G`z|hr$?-*l7WA_D}^f)oq|=?I=P+}>n-Igc9hD= zwl#L^&2VUDt0*s(A|=Qv?P$tZ-0jGuPcI zJ!{AKHHNyBDE!${HdPsY+ZwO*X+sOT?-qvN3{JEw4U`m$!eIDioyvROm5CF|DQhFscllXZ73Uf4P9C13$mcVVtTI^-KFS=OMa=eJ}R~q+{H|_v@QR&yytf^lF8& zOD{Glw#ZR&C47BFYjF>1Ti(u0H3dfg*a|9@oFXDadGduvmdv#&{2TYoHn=zj6vq4* zqtxchj)viUZC;Ufxk_J%(5GMhp9M+{z@^(2=vcQqL&1hNFB;W8)rSuFxKKJ6Zo>_7 zCavX}Tq)-GIIXl=UX-d+zRto1*0BJq><)$6#%E&IWOyxk4F|(DTp>O~X$dn~q6u6~ z{ZE3y9|qYAUs)zxgzq=sE-Idt=@`F!$<6Yz`QnG-865l$R|W}acyh-r;P9rD)XFx$ z9<;T!uK31OB*&fcR82#u_PVeXb~z23pKi#@-rZ!~)|&rreC=jE6XdyBp|?{Fb||H! z<|@&xD^nF!DaLDpgF!P#may!wu;N?R+2dLB->nZAF&^GsYa<`!v$q-xF(LH28XBwC zVWqcc#{-E=3A|guOjmWHH*VNkFU>B2ZkF3L;Zm?YGso*CSU1ykk)7zpDya%o8R)5Xkts)mEds79Y@Nt0^>H@Iv#ReLFF0*E zEDjDELr2f0cQ$y06Gr(EOCWBPJUnroc+Fzu_ax%Q`V${$egJBD^v~*UYr+9m3r?Ag zX2hP^1-fC&4W#bGJHDp;&rWb;{_OjFY=iUNeL+puvU;8H_Xfxt`}+*{10I!9hR9m{ zoz%Y`N!)ss!$px&7I0B9t6g<{HM6U1>vcL>yZ8WN8=O9Uy5f@~A$3aOwIC>XR{Fhh zh12@It*}m;*-@C{tlMtMRI7{fZerF{KBTEu6#796AC1E8=!U#0yw1+&((2C>WiULP zluryN*$msqb{X0A{G@YUPfB3^d}N-ifow!s{f$2glijm2ysv)X_V zkqy41=sKUpuQkg*yL-Z0-V60+>b&E~&?Z?^CkhE1)OpXpJY+7Q&K5tgDgn`nJkQPa zPkZ0-MbK?86p!I9nXxOfAZns*>es3LMe{0`<7S4mV585xeHqMr{Ya;-W-r<9w~m^D z&eugA%#&t^QfAEMoBgtK;;m>2b1U$xF^7jtl%}_56jQf&kV*q{D=xH4c*Xv_BcSBu zaKXIK%2JAbr&7;+Zv7#mV}vB?iEHM}QD!dw2w#~CqC8oa*|g@ zzdn+-yLKq_nQOe@y`4{XQ-}hKn7sNt`08d-?e@?jM=!tajIe29F1OUyirx@%c*g!k zpVI>ces)sx`WWALmr&F_k6?EU_i4%<{_djE9X`KlqKK7sOeLA)dPoYkEvrH!2J^n= z#cN&8|AC20Srhubs;W43vextDXkHO~I8$5hJkck^+V@vvjXzQyjX|}Uj zpPQR-=gc9{IzkP$jZTZh{Wq&1qn=?cRz99yssGz`!;J=I-E73Y@_-zf z5&Is=09fXyGmpw5w4FYYL#W$G&YRMflTmF(a@BUZPjH=;RCs0XVt}-XjSupogCghG z$~Jeub+?>m;fD~(!ZhLDSAvGDx3p5lUu=ZcvehlVXDG09$um;DS_PW)hL@sJFt(={==pyF&zyf10Q#-IG2W=|04sENiuZQ$*^+cJ>{jGt(=2lF zi;!C#%7*p?q{(BX)K=&ljMVb_o}Kaf?)4DUF@a{%-VSt8AIw4Rjwn9S7H^bAGKZfu zHZb#+G|5U25GNmLsSjx}t(P>P)OLq!g3rf!UzF(A+q^W_RDt!N?-z|KW%K+n2f;uz z51+r^w57B9ef9c;3`;t!9PB+#&)5cBGje_;jMX{95A>uS=>zjK9{Pr8e+;Ddll)!o z?)@{bmbnTevR(|_P77Uc5*k|Yj5q!IK|q@WC2Tx>oSx}d=H!VT#a>gLsmI&7uToC4 zD$wK*k+QVHnr4k7BL?X&r*voP1TU>wwB{Z3Zx()T7m&vxRx@rDLJvl6uUxM4XQe>W0N=Yt*hmAo&Si99u{2TN-Don$V=p7Yd*Q;Pnd%=mkHb6 zjOV?*rXU(}n(#hNr_S${3aL!SxfsOHxE?fq?NB{|xIj5ot4oSYq>xG5juSR|24Z1Y)y?$Fk6$Grh&P!bweGL~S@fGSpt zF)W4KVt-*uo*Fmd_v}C+7c$2~`64;a@^ULj39Xs>SZhWJJ4b(OW@G8p*knUhA*e^; zEQIy4F&gU{WGCv<+_}4at{>?i!bkR!=$^NfL~;Yd3hH0*Xq2yN!!muj=hruHhRKgv zw>@%}=e#B~_+&_|`3;hAHz8uBX+N7fv{^mQ%RntP|A3|P~Y}_wibxBC=&OZkSxsw&B8gZg-80GH*KB-GMiUH6S z*r?mMb-Q$AKL-~1W|;LD1y(;mK~}FoS(f!T&J&Y-w}A90&=(J1WeVLOL{h1IVAW-S zPE~3!L}G%a*@t3%^|#2dGQwTo8*!xk!!F?dDv*$#-ED-QAEjq^?6*GEt+4lmcWu+h zNSabh{b5V}$7ALfa%V&Au)h>4(Uzj5leP4a-$>>AA2DHQe`d6Nl2SgliVX5s!!HH9 z5r1#=pHn=q{IV~w^oJkz-5I%%fmhM?^!Qm8t8R4&Fc!dJ2i07_36*?`*NTo)sLmww zG);4gOQWx1l%pe`y!J>&1O!FO8c*!&sH<3r=NXdzR(&xj3;eO1U1laLP#pZ=GUPWvi>pjio6GUT)U zQw7}U{&x+hSwPGRuP@S%&L4_-br-BEMR>v9PESvpGHn7q(_wN*xOf?m3rnsqgAeMU zd&IOc$V9R3`PAzr+uuWaITEGfHFO$|YbLR9eVPr*MR#&MfV)!tB9#LK3npkmQ(ohB z$DR;7JN8iVw_~hl7Py03RKd0hI6 zB9VAPv=WlGRZ~i;rBzyQrn8zBEdtX=oSzP9kRaoDJ#W94e7wCWE%huJ69vWhrZmf;_+T8(T!DTXuM(?MlWeX6?qx zW)F@f@@);LRV)hfVj=~7Ybr0AqIaz*SGRdYZ#K5fJdKNrJv=A(u7}u!=Vg8qA&cAJ zMYZif&A09u+&H59xpAweE_D>*y)G=lS_Lo;0U-{&(zpk+2&FbH$!61{G$D^W?ojM^ zy+yalo8a*7rKX}*vhVFw(9h4UcZX_hbNaEs@{m%M*23&}HS@T~T$eR^8Nc&xumOFbN4zEGswe9HQvFDUOjdC#Jr33GzkeW&P z%;m2{4NvG|i_46(oA7lpYj=K&*BnQ1aafhI)6q4#Qr8y*VBb|vwdmO(h+;9~LP$?#ayOBn(h z{F5{{4e2>Is#n&tcJr}L-3~1kJhg3{q3qUZbLyQ7T1;iz8M-p~Ry=oloOMD@AKzz8 zPO<@>Ycp{>I2}@+1ZVl4yl(lkGSM;wu8XjveGp<`KK;pXwx04&$W(A!U4(P%K}H+D zV=~Qw{O7bZ#r!y>f-2ooR7wt6THM%2BVrF8SaRzmB*+_j?NW}oM}@CLfT}(1$52ad z^D2))u{Ph1VfbG>TbCsHCWGs2SXo$Kz=9tF*+PtI&EK|c%2}gkB!QlGdm3}b6*0I9 zOQp{t`k+c1f`Phqh11UOCGe8v3@zX3q@gs9?6TK^4fj$S_sIay%QW;}* zwt_=Oup3IiL}x=6R3`}Yz!Sb12GFT`H2o$t3Dm2HPac5dmrm(Bv@ z4?-|J7ZQLbTJDhmg+)Lc#4sp(#{x^u2vO1jBrsA>XUiFq(ed$dNRW}?6E)U%)nIFD z8en*Uv7+LBkMgLzsY#HF%c(Dp&OQ6FLRws098jwS`jO-w-T3`n#KJ-{U?B*f-95eV zCMG5Z+OvIg_VeQ=!7R0|uB)51;rR=<;&Jx@mbeQ$X<+s23jcASLHYjPUb?7nt8QsN zI{}-%jG=bv#L|*+siwR<)!Vmk0ZB=#Og~xB4Gh!>(b7u#@!<=H2^ysM1CelQ-h(Rh zq3oKtuV2Y7v)kG-q5^_2pFSNWkux%)N+WwOygrz`eBf@%NlcES)jKacc>8weKi9lDp6rhao6X0Rmd_p3jTmYg!UN(u# z#mh5{^ofn7brFCMCUbdtd7;P(kVWn6?A#55jWqCr$F#Bxiqfkmo*+$UEL7d&(ZW$< z9C8_pBy}cCTG=)%aumf-pEm;NmbK1h<9(6CJU~~ASMr;=y$rHP1s9__awZ#X+zA>a_NfNSyuVLritUn$g<;;+_EV`m^skA>2d6F8=b^F z!>{?=^nE{l&xoB3fH8~YVE%{bqTQaP{Pc|#U3fl;STBy#3t$}V6wWg0Va^F$T{ zcJEZpRLFAVfPu&A>$@*VJTr-V(ER9&Kb3%Dj@{S*?QuUQ@MwvZi=-&z=R*FPw1L<8 zQ3Bh|-@`8;82N8WE?`j>dj4-IM9M`)J%0&W+|cgD0=8Hg)X*&G<5?q&jL$KyEYK(i zIT_LcTOeE#&jZ3FEJ7q3I@Hk6&T5ac8ErUf=no}+EGSSqYBKyxkWbwC6PZecUp$_b z5VB8Ag^_q}EE$$Tj5#I|N`B0n+wWvBn zR3ueQiTuzzt}tVSu!<;MZ&o{>bpeYKYn^uS0Vp^!v~!i9m^2ZXzS{5@*C`^FIvKqf zqK`1vRkwbm7}Zhq|L@IZwckJZzz|^A&0GRwA@kaxJPG)(SWz6PzgSa?0C%}^W(F-j z6^ZtdRN)vWR@Knkr5C^^iB!4Z*s$t&S5DJUvesL6PfMgtEF($DFqI7(vF1BMcKt29 zcU^rI``WTM5vH5e%{B>+)r;Ce05EB*IFh%$(O)Nz4zz=7Gz36{M}udibF)|7tB zQ~o-U>?2@>Md}KHZuSqVySUsBM~piG`!An^nx-N@VCPg#{ z-s#;=H&A`#>n67%P0;(t*Nqgw7PIwK9H2m_+-$D$dkw1z%4ZSh62(dQ{R$_+hUX{4 zEiSIRjpR+dja$2P#r>>Jw`+u_O>HMrMPcHl#ig#dd*p)FL3@bN&+~0&1Nj;Qk7au+ zJ5P$_c5iwqd=p!wx z<3NW-U0pd~#3&y?7P;Qufurn^a`wm9I$lR!S6dp`JDx@(YV*?oerD$-_c^WeA|1@X zp7;E)ofTEv5?!uay;Mo4IHRGLff(jIyD255a7Tbl4wjW|4eer{QLEu=S*B#nox*Ro zN)T79yt9Vqdp$0x=|Z%6H6BhiZ|Ip@eXq)f@DqjgCg2xSQE1oSabbTX%`R({g&G<< z8i9U9?BH3G!rzDC3=^13J{PsRbI?E^wTb){6=<*hZx25br+i@9d%%MA5??NT@h1d1n8j)10z5q+$_ z_9=kMCJh4Bv4@8TP*6}zj4K+SD#_IfK(W~ZlfM8xBKdNH`LWFE1ymNvT^ zZ40*}!>597oH$y)m(HYm;-HgKQdVRfnLVti?>aduRtGaJzr3tv)#&z&l#^Nkyf5@x zqs8>D@vB<}Ap?*a4i@s%+Fawa#Yh@Fd)T%HDrNHB>c$Ac#S`_$NA4WS37Ljw+k#gV>pNS|6z!qu^zY z#N^-%mF%#%IK!r)Qp*-Erx#l1>3l`j8yJ-Z3Vsg`luP}SDlcSmo~syi6^{7~Pi4m0 zU-jkl>Yo~#wWG$B<9Wt|-(>j2ZRz4%Tu6nP-WaQT7YzC)ui(Yod+|Qd;w3{l3SF%F z-802+vahJKBWV|SQ(_K_KDB|09Blw8XS}7V+&fn%P>qCWE&O7uh@8$H0zp=J{iZ(g zGNxZYcZXa@7#>`1?eF|n)vkgJOms@st*z~j2xU>fDDGQP#ZR&{#jNhh8Yd*&Mxm*g z-A&9Fo_%p8OD-_y_nE`?VN^wM?E@p;93hjAJ!_Ai(XWAWviGrVIw)A!j;c~Ib$tbw zd)Hl0=8zBdCq#q(7EXS8wQjJC!% zE9&pVGs0fH*H%YmX$dC;+2!Ageo~%rPuUigzZSmP$RWk%-7lmG+)kf5aDhFUpE$bus>PXQfqBdx-}+TBf&AtoRTqJ zX>q(uxK}%K-Mg~wy60s!UtGTD)BavhS<_~^Sr>*FTsHJ@%y?U-GL60K<7lV0K(n`Y zE$BLFMFDB7-80>t+kgIIw#J0Lh!iJw@H=|l&7WZ3vkTH{{(%=abJ%USC-@!?H)NVB zuC6@Ea)8!v)y|d^0cai728X3Q2*Iot>9i9{$Vuu3Qv0No0==Pc$*n(lFL# zA^`4oF`-{+xh4D$owmc6m>oB^8!wqh_U$-o1TU}f-?3gQVm0L`L{LwDGHON-&BX+vpGqpnH)OTkiu z01{~@_{Ni;KxY=XS5d7kBxFd!r-NG0JSKBKVu+RL2;z83b59y!mbq(h5DDOB zsV*hEPJOl%o8o7*nK4>74J%L#&_g=U9dc?=9EGv=fJ|IygjARC;`;#>`nO!(cm)TC z0sK6dc0m()fHi~Yo*r7Vcj@GKm9YwZefoAYFYva{u38N2rd~xYqlPYWu>zopCn$f& z!tq5kgUwSw{f^HB9ew@!4)`Y?qp|UT82=7B$p|I_r)WHoCH)sl;W`5!Yd=MlE^P*& zsCVao-N;D)D_ZQp_ZG% z`c;E$31H2@_tbLwG^T{)Zv2^qb@|n-KJDJWXKI%Rfi^Es&H#hq<&0I$-t5_7p;|$Q zuYv}my*7 zSc>WADX!C|5sYI!lR(*63D5;UlodQJ)|;v}X=?;@XUA}u;35|&~@~DVD`V$#YOI}r?90F!}E<3P^<3x9GznRWPqY%n9>y3ULn1; zcAkj0)(4G4(V~r>$?0FVtkUOdynv~%ELuONVaKkc0fwALM{VhOTF*Y#($E^TuOYuY z!JAFDC2ACvcq>|WQmKI-sH>&7djl7Aogl&xL;bpjXGifWokh2@Hh>n*ne(q{2&aeK z;foWH0`Zp%aPt<}u&>lcY$}&iE%w!PClqVFR|CE43jw5C6D@dzVk$3zbw4lIpu7m) zaJ3tKyRV0BBm8Tu_Uu3-TvO;YTej&mlz~@E`^;wcxZBo?B|*>UpiAIW1c9`AH-5@m zK^^35K3bPZ!$G6+I?xuo#0!xewIoeZ{^Iewg!wkxfuU2v)+PsdJ_B~2rtO@N5Rsqg ze}i}%pZ-4nlo204Cda#P<2l;)q0G7p+3$`-L89$0eM(`r0@c=Tu=3iyDUep7Rh@5} zt4%rCKe&v+tySBaF4rTeM1C64r-o&!ES zU~J9@gliYbz@;wQs4}lPuUYQ^wYok>4uFH}xOY9OtyJE2!)_C8FL$T^2q)t}PTX9< zg_d5P1DCM6675@f3Xc%a!#Ik&c*-qEa zsyAE+`hz+3*?40?>P*w4m@iIh=vhns)yLb^ySLM4&icz=Fs(Vz1pNyPqy*R`U_C|R z0w0SrIw52+CI1G)k8%nNFNS!rBPnkBnag>2Gca#GE+X(}Phqf(lD5nFqtpS7qQgi% z3ih)3mg4;BnP$6QuA%N|yZ6$?gcFx7Ua3zqrhIpPLeI8mPxq(Z7ekIWXBy*cyxP>< zZ6>2yhJ?~z1BMg0uR<$$y;bY9<#KBe{ddiYX?Nlf^YiuS}ojhL@P}1ooD{G!_I=_?o z+F-I=-gh9B5ET`rp;-oK4t{=q9UYz0($ZtYMpmFcG`CnW%%I+$ij|d>m-lQuPyT7= zsC#_h%Gs60;1?sFRN)ucG{_(kRj((p^J$w}5oFba!|6dj@@;d++b_{_EhxIs5Fr z*0h0Fyr8{*Ph80ay-diRPh`^3QZ`Ew=?a|QDWt%!X zI1JB`NhEd-lj=Im=x;bFD4-@QQ$?HEnU1{&Hhn_N*gh8XiNX=nv2WXJojLn9>|0nS zGx``P0L{ZVX0Y{|a|HOfSkc&^@X9WF5(gl+&)`etb^>^Ew=1(zuOsI>0bdKbC1?If zAL~7hX6AOewDJ%B8KUrj!O>FFvGvpqq0>x)oV*t?mYk>0&57oy9_HjQ0 z)#A^ajqvONfDkL@8ErjG1{V{G@16Vne$8T&PRp*)X+7uNvEi+{_p6AG)4 zo4D*+@JEQ?BmE1!6qoByfiULnvUcHT?-o`7?GWfS3Qs}iW^UJaybNQ?GB17)Zb?~L z^;#PN&3RF19VmyQy6cU^@3=0hzbGobKbZ5gEqo@Xof~F?2fmb%8t`BKv+9M z#CjgEvd{K5?7T(z@z0$`L`GLh*R9e#z;P3lg03h_E(oFU1 zl1)&^Ws>+EpM$a$fdzeix+%))+Im2C)vl8x)!HJ1ZHj=>#%u`%vS~D(rMtTK+6BYv~`7i6OQuyfP&>deSOy8K8l{t>qQ~a(Tvs{~UBAOuxTk3!!Nl@Dqxk z@hch)B=|~FfL`kZ5Bb|rKgi_>ffT>O9cEQ_xS}ACUT#SV@;w4jZvDbC0Wt&R!X>hR zOI^*4KlJMt2m*&;!6@^A2&n+f7WnrKcmxELcl*j_ zuPr^lrjmo)a0GWH@qo6gjbIiLqbu2%3hdnl&)s%I@@L*8&qq5+7!8SB*7i>)}C)s)DaxOIZop^}neiSbFxX9Scd8v|%N4AfN zIQ9Ng`*HHnObu`H;qLrUiy8A1?S%MCP$uY!aP(%h0ZM;iUu#tKs`LO$9=mUOG$WMi ze)%YsbaEeEZh1&0@XUF)&c5F=lZdFw-Cg0F}cQQIKI~EJ3xIuPWYv%7WxgB3fgrsi`^DpqmqtY!^iE956-hcHH9O zrq`I?>Fd#S0t*-SRlqtgA(GddR%^O&EQ#TDC-?rjI(uMGM&Hm6sm~4g&2yP5I*_T; z;SufEpDm)cykxQ8iLu(vGR5fShrfJ;hilI6Uv`m|kX?{!NhBp#2HeL`5dSDO4Gm)R zF?P&K;^oyGrN3`7)AujWKx6{{Ij@SKK@n)0U9=boUu;Il#sI?Lqw?jOXK|oLJr`gX z!s9sM{bI8v{u`J*Ju@={+$Dxk5q;LgE<{8*gLLcd^P7bQEhx~~yFaaB?HT_4Czmt8 zRw=hU3CO?s#m+$8ChsApKyNvS9WJ03_+7wL)eoerq5!=M(O6W;%+MUD)%H0ZGUw&xxfsh+A z&O9`s8Or|3InHnEhl5`*8W_%6kuI zY>%gF)Q`s_eY`07KA+-s$5+G9*{rpjJ^6|_x)FD)4`)u2rO&meKN*v^+Tv*6btcn~ zV&3fRgd(dXnj_(iU=j&`_@5pD3MkMZAL^UKb*RDRc2O8jZA}V7z3Mlf0OkUgw*l#sBNIxUAJoo+ZV@~fY)Vh+n?`ps081N&`qGQXuzo>8_)BOy2%AAJo ze1+v0X3c(?qSbW=>Mo+heSVRwr*XX7W3@CgcT?hq5i2JCr1@+$O@{>*F6JVHM7kRuti$x z@@2P2o#7P9_x;${u60$#!~mQ)m5AIt#Vv6B)edMg(95ai%A!V=HmS&~d#rb~2yO&Sb$$ZBu z70@aqeByIGA1+~i;o54Wj&pH;v(2e&JMO;dJwIBxIgvYHTIY9?PDB!NbpQbnnd%ssLY;G>gH%us-s*Zx`-C-)7Bc7D<|WVkky>{c z(!8IXG5um?o&=vp8nAgmP|=NGT7t=h%JDF(LdBi{KtHW;t93mtM-o3Xd#YjGay@tjN7nNZ*~8pm9k^Fk9G<9^Uu+GGAROqi&ZFIVL9o z6Q1d5e5CH!1}esFrFboe_>~9Ov)Fws`kKgq!2H0VZt`$Rth%^x39%Ef@`fs@{Y7oh z=6Q|#@4VDhkB&LX2uw{Zj@Zf7lN()tN`vfY_npuQUB3A!Q*<{;Kp#OW1^Y!;b)`W4RW&`rx$)I-}k0| z*0kud9ZYHd^f(=>Qr{|V%EnBYtFM_}X5F7rE%Vq-DR_RlKl32vGfy{rDX4i~or7F- z$Ph1uVV=wBTjhDUutA;zG=zcrvur#M;E@H5+x+9>L#4`nu8^A-!bBB&EhUy3zmS?e zuiW~?HgO)W6NzJ2uLG&TdwUj4(GHx+<3UDRAn{-fb~=q(ej?Hn>Z-z_-P2l*o7Bn3 zH6De2ZE&h;l3VqlVzu6c8|>hjmiUhP?gyegDZ$6cGWknFwyE7^djV^1wV97*24_bx zDR6GwS|ziR5o#^m(%U&ksrikHo_%|({)3L1QX5oQAE=e&IfNchUEJ^I55#FmfNU-R zxFGB>{YMJe`_epdxt&y#^SvtEVTvbB(41hjov3n3}m9qWi~6rsK02(|7mueyUEcpEJiM zq!db_Q!py`P)_2Ny+Y{DU@TOLAGlD%(#iQ~S*ep*&(>I;UQC8qK{03o*ns!v8j}%lKtisV z0r-q2z6e1xG8;ZzI4L?~Z+mOgD^QE%UA&9w#2^}HkE|mRc*O9+;Uf6%4ekV_n&1b- zOJ(h8zrFx91-~MZYf#Y8rh=*JEV?3_e8A%F?jeq%*_HE!43pj1M<_{J&rx&7;n3%h zay$U)Y10Kd>{H}y<2t8VP>b|BWhcwh8)m(-C}nZ2lpc0i4J~VU7Hy~?dpFZ(iU}Ak zx;<+RY=ADto5UAV{AU53kyk0VNA9FJRGx8~^~adOf|3}AEQ>Vy)k^bh zI?apL3|Iip4wU;(b;%W*Tsk>PElp}Uw^fNst9h7@6|q9h&?aW^b@fm5K;b|0EI=Wx zuR-1vNqk-@n+l3|?T70`pNTq$^S)F3-ulVwRXP7!KSXc=r!?+Io!w_|Gc&apx z1W|2ui6G=j-O2Fc={E)i!KdV4pUsUAt^WQ*LR9{ql6d{o`*iX){G6`7z67(hy-^e$3@l$(G=1QR8Oj-;?X?7%Ye{j584q90RRf)QlVVnhor0Be?q#zsqq{Qq#478y`JsnK@%U!YGkWtMX6W<3qoQP5h!5W85^}*bJF_;O;AMc}L zqUl=TKGRB+)RqU^)uGkF_}K|1bZBwsluEOpRqPDTN{T7$Ct6R$ixG-siw)7KF^Nt% zT#c(`B>!^AkhFV`5GY0y!GJP|YM}WeZvzcOU5U>@-|v1ck)>-!>-IX#5HBTv2oodU zAhWcT!RIv_-cCN_k2lTOC}x1W>MCScxSb zz3!{j=O(vB1ZH0r``|_*W8(zzPT+02tmD8+o=vp!1d5el; zb=UKF>+^8vRWCQHH>tFy;eP$8Z~v2TrnK6_u&md|@rzO2Nx#Fp!Zq?m_pG?ifWZV6 zp_}c^#hCkj1vVr1T>`C+?Og{TP(e*6e!7v%cvtx-G_f|L1(wW_ZbcHC(V5 z%^%Tp$QP~#pd}Y%kqa!Z7a;S*FwynhS!3pVIF|Li3U0e-?Zt*)DR-|t#OwPd+I(|N z?{t5~hg4HX!r>Q$Z3j+JC?vA;_)w=Mp}*sKyDOym@ZLjQWXw9{?l>{ms{L6w`wncA zOl4f%T=vZ4!*y}$<5j$?%ZGGVa76NuzUAi!wuZ+ecjl3ebxfu1E%14;W^N>3!9j^zK_#PwnwMWc=P-s=a_}yLE$Id^n{XM1Oer)N4g<7oF7Y z_h9Q->o+9CQ(W-;6E+n#Q9Fx6$zn%7o}<=B&%WWauE_-dw-i@}1p9nMZd;QXw4Ptz@J&*q@gp?)I=!=i}I#b@=(l(mUGYFV=-| zxz^(nBZ!-4xSV&|J*t{u^iba}R=kQG#Kj2CKS5y2xy+|(u1$A$KLpQr zrCf*U-#lJwb3IDPO5&^V>lGIjg#vc~6hhQHI7p@-4#?q(l%PQ3W(RY1m~pT4)ciX+0b5?HOK28&P1NkL=l;rs+R4u!H(?SZ!E&5!)N>0(+%kJ{Z?*~xVB8IzId#>LiMSa5JJ z(Bgkw1&P`IWt_!okWo9v{tD26w);nXyeU(>V5L-8(+KC&o*pGZ8qc(WzytfRtKzjd zrSzhHT2)eMh!pfKZqRwM(YAPZWh&#-2Qs%y{b&RDy4j1zqmo&SXcNN=<6T+SjQTeU zkPZR_T7?jZa&LA32G|IorAUmz!` zp+sUXA}2S#^$*dk&m2}Z3|~{wu#}3%s9YAxIw{7@V)(%}96VZsY@W5Tr$}d~?%#S} z(~tyyAVFFGlT+j^_tfAqWl1Z_jK3{lqZL;O-FN@JdeU?|N|{0|hv9Ma9c7a=(Y0#u zWbn)7Y_jf(Y87kWa%p<=DD=qDfv-AW!^cjEE<}Po=gDUMH8v#h`#C#N>=wZY705dS zB2d6p3)^@hC>z91*FTc}m$)1@y>@SUolK>mR~Bcq{>rKD^EYo(W<;SJbWT!E+PD17 z$Zvf9oJ=cJmI=%Q+!iyD>hl19&~{2m6*)X(Q#Urn+{9&wyy=L1#8YE1E}_Re_R*L( zV{9b&z@mi~dCp!4!#0WQD(7-4@sQ%3r6a+#Lq#oW7hTzhzM#8JJPxzLZVdOGigC8w zq~vqag{!!R@P6Po)H2tYGh_sR(KwuC5MHD^=U$PO(eCD+OpgNyu_tgIe4t3 znW2>~bPKxrWU-^bLMzs&6a0LH+RUA7%SFz85Z>z(rNLuW(#3MYS3)k9pVYN``r6jiC!F>0y5Q$znyPj6 z_eYQW*Qu9vq-;2AXC$!?1h$oINhZ#>wadYBNdqPZK^Qa?HYw)KHG9f z7s(0gzOllM_0WT3--)B$p=zZ3j;48S^X}bi)ISf9ei||Wk_G8VD+;%-ZhX~B-E7-E zci~74fTp}r>;Ilu&|LXzqK)x_xq4wRCgr3YW<4ax)aA6%oG}U5vhG`p1}DQf0$fe_ zy>doex_Y^cBWU#8?~`Lve3kj^vcCLsIH_fKnIXYMNu3pw+R^)#n#oyo$!7|A!Hm`PmaN`zV^lha{4BKc_zJj%^|t1Cn|9UfYX zY0t+)4SfFAyifbt$;kqkT2Iiq=zhj_?Q8)nc3kF)-`0p}zj9@Mrm_@P88s zw*CYg7!)4Vi0^r6qw`K&l?dfbd`RH>-cykcxcoYZe=t`sSXgY=2y_B7~QX(80k2VutH9@ge>}T;y{E-=J z`-1XOQj^>Wrc5TdL^^w9;bFf}s|kRoC{y^pE)!3(w?G>R*`mn)>`&7B$-mCljBRXw zNMSSz3qcbt+kMR>v9OM0lvL;EJ`Jq-i@%pZHYwCM;l@AudOzI+q#EZS zihI)?rq<^ew3I_N4;eQ^Fd9U*u4S8A<^{B>|ea*O5VB@9dki0{n)Ut()lA(X0|H>wi``0QKt?M z6IBj18bq*pc(A3s(H$LcdUiIxdSQpJwk`IX`86-E;}Dd(vDbV-Q30}lD0}Vb?bSRnKJ>m>mt8; zW%WiMajy~a_wfy^U%v-Dq*|{%YwO`&oRM+*zS&yUqKW;T^xa0TDtH zzCYoet55Vs?^;4`X4(X*CN}u)Kt_>GM=&;_u+d&P*XroYpA8EC0J52^t*^gXYSAkT z>HsI<(mn&dL&LxTSd=L}$1G}A?$YgW`Z?{!N->-hmzuqhj_9lz;ktx=3dG=8jJ!6! z7H9ZZLyUNmWRy203=zM6-#Z;Mq((wQZeBf zgtqcAn==$^zz8WuV%IS5)Udi5wmUKbcO`@h@J2i$>J~boEX}jdtsA77dC6{9E$gJB z>b#{k23vP^X_;c8G@Te3hIgmwUz;RhG0@R->(bL>@o;%cCf)`G1^w0tkB^(3rIk6% zH8s`>wKO$@<9*l_LBAso5iBsoWd&zHCKR>l+7;8@z$tch%dZzg-_9<(SFa&h&&S8yrMnJ9mn3@4q`D^nix-J zNQ}Ih&LyOPq&Mje=sGe0x8rSyb=3^J@@>oGjj0ZMq_WH7W|J|+oGx$xkrE%B==MvBda3R90a z##S}q9eo8D1nw7EopQ!AEh2{cKJMRgB@bLm&8`&h*WMu9)4B8!xSM3nOjtQl#bTO7 ze@D$|qGl$;KG;$8`>MPklkiZUlRa%q3n!xK`bg}IoVBD_qT+J9l8}?i)k1@GQsgrb z6i%5hnSYq7UbE?oaZxWmJ7r5;QlXX1gtJEtod}P8>KM0lO8$c%HU7#iR7#Cw1h*-$ zY#NspC#T8ugX+F@3YQfEN2-9$UuMpiym@iR7Wd08N3u+X%huG!-F5ZO4oi-VIGyGW zA!vCR9Ud@+^M}}0cRr^tGgn%;KeuK^swmrTKh6ln+!Al9U#mvniP`kLmk9PLg()DY zd#o;x*%X!0^J$vR%y^!da(lijvN^2k;COD4Twc~Qr!raF{n6$`XCQCHBZ8SmpZ6xG z#xEy}#%(FQcL)qmbU$wgnDLn2k*!gTnN5|v2+K$hMA}ba-xU2KfLzN2G zxrn9+iB1+Smb3&vr%qZv&VGw1N2lhy4A5OX)H2f@H_NI{yLr=QgIJ)%Sta48!NVH? z?WSC;SP+=SVH5Vkn9FggPT|W^n!-BGK&aI53d?Q~JR%J9xM^~XT#iiyoCr&cD7*i@ zSs!LXTtr1u{f&VC^xhH~FY`}Ns>=FRomXlx8q_xI1LQb(m-DCHm}+ljt14?!P0I6P zVXr6l1&pIe`!V$Ax{D^QZeHG?leBmtA#}OLoW!5C>o4JcU*_oNz^hDaVR$oO{F?vg zkQT3c@%B``@0-=At+iHsNr9<4wAJajw7&hTxF?>?F$g4FR8tfCkeHY_Hty&P`lg_w zf|ZJs`gxXemGDbg<}{^j1G|(se_{GgO2;5E?DxdFg^SLaSll2{RvIP>_5L%B2@CEM zrQPv_7n_xFnrpy7FO5=XY&=nwi*H!NX=rt+iYILeare} zBbS5MR;?Tdf}n@NnooZ>EVf@0yluv|qk^sqsbup+u8nb5IFD=%+E(RET{O-_aqjG? z-H|n(g@`YU(^~W6e0bknyY{;+L;?kFcpk}Xsf0r;qNJhMjizov@bi-=+kAX`A3!OL z4r;oW2fDlM!o!un+8m%P#q`g*R*?1>~|4o#I zDNE!^v^fS$3InG*KF-;E`WKn~(RCPjPJGMh8Q8-Tcy4^hE#fo8t9tWc6vr=LSiFvu zH0`;PJ>!>eL~Wq)K5d0*+^1zU&gZGu&oP_{IF5{hZ3QwS>Nul&e0eOMa8?rNS z`IvmA>(n)QmYtpTY>Q@Ze`mhCTNc|AKaFp5 z-(-F%84(jBk{uzRhl`6#0{ZcDxC)wphB}qUEvDzUxQ?Exs#%#zM7gug9~Wc_&#WLJ zu4{B{PL4l_-we=Qg;nMiN@Us9eV$`^9d+94f~s8U>Tw=~W2K?$(dT{{7^_vhdvb-V ziD9IB&QoAr_%pA(+xcS2oV*`@kbJO6#bfgXcg)S2?YgsZcZ=ywTkk99qMt4up%ruF zS}y0r6@8+2R^&Ofw`U%g3*d?*lf4r}+3}$|Lwlt;PxEy!DVx$7XTOF(2kz$f%|#1; zdN-zlqR)X2f$5eKFugl*N7fN0LGsK|b#$}j=jHcA%-DW8P7C1;Znu*{%S>TMO{VkB z*=1hWgg#;vz`iX5~URu4P32U@CiwRUBmX%9=Y#xv3a8{(zdEKDf2^-U{g zu9MRB2M(KY;cS|cOk2t(@T}XroBLhlGaueaYTD}#i^D$36(_b87K4du z3YyXzsn6VHX#bSBHLf4LFysC^Km$aQ_aPVqfL{r=w@nc+>2eEh1Aeu~&}mAQbbFkQ zh(|<_p!8@u&mW)km7px8XJ$eJIuQttWpuY%BRDrLusFJV{skj^MCZ2)j9I7AL20OG z6Gz5yKDK|+B=%Xo?65PoubMP&j3>Tw5Q$mxcgKVQ)MPAJ>`%2}(53Ne6Q*Uy)HjII zzP4(vK0K3}#dO1z9EsE1H*oYV&5pU)=o+Qr{txiWIjzC|aHg()<+=NVnBdJB^|w^`=4({5QSL4V8t^ru96)LT zQiYt{qjuZ5XzDkIL(d2)Tz$L#(cWYiMaqH1kRT~$zn=3DMD`d!gP`UA`13#_K%B=P zokLbu89KTlH0Yc6-?Hli&C~EaVFU`AJ}@7WcbbHx=_$7C*X#l2tkN9IUWrYF72-fs9QaZyX+KEX(8GXvwNU1#3L+?O_beZ6h=jH`$+#Ka=}&HS8n5XjpOB zf_+V*tDO)O7`Q|~)#k3K9qs-41=TqxgGfxw$W`(^{-KH8`+3|;r{1zT%1E@?hEV@X zR9naA-ikii^FUb-5S5X?iQgW)Kbz5pZ(Gqbo;MfmXQm1+kMN+MCkye%S9O=!n zSWSctjsE}>A78%$MXEb)A45ZVO>(vK>noAvMQ*skcd3A(H~9Q!oQ^wa&p=|TPt65q z43J$zquNwoe}iAQ2c zplAg*s}c%|5sm~ki%Gm&jZ5hq%)h-0iWnM&2q4u2ZVEsGM~aasTYq22-Iv|~6Zz?? zGTlsQEdDZNuE@VBW>U&|{}#_kzS7R}S&yBw)^Tr-O=+Jl0-|DMC#ryGYYrnbu&UdG zgf%}ZDyD4!&B*Gyc`S(^?9QJS;_cf`ib}PKZ5?pb1p&N~!>2HA zl~3809A>&zYJT{Yx!cV~yGJ!hF{fAI{>e$BAG51i@au}37%vhz8wHw{Oa!t~Xn4p@ zcW@!C4r@iJ8frjA8Qt5`A^;Ed(kEdxc=-45h zo|oP%;&tq}*H%$y6iuZ?rGC|CoqWjQQ6GuGI!rlO;J(zSU8_1&e$zp1O}k9TS~Xjz zgL;w|j6t7L(wC;JdS@l+#-@HT4I9ImDC21R6SbSdV~IMopr4d?J!!qBIF4o5Vdnj3 zO;IujMD!Pz(~+CEeh2vI%+sX7=N_Tt(&gp1%{GTY>26#v1~BQl#C{|Ny6$x+!fsd~ z@^A?LKDDls^El`hO_o{QqA9-3);!od)*kktO~GcHAJfE^>>QF`pL4^%z6*ki>9*@r znzOJ;;+b7XF;>=iZ2a2q#8yy}Tgb3wKfb*^-dIynwsD=Fiwf7T$uxh!vBcx-zQx3bm%%UOSjXB~;{L4k4#h-nNXcFr_F~W4 z7R9gy%yd3nvDJm&#ZXwCmK(6Ha=sVQ+Y2SSFAyA?yN&a`9y66k55Im3OotF*pJBJx zJzW~9&-BVrO>#AHvPSmZ;BIqXIZZcap=q;PmR_gy2L%+8M$~VN1ova=p_sV1c+1bj zXz1kG@M^+$nPuzid){$W@8818JoQizPz8I3HdrNrwk;N)eKzm;&`jmbaBO zrUW-_jK8bD+Q`82Xd6KpYwE*Fs8p%t(dK%#Gu*L0bv!PmaIZ*T^A`Mo`~UPPFY1C? zbAhEgX(xo-Zkw>^d9Va)WOWr1ZacDZlwkf;InD`I(U&TI7)601Y+Dpy)HSr1y0$) zRKC=Nd*R_zYPGrWzV$PjU>uQegc!l3Z7*P9k3rmjDw2S*bPt|Btp;R);_*C=;Pv`1 zhy@0wx`bbapx#OkO^5v)cRhD~1L<2rtnR+i&9dXG`pW#8wlx?UqlMuta+#0@-}4VkCpM_{th2TyBCRbz1`r_?8MP72fZ6@*tXG@>Mg|fD z#1#-$aJ33sJ$WXp4*~6LO+&r6P^p`KBY|*7LWcFUdtCfts>2$Q}Y6F>{ z*AqUdk!^kR1N%4Z>MJ;7%^2ppvAM!FU zYwYS_sIJGH9qq-R{y6b4XU(Zb#F2oIayk`W6E{Pv?-!EtG6OH)8rKwAEx7I=k#`bn z4?*TCOU-q_K*Loldp*kXdZxs^qL;%VQlde+;Vz{&(#rz-7TAm~2wA?TpLCII;I#Yw zZ-Gwfn(#$5{^VU`k5T_{O%*nrl*RUF$64>4C_yp_Wni&{^SonMAAPfgH*CqIWGu!% zERO!|F;baf+8-hLa5C?=Hj3Y7E2U@l`mjtgl7}R>FO1RDSXN8VwI*vxw!R4(c91`- ztLM*IvoNx^uCz4wS>yIxLzR{Rs~->Z^wwPd)>z`|67*=%QGf&POwm}GOvUuZE4FtF z6?jBZPXu=M870-&gfQvRRa>d9e4gTyB}KLz@x2E!9x-70_2L6Uz_O&fd@6;yhT-69 z=innQqKd8Z=7dR!5Q#@jva8b&e{e!cE0#J7&A3zTQC2D7(*seIJ(Wv0ma9Xa{x4*z z>lyECgR`71Cb0#`(Wt0-;c6}RF=sMLtbU|%gb`eSi?n~=crmKJ|E9m}qc+2o;@8a0 zs(7weMK-Z-6?iK{l`L}U{$%bqYpbW9p@2N??2eocw~(>y*c?Eq#Qq=ODA12%fOPT! z;fKzlUnLweWs`!;vA#}#vKH*k;kUdmG9rI8H_)GL>gGgNVW2=zkjDx_7XhgbMi@p~@w0@aeqXNy9Oz}{ zKU#+;M~fj41_g1h0D%-%R&-CCk>Lyk;qDR0Q$$&6**tBSr-K3s0yqKiAy~*y#}&|4 zkOLA4?J$2{(90Kq;vVwFp0ptG%*KPh2%m3EKVQz*e0eZu)h;gbNCojb+<7(&rvFU_ z22K941^{@(?-5<_V|8UE3Me2!j6{$C;!*sgV}tZv+pWIA_{her+GHR?=>O7(l{AWx zL_pTSdke(2Z`LM4IUjPcI7J{rEj+l?9=N#wYX!f$uNBM!tl;QW`^SvHm62_1Y;>B{ znIb>~UHw&hksr%ocl~n506p22c71&C6Fx(dNuRvlUADUVS5keOr@o=-fHW5u;{9&_ z*Zb|>gqPYA8U`rlc}LfJ-K-y|Htj!s%50uI!fZ~R{0a?11=#m(fQDY6wLo<0g{xQS zgnG^Dw+SdHC}DhM0h0u9CCchg?7L)|kMDLH*5p4N?*V=y@SjLUh8K|gAs4toNk!Bw zJZK=+u`NvU&NHI0ov2I$Tsu51tc}AZyIT?bX*Ba7P)OKIDlFLkv%3=%0}G^Gh1@j= z3kabq0$ygw^%G$2;X9lo-QbZ-C$pf>>Vf|7p~EE6=y zWwLvyV;Ij|VYOGDdVFP*g$Mo5&neCa3U>%)8x$+fq_`J?wA=GL&kEYXp(=&@)+$Jm zO@w{EG5cVwE?+*C-es1s#o^C^0Rm+_SrZ_{B2V9dLUe+g45}D5Z)#4Lt$0D4Ea)4+ zstW=?_-|i~B8Q6Z8e_iAbtqfr#+J5d8ZH3@glJg9wg6r<2SB+30_p#G!!0Bv(nRK^ z9kL&;uDG#iOn8vjKygfeXxz&dfs$G~E#xmzYbR6Kfgzxm(0|rEHw5knqX0L)xx4Mv z>xFhA5fXU0Z|C;BVFCQDY3OuNgnvSWAyX`V36wMf_N9_Z98M{s@Ruk;IqL)%oPLPs z{+kGI02(#e4=w_db%L2~51qgY1Y&Yfip_jm)PQuiok!w{M=Dl1be382Kt3fLfoJp3 z;VYaEyKf7nNTW-?!K$s=xZozmYC|y;-8CIG^MYg@5+@cH>Gu|Zj1U0ij5M8ZfC+s= zWeEhfSJeY%zg=l{RP_25_y!@OyW*?k5ICGpX24J7`xZHsA;t7G1jr3;_4#N|i3Fs$ z0hZCP?LT_5@wWB#ghG>EE9J|VtEG&;3VI`nep2Y*5+g?P4)j9;FuD28L!#kjI66(c z?EG<7A$kiKY-G@{&tucVq%jTh=}ssl)i_p}$!VtK$97!2WZ<0KZ=C^|Od^bd2uziP zD~5hn>x7^mZ=Y2B!2Az@kR;lRB4;aF(*l7Avw-m&f9PyDTIu4Hv;FKsMHV@Kyae>c z+0$G9;F8@Xd867>>l&{-sShB+cmE3Oo+`(efDm-E8$y4Uo14YhIihV@;`Q1wDF zG1I5zATFw^g#6~4O+4*--JVU)qsV3|=g1RUzFVy-d|76g0B29g;sS(7E&6)EVep3g z18L^5w1SGu%}~?*O2=SKPRjM}+52(XhYOe-^QA*iS8bA2EEjTp5#REM=EwEC*h2KR zSoN57YAL6&aK8P!>)ZU(o76d8u6++8<#kNspO0tA+I$9fsGtDr|3-p>yk+IEiH8Yb ziFHLDvPhAc#EU(-!VS9vrHUg^YdZGH?0}p&L*x=eK<4!)FF-iu9kJ7;_jVEA!!p06 z=)?2JvqmliK=8#6_4nBL0~yh2H%YCedM*84c;5GLtbO4nvr+x?G5C>pQ&nh<6#4Mx zlO3@Hy1w zx1*C@My7tdUi56ZQ+Lyk_Xb-8P1Og;8DGEO4>)>3@w@*8ub#F-i9dX@0^w2n)L#GG z<5ick=!=KFS^5`R?DIa04?P~9E67|aH++wGDhkgzCqQCMzP`Spp`noEj-|IxNATFV zuy1r$V7p%P5DshkL$@t(WCCf{|2h{rvC#v!>cp?|5U^0UN*Np^-1YS0S%;!pJ6{WI z8cfBl$>8+u$Gt=H_mO(#Rhr1$1WfDjx~ri_0f|{URA2y30k;}RxKGYii-Fxg-a`e& zD~melxq3Jjs`Sx~_^^*$-YT9RC|;4l$6wJ_OXz>+c6RkAbHz%9rfr{{JJ0TgR|V)s zP5ZTS__b=Va6J_Dhkwb?hP`E0&xzK)_Zj%TPVGl<03P1hG>b-o0x>G9s8B2&ki~Er zrmWcH;QIU1eU%D+$;pwvgawRG6Se~Un4Zmxz%lsh)V1+zJ0OR^Mhw53_!`Py?pmE7_`cJJ5^>zVHN< zp_zaq(zpzXwiZHV5ihL1wjW7R3XI7N>+1l=HxF*)bAH9_;y{Uy*E6aldiNX13ts0^ z&GmZw`M65F?3)v_y$Fi;uS)Q&jH6&`iXKnqB@X7&YxaptkPkeHeB{g!9BxkJ#W9?( zY&_VOHDn^xQ|PUmqg3Df+p-JSgH@Fm@;GL;N&DA(8!*jeo#T_CL3%z~^DJ+l7Kjeo z(*gkyTOI&)3rtw#yKwzJHvYJuI?rdz-5BLCFY4||_n9J6weljpxtJ_u^908Ymq?H2 zbfoJd2&b32ykReC-6tV-sE2xTG1oclrlE3wj!$^~;2v1lBtj*!p}=T}%e_q!MQZjG<-4 zk8a2)Y-}27Va>F7Ru$=0PxI~&MF-364giAE(|Cd$hu`Y=gw5Bo&&kP{d#AmzwC}3z zjm6VPtqe~p&^jx*@q|vWmD`{Ro_ptc|M{TL#|u3apmvV*gxuj)zeF68$d2ndtrBX3 zfXV4qJw-b{-KjfOgbnlG*L757b2hj0IFpM^LoPi#*e)K7!&B{tcuObL)_JuP&7Emg z>k(j*=F6l&nE+-s)~VRSy3>jEODnYu?#nWmeFc!-%fILEf5MomfagX&7=w0YTDarz z+&mhA#-j-J#cQyhJ;_SIAD;bqSh};mB{K$+b-@)=r=?o?Zt|8y=s`Uv?va)kY1>DBDgR(Ey!iy<1K}J!6#jzFs6??EOcJ{#2Kff`Q>!!R4MS1U8pq-0~to zgmRWJ8W=lyarboiv6g{WfzV1=GXfUtA1%of9t)&*6Oo~mCCR2u9v<7_L-l;15iF4< zB>8(@Jn;#wk4Q+a9q2i=l#;y^a|_S@s}MOg@R3C(Dhqjc9E$>ko_=kY+Fm2t@o5ts zeq$UY5t%oalni=l0HE+rs9)P(XVPjQZW#3I0S6I4Om_`eY1m%nN&bVwQ(U(bLPiZ_ zl}4_j3X!Arar79|bu2?M?3)e&+tASjv(E2actEE1N$r4eQV5`3frXiDN8^k-MR_WP z0~-l>a1)=>mJ)J-q6{dGSVLCX1pp-esn`~nVU)qKXR_$8%)yf*&#kP85qFF=`Z(RhIa6Ue{_qgWXAQp#YWSW}B|C0SA2 zyP#mR=iRhN8m|UHchtD)1G~8x_R}d20B}S>n86=nEeNPa%N=%Lh)^EL#@7f9*LIaW z4e#?yXjDssekj&O3UpE!Z7#4cl{q1&5Q7A%X=zD;clm>Bzm5icP0#_tYZ8y!@AI6L zw6Z35@f|KX=NmnnQ%Oo#`uJu?ALN8~-7Xb*lo$^uVuD|hxCC~D2&PCE;PAFOPJMT~ zmjRjrpanXAs#qXqAX#hO)mN@Gm) zxDV4_dnf)X?9wN1$G37GdCM6!?-9MgC+QPGHm@XUK_ zm?%Looe=oDzh!y618TJ5n8jUfMMKr3F7ba_wmdO6;eNM07sPj21#n=_9Q0N zeyM!~K#|9)^P2i6M*@Q?A~omH;6FUIzyaxCAfoX!x!l{0E#0XX>R|rc3?)LXGpa$3 z6f{p9ngPW6`0Vcp3xJ(#UX-P8{`Tq=Vh1{kj~T*z5Qy$cuAT+hvo>-|$dU#MXkfG! zxh1c5s_~32^CrM4A$Wf@jqIVTLGmXiC->)P=S}s}(eVZtMyT0Jtivdnxdyl@1q>TD zU|Pobh1DutH0$>-`tkp)ZZ%6wOCUL%UrZ+F^lY09=nnh3yV>0?Xr68xq(&kHHEIoQ z7ApdlGC(t5P9q7q(wz{x5ZY$vHzlugQZ`ea2CtXrn`hn>0m5K_Hi+yI{`Zf*wb;(B zbOf`!ef33$1jSZFXmC)80u35~9e|N9 zY;3U)=I`ICtE)eSPC)-JHIdh{dOZ9|D`Vu!y(uIl1PH|9!bQ3vZ#>{+U;vB?;{LT7 zboGV|ScvcAtiA%JwrQy%RWh?N5|2MHM-E6qKGVKQXwt#*^BYLz(@DA(k^WKQF!5+uK{NR&=HS#P(nW`+g^(#Nv_u_$zgDnrtPQx*v|3YBC>1_adh8|8z99oIKq(AYa(vfUW&Ob_ zZ3H+;+()ws;Q9@KS8!gxaFbc_?1w8&k3w_-Kms)@IVDBJI8Q!)8K6VsX@0QY zcWg^-#IxS72#jSu{7su1IOjVq187E^XRRCJ~V@ zl0|ri*jz85a(hO&B8wm=D`>=AZwfHn0YN+;68JRZfPpO(4#cu-NN+s8S*4XSK8vIK zLR|S8ISA<%al2Ib>|>x5sjIgjvIc+^@Uycm)JCPKO^$m=$)gnE&HX>JzB;UmsO$F# z(xsquNlK@5ccU~?(%s!)fP{2Pw@67#OG}q@_o2J%?xXK}zwbVG{(G`oQ>UG?YeYmusr!y?TzjAoD8B+ACe%j2VkesG zp9Uby?YU{_f2JkI1U4WL;%%*DCw81Rg@9eF&T6eT2bI9=_J3YGF63; z8mk4oCnPv(fr*Im>Q=OHd405lQL5YfQXmtTmRUrU!CGubmCB>QU#H2v8;20G9E%0X z{c6eJaQMtkx{X6h1V(+o5}Bb2Vx|4`zUrUhProd-xJ*jN6SrP5*^fR+QF-oSu4taAcM zP7Ih#wNdNN+4=eTKf%T%LfCTf2_>lb{XOK@A6Q61jtla`Lm38t#|U6O1e3N9VSM=v zwWu0Q;9&cA*t=dJhzYV2M&&SgE$m5wlr13c{6E^)*LomTrvO@!mYNVa2$n18{ED+c z&p;qw7*$$X=W^BH&QlS6*f}8MaW8!}8i(!95dFD`2*_FgGoAywr=}DVa&W-V?w|8$ z@Zy1TZxT;xsy}{+mjIRFCUyodx!TOtRsH@xY1w2-dU~_P8v+6^p>HPunYtCWvf?>C zt$m6hIGM+G`rS{m)AbQG^+{#LpVLmD&ZS|^jq#E}hllT7>wBYWzSw39J0a=rOclDm zKKZST)7z`Ho}iIOii(?FUO{kBeCX3(G9s2+@59l@Wgxza!NbBN5%;PEgTr{7>3*Tj zJkA@%17<`d!@~}tes|FUV+AQ*-Zvn0#ARm8@}Jp@=;|5^lpTf;%1Td7nrjw~qv7_G zk%%~Bh6mou!dFyO$jNPt2yg9(U;Rjjr{m(o1C6TE zQBQupr63}Dt%N)li$P9j!q;k?!S~Z+#@1GR{Ct_s&CwB}MdOe8erHyu4bF}{qE+U? zL`Pp+v)ICirsh@(vIbGhMKPZDM%_1D@7mz5b@UyGAzZ4Lh^G@?0bHBR)*lQrR}v;yTpSTZ1J>iE8o-wk(B@ZsjRFEuWs#r zY0GUM%@5>95D|<2s<#>q$-_WMV0?ZI$rm>>%kMEkb-YnObvFYJg^*SgbMuj~tJ74j zL)!TeL?vJ8$4cSS3i2YE@5$dm1eeM1meS7yLbf_G`B>Ev%zFc_Bc9E5fQ-swMTE2*Qd|CDT#RDT;Q5nFya z=Ju7JkI&ot2AaXhKucFxa}Mo|uLaO_L@(FBgGIW-;bU@0$Vb_uo9!1AR<33m34BaU zic}O%yz(mXlRJ4FF9Zb#toE8+3e)b1@Rba((9z@K`oZi^ijSWga~6S^*e7WYcNYPi zEppw7B33a;yc&M~{Pxo$eenR88xU-b;F5bWCywo$ji`rD;Jo>Y1jzLt;E)0!b9UTb zYl!K9M3rB#b9V=S+ELxoB7FEKMU6Up2eZT=-2VeEKinDS+egtoxm2=OcM^qa!v{ZY zrd0sQ%br`0Xy4w7Px=9j@|KpzznsG$AG2Q%=SAo>-*%mBejy-7y)pW@CHAke&XVyOweZ`fY&L$qYFZm*YkdP1~NZZn~aP~Erw_?yi5C-?V zxA*(Emz0nfTW5S~+~kkzJu(|GK9|?jpn-S;B$LSLfPDvNN6cMxFZN92 zQZR`G1v)pm5@tha3RFya(n^Qfe7bNfqf?@ga7fY_GDKHcHt5=Y zq9AcjF-O;^P3rv5l8WzOX{k~@)D%5~HLFY9DBX=>(ALm6=CYewEIfD#FL}k_qv<+k zaQnf<2{BfP?aX6gJK|zH(DpgO-N$$@*bHQlvA{AdB*cmN?1Dd61*J8TVYrZ8qt@dF zBv;23bZB#cgj;)~ei=EN59x9bZC(e=I@Tz;CV)=Sb!L8EkW1&FD)(8iGk?ffgc-w& zXc;Mk%C>D>E*gYH9X`KuEo?qBY`VOqZLW|w6}N)jldE+n+y<0lJ0PYDOHsqj`r4K% zX+fe9YyouaX<*qOgV+a?Vg!u`+wwu46#^%ttlT#=`5(FAB#_zow-W+{azRB2&Vert z7-zir_aUp|zn9<_`Ca6{PkwQN1pa@%0TUvIAd~a+TaRQr{auOy-C^Le_>qVUtBYRK6H43)40$!$fAJV5gP5qaKUo4%Tk zl|$7;87f%X?9=?~P@tqIJ6Cn35MkKn&L`iE!$nPq!<7f3g0Bdf4Gjg&&5oyQ$dMpl z_^wWJ=6$XNe47%pXf5_*5W4_tY;%6of9?$FmM~c|#aW;k;nxBrW{A2RQ^E7dUq88O z>-vwGo(K5Papny(BYOXbY|9YsL9QVGpPBa;WT8p8TR)}@c1 zm_*J^4|wJ>xYSXMfD59(zrVgd>D{DV?bsGDzL~M9 zxxMuPvi;KPuU{{@H2}UK6zy7@kM}DT3DLmEuHhpPly`4Eldjl= zsLWTYw8wY(r}AH@WDCHYuhfEkXG5;@6@MT!B9%rKCqI@5A3t-EI*RJ4J^7u`ELn-c zh~lz8atiIX{0@Q;d&O8R6Cy1LvoXrId}olovz@#TDsB|>n%S=@vr4aY-ry?q;Mxk&_v!P zMCe1>m`f?qAQ_#m{cx;xo$(tuUXSpbek$2{zY@~na|)3V0E}}e-emON_+@AO;Fn*F zX%^m+2E%1f*3apCJL8!lK=TyO#l~d~Emsiu3@8Sj>%XhG4#_KKUl zvigDEOk2kXgi_$0BnZj(GM9?nguXxv%w@G-5b*jnIXWt~{r){cU^Dd5d%6Ed zuM^&TQqLVIP8U6v%A(CXrSdu7ovx~pM58vLN7xpvLXM{>!L-cVYQ7Pgotsmzw)Ma2 zW2nlNRDqP(kFt=yJbx#N-TcHQX1#ievYDs&0K!g+Wefs)asjVm@gZ3t`v-C?1Rjd{5E5Gr4O|lcrTge- z%MLt#4>!WY+g&3$WKnUVktR@~lyrP7Ow9AMGlYG^N05LuR@+&Zdj72Er#}o&--eRI zxCQR-Vhpp4p;?gumcdM~k7QF2k>hI=XwdjlBm76QCGBd7#=krn1}WfQf3o;1&d=T6 zS{XEY96>hdib;|Lk%ytJF?_Ssp?`8~@L#}ca;XlfyB(Tz4dx(p}D=mr3$Qz#= zJAt7|fx3Pt*L>BfPT7X`zI0ltXG&N8blrgC-2yI%b#R?kOf6hkALDO zZL}ZRfC_DKF{2u{SPtHEz~Ke!SA}xW#ZFIMgfv60awsKSDG^4-RzZeD$Q>m6M6$th zs4WvI8X5|&xdOWQL)#~`5Cm`4#X;`gasfhb zFF zRvwzmE(yf~n5nmj&{mN6zCVV@fN4(TWm;Mq)b|4xUt+eu1%R<0t~u3#p$*tMKl}iX zjt`(eH(LrXJOnspVUro#$Lv=h-|rWC0+kDT78YIAKHc;PCgr)_3G=FL1+XCl%qDKL0jhpIbx%=iq?-l0;@b z3UCR>APtOXs0bk_Z*$3GsiS3RwpT>WzAc>hH-G)AX?=dbJ<_|}hw^=8`^$LecV#hp zQeUs3nty9mec&(jQ4EXBlk-Kwx4!*_A7b4+{aszF(#kG8LBSP4<3#j&(wKj0V*i%{ z>SVK;bFa3;9@A#EuhPq{?hiE=jN0X;*~XjV24!PHhkukwi%Lrtt;@doErs=c zol6kTs3{21W9HrRb>75`9?4@V`(xh!vhdH8wY7c;$5X}5?d@^u+^yfs;;uB@U^WUU z`fuJ#PC$>saUhj9RvORF=q&Zqc0!^7pVfetlMae|bKb1DHKim2JzAWV>Ecxa^G;_M z&K^5Z#u08h)DIrx-Y&`dZJ6q-reOYdd6c4bulN%Yq4QYA#UEn9kPF!56<5d zJx^>A=FMkGjz)hFxRZ-(0cZ>@ZMVrb6$B^KybTbR1-)xNiSShIvwEM~q$no!I(d23 zj}bJQ0Y56S#a2;GTS5{4hLH4BF;$G~1PN8IP52^nj3lL|qyClyLBlgSwaSDNeYW;v z$28;C#oNO&`>~k)!1pXZ#**&V3yZh2!i>%YB`5pdx0p`1qZo@1BWY`Ebe-GXTmzQg zt1snOPPhiJcRhI=z1fY z*^yaDFHf&!p%Kk+i56n+Mafo{(!-*H-Ml0lxH;{aW(1={g&2}HJJFO1rXfnxqh9mr zv>iI4PAUm%!Zunx(}V`zM>70+bg1<9Ed`&|IY{iMSD-I^s$M50CmX^bMW8DJFxX?D zu9`F~VL$J4QZP~4^g;hO$}Naf;?2{q^fWc`hS-uY4?L=D$FI9duY0)Ndbex+@Az*N zZ3hyX+cu29rm9D z;!=X=5zys#F;q4)AZHF-b0`lpFMk;Nq*D#i(g3f4LvJG)AK-sF{A#NT*y_nX#?Omc zw{c0NenTXOf$;W21hb(hLhnSraxeai1=JvC&hgtV5mj=Gp5eufiF~*GT&L2n@m2h* zd0nj)$AD%GLSqPimI&o7s$j4F%Hdd!KAs8`5UQ!{$FP1 zB1XLf179-ZzXKsuT@k=r>11GrG|2< z-tI}vdk&LPTiBbbt8@FGS7x9z=D&&ncX6^g`#vIY^=Am*WmF;h^XH$OyidxnpO9Go z4&~mP)41GSoweS3{4p^(IYd0IBX7jwp9Nhg{^Bgr@irkufuO$URkA`4Xn(4Y z$SL1)OIt;0VXGOD;tl{3!^x8TGHcfmpRPMH3FO`_@NvI5Yat?7|{WAp8}cJqj%jA8O`_CM3mz642h#LNXc++ zs^Ws%MBqCD05z4hl&_c$TC2BD9!!HB5&(s0at)MZ9EmSxtjivjkc9dCZmq^DL4qH) zFiR2wNyRK!(h$;700idPeQ}w-Yc-rlU$u)aiw8<)9K>P{_J6aaFYZ%Rm)=8>zDcEs2Q=bvC+{-z~X{H@GvKm z0xGFxsa3v>XynLR>+?0$^D2)o?8#7t`d|s86IVLa0Wo8x*ITo2sOfqx+Kt7xX&aH5 z)zw(FrDAhlGsQs`9=6UvC4K@!@{P>T8&|tob51icl>qg28r1^*jL1)q#gJ`e`S@9I zkfs017`eGB&Q=x;rdnpdiU7*#vUw`Cv-1lJ_Zum}Gc(~&!{0k6MUv#1BDhY^*Fxja z>9kz?R^ak-mcO{$28op(dGL!DJ-_FYUjA~TrBP(exX0DTp5|)*$2IEx_b(UB8aUE@ zME-smbO!nBNj~t-8(*-JJNtw>O&pOHE1%7I$tOot``$_opg3o`WWP+39wg@2ByzFw zMtb40Ee)sI;+t=i84Mm9)uU%TwTs*WMkfw(hn~ZILIca`xyHA;>!$1nAj{* z6=V}ueREW{Yn}-Mz=2^KnvlEi67c8oLuT`(+ zZkYCXBQA(+zppdICvGpW&ZI_I$ExD>8xI^1F@0CBY8x@6l$)<8Qnlae9mN5Yut@+M z(npvM@W@Uny(!u0*y2iBX2|DG7BLgKMAD_;= ziP+_+5#p|{8jAJ`Q14!aXW>4J$-0&bNubWSj*C$LzPYs>q1W)i7+O+M4a-r8I3?8- zeETdxAry>;9U=kn%uIZe*sgMg3Fk}X5tZ$IYO-X_{`)gJ>i*1 zkx_VuhJQUnmx2FCRSwjZ&e%Y5kUZDk$I)KB>+8Q0b5>Cle$}#6PJ_+$Wdi#}|!RK*j=EW!ImLEP~#x(l)t+-qx>Iv0K z2Qc&-wXo<>ypid!#4dm7S=K&$knkd&bf-~F6aMYY%SjWLiy7JDvgp^wnckq<0kl02g zB)^f^SyW8`nFaX^tHxS2(n#}BO=OC@Rxqj41Y^-UTqYI3{2svJ?~@5Yh%Ez!UUL`DU#Gn`Tr% zxd{PV4BGzl2>K?COFlKrWJd86)ebd&yf5^Xw$=G+7qhfKyC!$nZ;ig^TcZ(uc4aIT zW0Qn}%V5fRg#-v2Su4iXp}wtwZ6 z{wRjM%G24|MKWLhOVd0Fm8r}+z2ro=Xv)Yz$nJS9Kt57@Oid*gz!fwt9JeAaq+$Ld z1rx18p-N8qCL)$3?C&R`s1|2Qp+VC;oZfHC`QFM#sna;eE~SrcDLJ~}=M;gcHm#mS z75j#+axaNa>h^a2L-aFa=Q3*H;)|${S`1%)q>X3V$|2wm{kFjiJ#`+H`Q)#34Zkzpzq6b1VXQN>^_{1x; zkM-wTY-p~EC8u%^SX6m{Z2m{5tx@XxR*qu}SMj7U%P5h0Z(Z$V?DEf(XUYJNU2#$H zy5SlA#Ew&?(bK*%Od7=@_cQk!o>Zq?+(C||6Gx-EujY-52YBD%F?;Q58RF&O3WM+W zmCR9J5rK8D7i{VW{Mbzb*|Pq=T#7^>(Np-Xpu0q7)Ajg!g8ZJ{9C~VK{WVf$USnxg zUtFD1@H^VlC=o<2{ya-w6TV?REr0(Oxjc#}IS@OHT!1oW3~ZUZyeJ{bNNQCgLQc&) zPn@yv9Qs_7Io|8}rx8Tnh~qE;~qY+121?6LAIo~Nx&F|3#N*Pm>&LD6q|&55@p z<@D?N4sIC2I0i`Az*@cSfsWqKuR9OBTxL)%7riVSrTZ$Cc`&S~4#f~! z_{*?#Xv|rYC6YriB3a98mp5*bD*7A=5bVtdOCcUGiEr}tfGmpD}y$AYLtTR<-tuF|>XhHqn zu-yWZK|}N(Ytrs+iPLBC!}wBEv9dJf4A~hma^>*yC}4oj-tIyspp0I98d(@h6~ zolq9x!EY9H))h#csB|2Kk-Z!K`vwoo94GddMZ&lHNDPN@zb|P`IV7@W_v>;;U81$* zvU9)sPr|#$z1v}%|M&X@NJ+3V+KEI*Y1#&Q)|66)-~x=7ey|DPL16G$-II@6nUew? zZ`4+Tg_zU7S=J~RcwT(R);!7j0FoDiSFCC!+Ukt}}k1&PlI_Ey(Vk@&{UqC1ObttM{nWV>jH1CSXs8#~8);<@NWDBr?%a z3`j5d?6hOn+H{RJ9MEfO@1mh%Y>qKE9#>}c4Dv&dD~$$v5h^x5lr=5}eR{D!Y^)tk z^&OUkTK5sHe;&8hhdcCo;HCEWJ@1Ej%}Dnr1KH0R>~(W1d@d(i-`4BB#?>g%RizMi zhB~C&Mi!2AKxrTni?J?d;Ee20p=JNKfuL`X(_SZe7KHSkH2&wG>BFj_<- zWDv#Yd(`Fcy^S_g6EU6fuw!*l{`PpQ;C}tl_*NJP>3tW8+*w*=nJS{b`IgX4_4xg@ zYUp^Rpzf60A!nt>cqqX{=6rk)YC^b?2cl|^D$L>X8z5DgGMu!sO*MLM2lU3q&c%N}F6=%HtyWVt9 zrKjiXwf5rWIei%0f&Kl~34u8?uFqCVtxja4X-6CR%RGgd?wk~D8pR#bq)ep8Y?QGl z9`A-af=W}IN{`w%ZKuu`7h9(1&C=W#H77%bnt!g5-S72rFp+$ZH@Nrl>>i0QUA*hr zRQrN=7J1(?i#T|W$23sub82Xu;(Lzg*Sv$~Ns?GSf3MB=-&{b()oj^3r$d$Jd9B}3 ziOy!?{8938Yb4?5q|Z8<^UT7QcKP0nx#mn{qcCSY(INd#BsKlkl&RM{lA=*N`g8b>dKQ+g?{@m|W9 z&+g+UcI(SE$}(codZfqs(ondmZC(V1&1WxjRpcMut(xu-G2x{ylyh4vG>W=tZ|i$= z-yGEu(6_@~4YU6+F}xx6Y;W;DNc68^9C&$qT+MTR(x=9;QM7Qkho$dX29G8_hvG%4 z`t z`shDzui4)(8=Pz7#`-_ZnqDaoMVmwMOd5gYlg}MV-zYWKpbg)|@W!aWS@iCjz2AAI z?>UirP;hVp-bMVXeRJB~lt8?dQb@}0V?50@vLE36|1i~tY##bg)D8s$0TbEuyZvF- zev9`)xX<`_bA|7{_<^1UkMa7Q<@9$Z;rsgS2fwDxT+tCjHEcRQJA3bpNlq57A`3Ehi;+QmKI*i9^h(H-{K# zaZb~}qh3i?P7G$;4J0m7JjHjIx>2BgIAnS7l~Sz`8K1OHQbf~nqUd`);xFyecqQzg ziPoNd<9`T$!ToT~^oIvqwA5}t_&`A3fKlsotEN(VE6llIG3!-?bHPH|D|fnsk>O9G zQi<%IL8((ETx7m4C@Zo|JLZ?&+#Ansgn#ZGA0s_%d54k&!!38%wir2D%O7(@ytHTh z^P4}2!Nep$KM~4vCH!!DI-R<5Mc;>@+(VlY?|(yfKNs{#j`bgN21X;xN)`0hU`%gI zw;$2Ae? z@$2v0CrBcT$^3lRS?q-mdLJ4xTB-tnGTHBYtteF9`7|}H?Fe6$?}qr>F%w_?Hkc{q zx%kY2N_X;*z>>|v%#YY8R3;>THoID2$JVbE6|0wCWC>l-LpwQ3^VlECxNjYLIN<0o z<-P1XxZAzVSZsPQcvyWP-OZVt+*1tHQP1n;b@yEstt%JLt7tUZZf}dipWDyUhzdn7 zp)s$asU4mfmwMQBKgHjehn@r-o3 zYSFz@ez@L7tj}#atMtDuF&&(V9!jr$mxZkWvP-av|GQ`Z0~%WQ7bRWk19pm@TyLH} zE#nh6*}?F;WR4B(7M7GOQ}wCwT4;IL?|=r@%~Y}Yn6(Z*+*>I880)OlU2Y%_-inE* zJJ?4Xd)9MsHYgYC&i8&%of$7o&FSiLxkbNr`^!Wap4YCjdYMN<$(?kt@U6>8e@lz& zbR?$lVa-wfC+DcuYr#fkix(R%y{B&ONu)2K+6*arMzvLlzM70?Yp4TBfs$w%RjIr& zd1-X9`2#PDFQH9%1a#I(wf)_7(=KOQIAvcj&z+brGHq{@jhLnS~V@w^Y zx*Faivs{DC;GH`5-!*#1QllHnZJOKH?|R_NyI-k1hFk{U(w|b`fwJ6hT*6aBU`SC~G z?i)l(UO%IDpKbQPGSl%4(XczP;28m%)YrOi2NVzoy zXoV(fj<|*EDrjNdq!i!NQByd&$O-mmy*4S;P4C;R9WfS*x|o-&RXsx%1!KQ zN`_uRSD0OOo4o3Oa+=?#GJ<rx>n}6FDuFO>v$-JnswW+k558TW_n>a2Jad)1a$g&_~pogrBF8SfhYkxz2YTesb0jn%=M zGWdD>gb zn|XtkLh=r$<^om22~{fi7=Z#qVj4l^BlfT5=7jlYAHJzk1-Pcj z4XXLxqr=@OW6i3VgurQ>b{|&Q{>1m6!ZsYzyxFJu3ROdHe*r)zXE^2J41n2*8`kbp ziH@fC($KHXWAO`HRfR9E^68~UUYw|)%AqnH?DJb~$gFnu@+WSd6{6w_T>egzD+Ot? z<`JnWM%!k?t1k9e<+Y7Rx{6^Rn0|V;r^&|+4tBX?)qG1-^OO6&VYOgYHC)%eolxAE zC)RzQ>akkwHa}jwP&?3av5->LVdrx(bP&53$Hsg?u;l(!PhL7-lAMpU>|ngo*1k5G`5beg|KJaCU5k%?I>nt)+1*zCXD{3; zgZrhlNo9U^hKc!vb^uP9wAT{z&!70Zxwv6>zbkl>oK7mnoD|1PP|D>wgHb!L5uG@3 zvK*-SwJdWg`W+&Ymubc6ZmRZE1JX6(eB*A5I#E6SCU%3KijxBae{sw$d+*I(tqhfR z4X#<~dxH1ZS@KuUx#t;sRu;bRCAS#fwN;T8&AaUjs@@Nr^jsMqOnTD`wKVH00`lzr zsKFrb*dMu3&zk$G^|AWo6Wjzn&&~0-m5H3X%}1r5IEGx#o_q#oD01KT;=1LJs&Fpe zVR!#BH2x?@1X01*UkH8;NWUv7OTbrEug*Z@tKXt5?%~PdpeM%nb z?NqOK5qfWpTVC@I32S~0=eQJA&vu{cqv9HYmi2XmN$o$9L8qdtb?3x4Bg@-}B=Iw> z%AQ*vK1dOfMDK0u4Bqme=-l7-Z4!SP&(P20D36FVDB|GLI*ZSb6n2PPRMQaZ>s+ha zy>m@-UJ!KOM#UQ-O-`s-r&Qws8sm8PThWoy`WXjXvqytRA=0eNMp8+|b>jw}K1_x` z2e}_)%t{$|@0O~u>e{H~`*6>Tz8c(~NuRgze?KvyFR3x`(-t=H+-eu!^d|oBcm*TF zczUC&7FuY35g&#VZup+kOscTOa6CvXf^|am;L>~{)%{#q`M|Ni`6eQ!t>0%nFVcDj zn$S8sHsM8A&{EUNyTd#%z3G3E<-8x%P{FP}aeuUoHT%2GwbDz-X9t;kC!c8J+bm(J z&+YyZk=@Tt`68{pLRVRU$4 zb>Xsv&+9!#%^ri>GTvc=m=6N}z4C7CQ&2+srgvr)>@Mi zUMCE34Bma$jE!Wz0uDwyvCu#&-LU@`@aT(nXzQSh@PYX z1Fv7`5+k_nDS%T$Vq13eZD|mLsCVz9De$*Ts>-PI90!3HKGh%xQn1ns0r<40-NsL* z;i0_lc_CW;wu7&V_L<4GbN8y@72T9HtF!wZf0W0j$G=3Q?=^G6-OO}`+E5=(Sa$<2 z?V|k&N5-+M!1;!k{vO$yKUI(;utox+3bEP9-=4J$4fn6?Dhg7v1g z@nn8CITKe!2Xz?u zpQ%>^fBzj`Ra}o*;uKTK3%IqdX>2JeicLc3k>|Vw1p5rb-OudN`A>ZFBp>3aVegb~ zy-Nu4$9-#yGzz9K(dDLa5!)D~s5kcx+3;2ffUpZqHO-A(llY|F)wU zA)&)==dZ-n?wxZ)BcVgn%;_~xKLZFSh_qmQK#`ZIpW4=)j?gi^OGS5{!NaFYh~bB5 zQJ}cmiBUG`do?W%QMXw#Z2m|Z$$HtsF>r{6^1?0B{8t}v=Gi(lMx(_%8ym%wF8h7+ zdRB%$`|y!pq_qWGG%I_#3=OKQLDKJo6A#|VNatvaGNkZM-r_W^BZTe-i~rCmVI^KU zH#Y$MD!gyz$JucR>>Jb&^+exE!^v!kk zCDsOkI@AP_?H-eLH@|fz<%jjtZ~>5hANYO3M+tpjT~!qai+RJ@Vdmg_pA6eBAQbU( z2q4Re9oFunO-LU7aZ6Hcs;ZrfEB{Kte&(s5WT%kG=vW>$%KoYhQ+=w-m}zt50`cLM zq)|}3#9`Dk88|-4w>JS{_7|u^+)d#u@kPkF*mYukXYL^~CV~f47fRYRX#N8M5wr=G zXdY@bYBOv?No%og;aD{7T~t7=7*>L$Vq*HDK%J+;%Y)yD!;`_{BX0f3_;xw{)i#-w zQIg6Oz7UWT&l(Jb5Zr8$@YOknFDukA3sJK zx)Nj%^P4J#5D=A(xu{jbBh?8Al8# z+4QpZ4LpNA z%OO8{#2K;kWT`8%8qy>a5$B&ya=}qP4XeAye45k$J9#GuuR>6%%zRkcVNyBfNk|8_ zW&OwKunr^5Md}q2@~7D;(ZB0k5kVdP8LSQuuzj@dco_rxwbNzk6`@Bi@l-1pvHHOW zGs=YHEVDaj7nta-3onjuI>l*AwUlB$E^gL(@J4F|^yX(c^E9Lc>t9OxQFO7#aDv*Z zvv%XiU1ot&8Vq&#mw}uGxH#_a?y=uKAH5rG2U@ z`Z`FWWjLKT6#g~uKKQBv4G#GHGY5LR3>CBifFU8JANavqv}}^0jpH>8HR&Oc4nR0C zGF-qL*u_lP3A`NPL7_}lO-(}n@NZTl4sicqFaYjEc63S^bfEpi|FolBtULGZ3@{*P zPK0^Hcf|f0eA+I}qtQTX?U??0Q)!1q+oIIvc+7u3GcWBfCsB3V$C`Fb^p~D&GyZRrD z*0rPCI_q`Gh$B z#a@T5-6KfXuQa_U`o_jN3N-EM;MwQnHT_sU^E&#-0`3AC6#;XpbKPm)WA%#%4HNDxR>G8YvM)MX|ExOf(=guR1<0v5P5;q}eU zA~pJJv4XL}@$Kg3=DE2!P|Uifprxhd=Lfvnhj9zeQ&krpUs1f2@No1J4f$?`L<+(U zw}!1LDB4@|tknYJB_1V!uUKCPp3NZ=V$w<+x!NN=BmP?=P5LajVV3y5qOs^E^1@=$ zLVU9IxWjm-Ong})H7=uW4Zc1#oEaiDoZ{E-{X!9k0|7i<_T{rsu(K*BHdm73D?Iov zI9oK*27MawU2L;_Z0@2Fl@4Fflj+eUw&_teq!@7O;Kvntt%08M{)E@FUwRS-RS1;} zUYR9~`XoIJE!=h1xXvRH3$JAK2~#lXs4a;wyyoxu-lf#|tePWtFs4@usRRq<$AtC= z9;|AEuZ>z5h?~^=?Wu`B#oq~2<7;5;r3SZpYR%X=v-OL;r^70*$l^+s6hZRtqv(jX zkk6J0iSww;@H9#QAYJ*R!(;vJ8_y?H3*yJp+wRPseiw7jluz#xwk_6~;uqJqsANb= zIKLs%JORt+s6gATzu4C#gdE+i6DUiXf8P-SNx3*IuO!-BPe0K>N99f2NJOxGKaK(y~ zR&Z)#)m)EU>NRp)GfJy(iqyBho*}liU>5Z_(S!+k!8+ z+QJp@>2_Uc9yg9kJ&5OF?7+ckeUg+4e0TINdW7_fCTm8vInkt28=%f0kPR6@m%Uf< z#0g(w6;+(lQc_eQe4-Kh3W|!Zd+M;!18m_S7yS1hxJaPA2iuSZU`R}`kstDDEJ3%n zP(Bd~d-D);jY_2#Ex)H0e2y`D$+{c#f&hJXU^NMKc6}__ixwkDaba{mE-PxT>d4UD zc`T^uV>Fiw_wj@xQGH4@m(R-^RvQF}`^gPDX0T~giq$GxWV_wvYXCx5lX>LJ$MQfK z+W0DX-|UC>5@|PhYgv|S_cxAKFHg1zSHzR|H}V34Ffy$r)PjB9jQmKpolUQHtdqtx zn(9qF$aM;QY%vw|W6Mrz<|TH(50qI6q7U;Wy39nL#OK%_=YJ@I00@$TYW zKXtlMiM<>j2O|QWp;Kd%79;(ys=PdE*%Bt5nm-HBqk@J$E~(~)SG#um;!an`cepj( zi?z47H7RCh?ObOioSE|jeQW{U^8-urI}=SGvl~38=G8R)UlRFP>fL4)Lze88B`C6H z=;Gx{xDkw-)W!PNkHHPv&L+SG!_A0eD+n1-KcIbjf1f$7sb}dSt!hgJp^RL0oI;$v zJWO*Lqxo#eV6ai*6u58p9m5-iGE&@qXJx-jpCXg2x5uPnnqzuwixcT}pi)TpYMt(2 z7T>hjaz$*xx8j1@T21wca)!*b)9#c(7@ia&l6h77D~lzC0%`pDuwPhMSd6`{6X1qH zAnyka5HJbM^Ht~u6#~tv)~Ob$cE0^<@XV`kzg|!(%+?r}<0D{t$Q}<=F!l&q{p~hS zbnm~mK8@@K+~idS4_VC#s*7i^(~<3BlfWwY_2*^NZs2QMsMu9w+avh5er2ee z$mBY1u@Zi%_e>3sS|~9aEjBHX4cTQi;oEbtBCs76M*}7|6%H z_Wcdhsry|!yEYnoqM8@G0dCx6elNXKAsDki6(C?#K%>P*8CNP)vvPDS-_Nf${=KlU zU{wCihgtCF#V=J#<=yFK_Oq4@mWlK?#u%7;z2By%zY>+4Mj*M-I8V=|r4;uMbGsEd zb5v5dq=(@|cBfpk`0QExU-ok>KI~Q!U6b*>dZj*JW!#NKOZfBynE;2t?b_+-=GYjAqF{03Hc(cZ z(b@JRa`4Q1K3gMby~<9-((Xo}{A5uUbf*?q?hl6E#GpOaN}{V;*HtjB;b4g3CDQ4cX49)LOD$!F1@Da@YM>6XZ>ojbAz+&Dqi0SEo$C`U+SiGyX8aUsZ&G5hH zy`s7qFT0mb*JOu|DGLjFI9&2C^1ehdoi%8@+4uhN;e)~5c0`fpgM78wc-z0(LD<+# zlcPARKq_)Kna|tgaw!l#5|hl6zt-GDxl3hY>F}t^Zh^Rj8)4twDA(oFtB_Qyu=scQMB~6$uA0S(nm-=s7h%@@*|Bf{f)@*rH;_k=?Q+s=-rjje4 zSptrRC)^Bz=x*nsvam(+n*iq{Jt*A$kp|aH^EFc)e?|*!Kuc^-; zMbg4`ITI*Y7Lm?YiQPRjc|R(jGj55rq0bL%aLD~QH3Ft`*J0jVfBznbYB9@0g!cY^ z;)3_ur|4v77K3m>U#q?jBHBUSg~A1V5>h#3{6dF6&F3JDP1NT*zuqYTGuS^Sa|)v7 z8%weC<4^K+g29my=y~=m1lNB?#Kr4+j;sgOL;Dx-{HpvnO1PPIht|zPx7|EDLOazQ z^R1bGHTgf(l6vn(>evHNJ4m_&xtbwLKheZ*V!F8}Di}=Tb3MMjl)WnQu)Uqz;$|_; zGb&#l-f9s(x=fJE88cQciu8B8geK1xg_xa_5zO-OdTq$EWZ( z+g0e`63y3Fmn}bxDW;g2vfsI~Ag3tMY;J@rzB5dF1G_TvV_X7TCAXD>2vQFQ4o=Rf z1|eS80*N>Ee)pZiyau&*m&#a?i&r_Eug}H?^xZVW=eXyh z`C^lUgWvBY#eZD+^f#q9Ch7la>)PX)Z2R~vMJ=f(R2Vt6EKE6MIXyzoTg)j;@unQw z*4Pj|Wy;|#ImZ$)r&!3Il{uF;Phm^s@U+shoF%NKqT_Ro_w#xGdGG&r@4A22KG(J1 z_4|Fl_x1Z;mO*|VJxoFC?mrg6po%(w@%a`EJw%KkTr;-&Or&S+6^C*jk5|_SUM7n1 z&y0(82;o9FhbLLwNpGApJ7Yd#9YbQj4(A&gZyGB;jndO%zQj~gi~i_Rr-f@!t8*3^dMNA zT@ktB57fE8>oTps@|`A6efvCbMtXfLdR!#R6;lZB0~!*~ zGPIh)9gKYw!Ve zPT-X5C$jZ*Q~#mTU*WsI1z#pr&^WaifD6^LNT2` zIM^w-T6VwDB*9yOJ81;cf}{0Qb&`fq;$(eXG{5e*OCd%~+UH!i0Du3lV`+xEpCuk* z!-%f!&>Zg}qw%qxD0*()hjVzT`HE@SiqCPmlzBu2 zEoEN(aH^9fNE%|Ln}~w>B-k7s2&z@G*^H)#{Bp9@?1FN(B z&Mh2s2!LDxCVHpB@Hh6q{^XC0=xrg4_}Hl0mwWKor$a-BzgC@Zi1ttAJ*KwfDKB~{ z8%zj`ySYOYNL`Y6D=D4ToA}1npq^cJ>1Vc^SUk082%veQt} z8v!?hV=8fadU`nG~pJyW2odDJFRoD@+=7Dsac?;xrRnP`yCLjE);02Y^L`anMJo zOXo#7ViRTCrhDHh5Dm%thK3ey(v-VnAY;FKZ%R*}mvdS4Jj|M4g+BYFZubW5Rg*c6fK%)Q=-^NDsD1!qS%#P-e1CJzHj zHJ4i+e*;F4%L79}Luoi#y=YCk+IhfBIS=elMOCaj*T=2}dS#zDH&t#oT*&sY+Wa_f zdumkTib`1aH$|;MFb&_`>V5d{sj({=jcj&V-z8tjvZ4=}E6)cTc}7CX8+B8RFB3pxk@1D_ zHV|dQ!!BO5R!JAr>k~N97*it5HD~F?Nnn9h@`~;+;vQEzmg<}Iv8{4 z$O^lv3n6g{Q4-Zm5NfrH7)Sl;2mItFW?m=bU8VUgWsuuGQYO7>iZf3&b&Rl!8hql! zN0mGqXJLL&Fv-OIQov?uHqiwYMWpdSD7q{DV zRpOW+vrET}_AiCo{{y#~tEhK&%w3r3UE1<|aCEf3O>09&n8{7vB>dHVcH_E( z*Urv^5wzZ0eg!~}>F4%&oh;k4@8;(2>GQhtwn0OChSPCOog>bZXd!GuPQLVnr0&R0 z^+|z9-4BogLQ4F$Qdvck2^=G6iFVzmrvF6hzOz<#77C$;iSrh?tM5eHmS(lJg_*n( z;gw{HL^2XZ3}He5hmd{vFL3M*#-OOwSE&cozBnaOyrJ<5EoJ%C%Cu&`P2CLEb?@tq z;+3{jeoU`BUi%I`g`ebKiP7!?zxWTVgCoG8AnF+5BD&~}Ao)I~k2qPDm#2iym-XNK z!%ODdKxkD}RZSzh(RYf<=+HD|9MiwU4L>Wsheui557~G%Mx$ZX(u2A^xz5VS$*4m} zJA#l`SQwo59q;d-Qxc!iOdNrAq&WS4wQGEUSlRciug|yj#>c?x9>pl578f);UoF3F z18xx<+4A~HR!ueDX8&?W7 zDKJ_3uH0mtpkL6{%c`k?!Tog=2TsYa99hJ0V{3_SmC~vXff8G(OHsSt!mJ!}7QchD zVq8=mraYVKBdfWZ#{#FavL=>m)bsdCFq`CJ`4jUTT*h^Eok=Go(aZ6J8k3~^yCV8d zNGuRGpAc;Fu6CI(C%JOrVX#UGl`%TdARTC*b@LKjD(1$^b}3Yse9cYgTYC!JxP1Gq z6GLB5Dg@nQe)gL+t;9LIsEY4#5_und={qH~GSty@J0mk{zY_n(ZP*T?`9`(XREGw$ zS}1!e)ihm#{J2U#LsVns3#I`qAv~0E;njsXRlwZ8jdiDk!P zsA!l}CY&Z~xe&Hyhu|=Trg6j%(ju=)0w4`@bML*o)Am z!^_slBTQHX%h7cG&!IfJ^X;`;^8<@5K4;XB=-If-}FC8|Qpz4WWEfQs@GD2RB7aBy%aQj(%daBy$3;NV{Ue)ke~MRr^284m6} zoRp}rid)*@5`s3S>673oRaEFFptR7};OXz7!D{({qMa}5TE);ZNE6Xg@lhSo!pG)? z{r00TjC+;y$7+k^63wbs2VZL^R7<9@AfeK0M}mVRLPbFRE1$Ya+Wi&3_lfww z`YZDhVG#TkSI?qW|B7&tL9gNe%5Hq*Tz|#i8zdbs{>nsX|A!8(+eg8bv|n|RSc`0q zv@|DY`(!=LjB@5>%!_$KoYm<wbL%T)^Mt)Op+O9WPg?PNea;PzmIv1!k9KWi?C) z&F?ap{#Bk`8LEsOlQBG}S5>8uOcR^P+_(R+6fJ8Z$FRkok+v=h=8R z#w{UZ{E|lS++P)I4?V=I>yjLWkLxf9I6rO(`&Sgdr3wri^in)oBX|WwGqlezzGT#f+M-O=Ri$bKP?=-1U^mC67$nsB| zjQdat`OD(_%QJ?`;+#0+2n1cW5y|$BSLE_&dE-S)%j#}5R^|>IYd#e;eL9$>uw^`& zi>10?R7s_%53O!=Ihrq4C0_PCVTumkAgIS>IC<{dpX^E`f1)`FC97)qk`H{r=pmWUkEI2)$ zYE94VTYp_eC=^1E+XpV+8ytC3niSz@68eH1|3-r4nwZ%onZSftJUV7Q}^k6;LYrH!&fSQ@1Oq^$Wd=;v2gI!VCk zK#n^Yag%x6qN~YRDn=p^Bp-oRAQkC9ial(p*4QGIByO1=e|~mmabSSb^DtA!`ns>L zgd%+7@qphLtmjbiU*u6YyLk<-?9EX)WI8nI>*JL*lyZ1$wh6#EMHz1NvQ% z+ZQtKUwXw%iNOb?WG|H|7P#Jn2TVE!LX+S239C$j_Iw3zS2N4N_OloG%s`7qZ5AJ| z-y=HkA%#U`R@^TFgjsBQNK!06FALa;3yThxPxY1E1y@;zn$iJ$zxfPpH~^B9$N^OW z^00MWU2j|%_ReizU;C~ClM`JChcmbY@6NuZ#LNoV>dZB;H(LSGMLMVyhBYf~3}nww z2X(+|T*Z8Di$0o15PCag= z;xZa)ndzG?;3U#fnR@Wk^!54PHfGM4m@Wu#n^x&lIWPlO`GY&3A|)=d=45(?d^vkL z0!FU&tk={t^S0h?WcWIi*1o1^jDZh&11`-R@VGg@DLGgHCs;>a?JFqbPdkSdwQs!9 zWbE2&`5FK{k~v2U-Dg}>Q!EZY+j09T??^xy%gufjAQt*W8ZX^AWbj#_pff}~O--3tqj+w;8 z0jH{XXVJj^yUvoPCl<}gmk@;dMA8r3fT;9Hg|5$dq{PIXDwenf_JoI8lVUxJUfPl9D!E4tu*Sy>{;-n|Eu4xoeY&?sq2Rj1)Y-O&@x#d0ui0R9e&lc}q%KzFym z^F5B`x`?aGLRIGlWKVz}YTN`?uNe|r7|Rj$ydJCEUwt6jwGE#qM~v{b(bZl$_O+S4 zl$&*oeQKC_mJj%aqf>!Dpzy-|fl0yx#V`bw@e0 z=T!lnTn5YU40xtEYrVR|)u;8luIYN2fq;j>+MPifl2_0j|4~AbETDRVx{!DrOz- z6rbCcz)GL0vyzL>;0J%>ADAgiv-P&VC2v==?!sRg?^ClDhJ`koFXk%9si+gpI`_po zZlNnvzQr!pXfn{NgnawVTft*Icm1-H!uC@l7-3k~%sO5+FTPZ_b@cv|mdM#iUUGYS z<)Kjiu7YzS4%%~f-+tN~hoefGO$%>yApRWO3WlYF!F0{*D4 zh4%qAmLT}r>%+vu@@-OVs(=?s><|9C#GvDNsO1AMqZj>$7~LDFjW|K|-fBS?bLa-V zteeCBbS?f&TXp2f+9cm>2*x1(OCtBukdz%3fVhMRD1S*w!A zU98AS>t%dxR)y{1BLX^NXGg8&jG2q!c+L)BQcw&~A=s?MZ?7$ytNl}y-=@W5saNNX zfh_KmjdB>jEhS8+(sOB&I#hlX zz~&Ma?X$^wSQ$4(Q3qdHqv&2e*Ej5I;klmE=Y#)kEN1PjDQs#BL`CIzZC_xzlV zoxWD-c61;LVD;i#8{1PLsIBM}qFGV|eqUWJ2r#rOUd*DWWhjp;3M$#M{%wDQv)iIaQYOKE=u9 zrC*}r=gaHsg6Dh?!XIroQApZ3$y3ID1|JG2!6M+d@7&$Z#hiO^UC_Nn z!4Y&EkGYF1-l{h#rV;R2|55fz&iDuW*;t)dK;5^Qoo2++>DxDv-cHi8lQloDZ;S67 z6HHgeze>>kVtcP(#FA{pqM6w0n#}+~}Mq6HI1ch77Js-<6SookQ-xVyH}_4RM=E!Mtj#2u zMdQwutob(<=F8%Y@8KGB5DPhsQnY{d{+;2ULETq^lag@mju6fwN442}XV!5;U36;N z%D9^jgyuf5&mad01I&%1Uc;BX+RUrnJ)8%mf1P692;v>KF{1@rg(AK~McpPtGAN>B zfM{7FnQ0~0l{O50vhCt527z`a1b>cee`cVPb`~_ICCc~6ZON1VFy)nizty8ks#;R) zfX>Kh8`|^buOT4Wg)-2@tX8saz#nS4j@-K)Zq zFdsubj|eYVPm4i?ISqRyX|=!O1IuN z9?2-J%R-TJm5fg{aPj^>EWk8r@Gx@ai7WEQsL#>QSpn?}j1<lQLiaiJsZM-5i2*jnSHSXE5$;W+s zi`+DaAeMvr^&lsRng%SNS<<9B`Ca(BoC@P=SjqSyW}EKr9FlX7iqA_&s*yv_>+SfJ zoeDAx$Xl$j={TjV*O>ZXrTx`;T>nxPUagdQ!tU`NH41-3r=`|v1E_$-7^BT65j+dB zt_j>N6e{8eV!xu!i=z$;T zux$z4kGU-4Mces!AS&&Ad15;1^{HPgn0nypacN4#v{-x4DMv%gIb0l^Bh%P1Zech_&a@Ljp*YOVHQX5u!xE)EPE zd?m%2F>e$;>t-M}v7aO-laj|(Y_^?qGF!Mkn#9Fm;#RRZ@43~LN{k!sW0+{8ck!dv zF*N(|ca^&WsM?!wqsOtgEwZd&rSCos+q$DJ&t1l4AyK#D`P9_5^bUnWAUK zN*0hIuIov;__g+Iv^7=|Z#Zd#Yd>(dDbdPW_agZCPX)u5aQqm7R-a7dYh&S?e5BJG zsL;maJ}s(;!Pw-xC&h-=( zn3Jj9(|Fk%as665V|7fIj>{u%cJjqrYt4=hon{w8tEuNM&|Iu`>JX^xLrD+{QUT*u zKt_t-@ikmJ#uco5)%LcFrKeWZR#Y^>@!>=>Wd1-r+jauc!RgA7_sIE*O7?9rhe8>3 zWW@$L>*g`jyP<$W?7EXhGI$1t)StF2v|(n3wBPxWbD3<%?T#wjM0{Y`9Z%k{@o{w* zeN;X>a9J7hR>4xY*i#xO*e@2Gj}JQpCo-ZWZ|m#>~|d~ZYw?-*p~I#4pxB0Zl#%uhdVZzXzq zSvxZ9Pk>-d0@VlQ?GxKG<*i$a0p+v;icNHdLK~0yHHo)nev2v7ZV!8(tyMJbPH%@Z z=+}3t<>2p;gOgc&eqUeJEyyzv32KxQy7plz#4%&`)t<6Hk{aNJXVFBLJWSwP^Q+#Y zM%u7N^0{eL#LRjwnOW96BGVYq4G3r{sn+sdh0CJrJE^Ls6nAZ5nihMP5r-Hd9uO*v z>$p>pg(@w}(uTyZp?%(aW=DBrB_;;JM)uw^qi!l5ERJE7dA^kEBLC{a z@bFAB*7~2MaMQ~)ZR*PnD41rUe2Diy_A=SNTaJ9(8fbWbz}@yNqA=)8?3H9+bhs=9 z#b3Jnt%6O!FGhNNq^hH#SU~awJqgG8)b9NCx0wtQ(uf}A(<`#KZ^5>DG`q#4A3vnc zgm|DKx3RvnysMt>jH(FsYsJUv+-1lV1ZcSYM8AWVSmcf3ry7TxOneSxNiS7@_S1(# zjq|onCMH}>^{9s1a&xy>rm0w1k;*MmrD^ru}9 z(iHK_yVg z0{rVTx;9D7_u-fX7>#-|dLl%tt`btfM>T(u<(r70QR&Tk?7_*TUrjNGi!?n^Md-qu z_-QPhRE*7{g+xB{iuEW)5BmLX;LM8f7&S1 zL9wjK{RBhYbXX(U{QieN*YuzGn<2I7yK=a5V#q+ObthbK)p|Vm>!N9y`IRT9HX_(# z34i=TQD2{ZvVHs=mh9EQ(53&7ZE%IFukZGw`d%{gMP??mhP;z8?(^M@`i?P_%>Spc zo^5gSj_XB61ilc+ZlvJ(pbMG^?b^Le>uN5k)zXi%_S<1q1KkzNLVUk5QW`E4<`flT zk2K8aiIQnuj9RNdlHK1JF_?N?O?RyDw=+d-F$C86BrY&d;z+yNw$nsr)Vo0{u-av0 zR$8~5*Kc|2Dzq~x^}wPf!(;c0uC}&cX*bNfcv=AE3U-S`yRowj>#zJDQ1Liiv}I*Q znRccE>u!IKgdeEc^0|#m&WEmD%VAC(KgGsKas`E>@e`O+;q zhqx<+If*ru^R?=nZpJZ|vQEW&jP^f&yy$5=Y&f0u$>TFU=*v{^VKkAm3l?QbNf~3} zw0t*lC^;J8PFa^(^!QMts<*q2Er@wsq~(0m%Zib#L@~LQ@oVCjx0tHn7M5kwDR07h z#rB(A=8@0;c!ZGYx8jm=GJ$jPdY$*toqCk_znaSTycaHa#ws-HMB#o3G&$TI8ye4d z=r{cj#2Ch2rs!>Tbw0eujgDj}yW;EIz;h_|;N-E@dfz&nSmvxPa6R3&A6%%H>I~|f zXC*V-YHzzQV6rkvy0(%}9!)BIe!LY*uDzuyaYU3h^oOt6H&u&R`Pn=6*<|~C{Mjoi z!~Xny6=(gnIV_s@=@`8eYeoubW&F&c?~(`$-}7nq?t&S!K&!cEcZ4S-mOq1u5bdC% z7M2=tm?(^uH~a(u!-{pZ<|8>rJ9u&!wD2gzMCi;`QB`gm=ZvH1x@;bCp&ei0(M7`5 zJe#e8DCo7;#O<%m#o6tHl@^(#a0SHEpL*8T57vqownPV$l9fZ%^C|dK#aF1ODit)U z5t?XrYQanK=&Cfr9yS0zh8|=B7y5JSRnZokc>{i0}-i%hTdKu?K&D z|2V|_9I5RblDb}YvgUsql`*MVpIbI&IZF2C`c#a80J1NK>Inj^9^igsdXfD>L zK_dH$0)%Hj=2zYvALGo)B=xV3_DG*AJOiMm2&k6svCsUnb92?|yGr|_4$;?-bF@wG zd{YvO1d{LMD)yE={Y83*JiUj~k!CXZ8yE|D=v>xYTg6=ObdJL`r+7`Cnwjgw2pk`E zdPTXOjv=8B2@qiJ36A!WTO+->`BL47NXgzR)P(?i=dWu8=ezsHD0AU$8?gzD$rz3Y zzi0#frxy}2eI#GLef@y$i5*wv*b^U^#A~}TriR7lq>u3K_y7SHb%mrlv315M<=n6P z=5S+0l-`YMAEHvpa{p^{mx^smRdjC0Btm$+;rmIHX#xs~T)|DK&Z*j=KR_%e(_>QY zRqn2%=VJKwv{DtXDZ$wkFD+$)rRZSRaec_8B>^BRAmv|WX0g5>gnCQ*)t%9!h8>4Q zj15F!AfU`te|ew{EWk8+I$wx2cH+=V1uin{kjEfcUrnADG+l7(6=E;m_ZKF%UnL;j zt@dT6r93(J)}h@@qp!P;;@n@iEi@wIO;(Bol_VDhrIB-S`6L!F*Rw$(uKHTH$MO(h z*U9XJ17Kp`O#`Ced|LB5sE+R8wkH+zAdnDqt}=A=f)~ZOuNs^-Y-QG?h!yjFZQR0P z?E1B)VaHRhabyX8Bx(-*vhOLR%K}Q8GwsE<*1Z(`QP{g*$6n)AkcIIJ;VO=)zwuKJ zVrl0)o*nxp(J(;dFtM|#D$T#-JX=5QZPDf49^<4=TaNMD`QCGBP>B}JMq({_rgw5{ZuwS;X1WPz*yhj;(Sn-@0PTG zAwL6KKWWBqMNMbRbX=`LC7h5OkcM}~I9KkqKL)U6?Kou6Kj2Ngb}RwLRReIGlh<*I zK)ccl&~YRP*czXf5p0iN+2wT^Z1}cL)Y8&IhlTV4zlmlSk>uaRy-IBaHQabmKY17} z$lWP+ZrZPg=k)bZ#J(O&`X)cqQ?;6u{bbzCdBUSvFs>_5>FIdS_;k~|NEW-~xYAm6 zp*Oyl=p1&uI1WP9`PHndt6OJ#1GKPQi3Upu>RfN1mt77c136IE1XFx#baFus z`{&#ZvX|t6RhYc4#w&QyU%2hZbL?##p9Aab$BYcR4HR%N@}SIN(dF;|G?+vpQ=UV_ zJIwe3b2X3C3VQ&3P|+{nj3>Am_^`pZ{||0DDsU0jh-n>ZM0ndDiwTD0fpnw`!6&$Q z=#c6|lRI3@^3uD}lF`)Ct%qK|r^~5#9)x(zYXd9h_12yn?v}{ijC4L~UeAyfkKael zi@4PaD@76+X-s2H67OEv)=rntg9> zK@XB};huh7l@L9doT^e>R!(`od~Tw;U(9F;Tx{R##5vjm^Jv<_v(_NipBRKE-*W1y zA+6+3Yu!fBGt6kFl?4YCI`@b3uKXruvKgq#$Ak|~m6uztVK!gSqMSKhf3blL(#w48 zo|K|y&3)j=kia;*ObG{P;PGams6%5`C6qaAwC-msOwgo0-Vi=ag&ZAVcQ;J$;x8{R z^Q4!zwPiTDJ5fwc@BNR<*^9C~uSV6uK#k;<`dnJO=$4;I?#aHk5_|A4^!Xi{`u1X5 zD7%RS*kY}@Mhj`BvS+JKL*Zb3&79C-BZil2J}A4YA#0W+FHn@IR1KcfXAme1P%DTp z2{>7|uaPqYBO(skgm(&Ko$)ovdfdRoy+2#>M{CAzW7I>FR6v znr@dJ|HLoj)t0E0=9L<3DJ3S=J$>*B(SL5*rHNYIO_QY*2Z1iGU|nvvL8auU-N$6q zl$md(VVpKolKD#6in9Mk6Syp}kbmwZ4DC&lg&fmdwqLUE9hzZCeE#6!?j9=ISspd^ z7fbAA`XXE?#&|A9TKO*W{ojiWaDq;M_tpL{BjjHz|Nlmjp&~Cg7{ekKjM7n*dO6i) zU_knkJP&FPMhroDfo_pV_b1`O!SRI1{0q=z(n)FiRD|4K9mz20mXZwa-hmV8@vs-$ zfbiBGO+BHACN|p7Kk#t>GIqYp%l-qp&nNy1J*(jpDQNNtF1u_5*14^OZ01=9_RW9* zEZXvaOaTt=IO2vD)beFsb<58+h69oKxvyCP?Z~`cPjo_=khTAzzYqU>3gHYoSl5zv z`P2Tk$j{-SFkT|DwdJso=myF&JL7@Y>vwb@@OYXV-W;*1Dm{gMGxjBL-5S*H_?x`3 z0!mCf0s7U4Qfl=p@H==x*VjAo#yj`;tk!$1g+r%`H6=fqK*bTXe}p?4{|E#gL|B#uxTo>9S@x_`93YbK z>%-vcExb|+g%2utR>WMTazyWC5wE@7TPCzR6%$&$S301)t{)e@JnbI*SllZJmH>Zs zx2WB`lJc!+3UAXp73G2&*4q!FsK&n~B^I#P{+$Db56M)Nkd)klad-MpDVRID6)P;4 z1iChUmBbpBHbzSX!4D-@+k18lt)WBarXxYKM$g|Zvft)de-KBi%@^&Kh%$ypq9H~> zE#mX3NV-(DP#~s*L?A`Q5ejNxz2{d8muLI?BFE*>2VF_>Zbd^Twp4j4sn1_F(b)tm z9erKSFwxQD=N=+u3}SN2ZfxTS86g;V<t%HLV*XO4ALHaqs=l)Q3e zJ$H;m=76DE?s^M`Dx2sVRBscHcob!;-#16dRAfB-V40j`yL85pS!TCRQme%+uymb2E;5pNhUL&#?*q$w0g4}ACO?1{R<3M*tcyzG$NlKG9l6(_5R!(UME) z?v$F9Y>=aTLDlMLIfwsgAO{!t>v~*>&`zZ*{cDW|zFbEb3Ji1iNaP^RFcBx;->p3N zcP_cXC+$U(@cC=+zcFik{R5)D-^R%uB#M3jWe6H;J6$$VUnCNu>DJgxo=XJaHzmVV zDi_A2-Gak(?c(wUDz6b^X9KDFp+xwr6i^V`{J29Y~lWfy>Bf` zf;|qI8ll#*LaOmbw{DB=f1*3wD(>srTJ~;Le@henOshV%Q)5>g&79&;R+y|L-|~Kl0L1aIz?gju#sZ{%%FU*_19}5~K^s zg$Mp!(Qlp83+1S5@_$ORzn9=LkPZKLr$u67{8@|{@zvGU>)+6KuU}5=efmq(97F8a z6rvg{9-dXMBC&~Et6w3j5PBez^V#^!*we=m!p z3OsVb{~lyhZ)QWZut@jP51aTZtC7SC4JFlSVmmN^B?TZ6D7WI_iPQ?~a#~yWe0PIN z@!OGR%jK-FDIhYjsWX(X;f~F!b?Z22?SeQgcd!spV}bfOWJ|!?+kP0Yt<@$Qwngx^ zQe)lAg~53DrIn|w>A_On0_m6RYG;F$W}v9SdR#|VqGa9(c&x&le;bv}wbuVGx-uk1No%6c& z$3ZGS6wD*Y=V)VN65X#k%Vw85-k;sL*JD6*jZtoEV^BGJ=S-~!Z>(Tr6J|}%y)hV2 z)y%;O31IPbbUYJI?%Re;kNDBokKsA-5JIEs(6ghA?T>zxv&H^eo6iGmSYpCeSWcLj zzsmMB-04G~c|Qe#L`8_W5__~p9P=8n=t1}?|NXX39&G7(lS@S<)w+}o=P^JAbr7hl z7D338-J)86Fg~T`pyG89f32``i$i0ld&VEiLla)?fQoW%c01Z+SU_Up7`TKm2(F@# z!_NAp9VcF`CNU%9*XFvp1SeVlfMek>agj)(r~W^z2qBqW8nMcdK~1p_x{JiW3hkoM_RQ89jwru#Kr*rSgAxdA7-l+{^yC3Kn@r!fWbzy zT;6W?%K1ySV)m}^A4_c*H!Dw;rTjG&beh-Jw)|~uWBzqk`s_R%S@dngIeIn2Z~;?T zv=8UupZl{^cg0?}#${oD_(4@?io6E9xpj8F6x-UY`=@r|DpTq(a@XbVn!=yKwSc

    VK6q`&nXszc#V0u4$ZGAT;-7khUAE30K+Q7%bHIH*N}1!FKy8FsQp~&I()~ zC=%wZI%^TWTh1<&4j7Tv<9%y(5c3c4L1}Fp8CCeZ=3{^D^05QwyfPRhP%a0j4Xo1) z$S%KF?9gXnW=RIs*Sp5TWiBt@J~L1l3p@ zm&3k`#mt6pdeZy`!_3A8mjiXs%%;@%Jx2;Y;}w^s&GPaW5Bu@Jaq$D&rM9)x`PXps zz}Df30*U!&N>p`nE}X!#vuO5YGmg|Fv~(AF(2V2ft_&0d9Ff?y;QiFfa5ke-*AO)W zrrm=%SQn)M9_wZuCgx=nQIGZ(#iHU0(or83FWkUzN$)Xm(G8TDb$Tf1N&8R%4X1Om z#^i8zb}lsz6X(}ifO##uxvjJOZ112kcM1eR%-u_bp%W{&Z4u$)ji=PAT&M4evtzuQ z8Bp%$frZ7eK%dCMW|dI~hy|zOgX@M39XGIC2o*dLnqDlT*X151)NhL)tU(qv0)sae z7r6*2VXwx%H`w|*F{**!g|&WlsZ?zE1xpP^8|t98PtF>P_$Qs|(v9*-LEQQZZtHr! zpVr$L9FfD}R~|9Pbv(9?)ismCb0iVN;b7ey!%;uNpPTF3yV)GB^NGdD zc-k!%O-@Ee`MzI)$}B0rvfG&(4rlr7SN_8SU|$7q>>u~g)#W^?G%JjiB{4U>+>s@Q zaS$<6J{H_rr5M&}EFHbd$-2OBn|t?@^w&pQz&Fgm$*LV+7RdIj@_-cD5ZYKuK9i31(=SNX7mAJ**?l-5}r+=HyGU|ArH| z{mH_D&57&~A~&L*@*bbu$^K}*4dx6D?}6QK1C|$3p$-LW*Wn(P3QD1ok#TU}!Q&h< z3WTjK`$tsaHT-pbbGb;zs}+k|KlQAw<#d)%^j2*A{8|yJrOYvWr(WXQy(!AQMb2`#;PVMXY{T5;MJ>x$E!Gc0h%-mvAP~F(frBnIv z3?-Z$r&(%kWX1|pKK}^5PW0+~#DywM=H#UPed&87eOPouA&Z8q!Cea3tt0<{SW--b z6KH;PIQ!{ES_AkR)_#v^EiZRMBEFj(f_sb^Xp$nwXbQKtl7~&-P+iMNee=&7tm1Joy=VZsSce@atv1-_ z2Aa6;GWxyF^6uYS0$R&#DB<9f3zhV5AD=O@spP=xl1Pu;bgD{pLjKWnu za{vsAmCj#kc0C!-l>q6s_J-qg`aIrNR4_$cxST9k7w?Ct&~z=sszV-W&q(8UaMqAp z+{#A*Mm0siLYrXK^pu&$%`v!=32LKt^%&aJLz&jX0U!-eX`t@sCQ6C$_-Y z>5GO7d>z7Qvd+$&4SK0?aP4NPS7&Fnf|c24)TEJxp@a~z9xIN6E9daS*~|qM^}>s* zEuM)NWj~&pM!><)8Vs%YIV;jJ<1sSQrFRDhwgRR7W^8QB33%2~ZlrWvcB{Yr;ECM6 zovruikT(mD+upB-GDhIB(~yw`)K-8%#MS~>3zNT7e5F%U2fC{cIFe=Gz5<6c)i^XA zP+B!yCXOFCm*$==Tw{pCqMCi)z<3!qV7B%LN+OGsW~oTiywBTjC<{Y)9F^r#^7_?J zN)}90l|**tL$K*xGXl1=veB-yW`O-s>&4C);fVk_f?#o=4G&}0 zd9rhQ%=b1yUkRyih`ZX2@e?k+ndGl+_x+T3u8m4!{Rt~H{YLZqNM2Ku66FD9ymYE5 z3ZPl|%Z#wAfRvP!xw&~BQYydaHSbBw#?jHCl;`yH$GYpSfK=GApe%l_#(*yU=MSDK zZ(Z%+oIcE(JeQ=hyoOS{7AUbwvbh0toFyoAlk%bwefrQ4I?e)CJ5f^eKGwUu0us_--d<0I~` z>Wxk_ooFEL$Jg_*lH_cuw#y9*6@+yz0YA!fVKy!x@YF}_OD@#k5dgn8pLLLz|FY(e zZ8J1_*qk=KLqNdcKA8K7l$p*>Ev?jaQ-&K!KmWCp z`b{o(Es6d4;SC-I%jM5KTJ_`UUV5EpM{Zcs3q-ZcSk!Fo?h zT3XVpSWO(d-dEEJE=e_aHTwf|RrqgR{xs!mYv<<&JW5)FR3)u36O0*jtxT&c6zM1h9o%Vzp zw|c^lXBLoSNU5l(z#yKg3kNadx|nDv@ql-D`u6&#-&{(&e7Bs zGuwRfPvm2YTE!^IH3pNZBtNtJG+&@cl?Re7u$B6$`-O%U%%ocX#g5PwO5-Jq&tnyBQ+B zz4qICiqZf~0_)k0F+n(cgxFsw2&mp-KHJ+{mX0Xd)#8DYQn?XSVw#>I{r&CUtpd!_ z`h;m4(e9S@Lrc+dP1?Nf=i3$S*1D{7%lO9ERrx>fSSQF5ZFFPb7ct7F##X5lHy<{$ zSCf7GD4}FBs&NPLw9i$_H4A@hz1pR>ogao+gL+*lrhrUR?c$Y)Bj%t~sNiEMv)0LY z5hE^jJ~NV(mX?vxZufzOfMAwWQagSrU(e^RXQjO`Gc(Nz%cT0Qc1D+Mtcr8RtJ>W^ zmwU1MpHDqT0y~+u-0u54qw86HC*iow$88Bo(}U8awfR7=)EyliiG8^I+$cGl0s;)H z0Sgz*z2RE-Je1phcNfp1 zJpQ^M#?M@0siz=cZ^5-LNEu)>gI^}gxKJT;xzez2b09X=_ebUkOiyq;1YJ0de4mtP z;yF&b)`fXkI>zNqTN4@ebek^2S6APs%xBqJT3FP<%*SfZ0akS7wMvo)6qZS*eE6IV z%Jl3PO_uWo84^@mp<2RehVmAuJsy=3Mf0J?pzL}(4Wq9^ z65snX$#2z-!lFfJh(k_C#_2*l{v_)7{V&qXvl8{t}7G`-HZ=%2lvE&7D3|7(nAX2fAS7s*6?DXoZh9(rcl zn8Q5EckxXTz_Tc_Bf&`OaeYZeSO}GWx3qfHRRpORefIy~zfanC0dWE2E)?z^9O1`B$7 zwC6~)}#9XGezIBMne#JstL^K+RRzO^niL8FtU=AFgH^=;yC;%CM0!z1Z>s;a6O*g5Xu zk%GFOC#_w}?mH)ddY|mcJ+}cHSg@tw)a6J%Bd)^p3gALs%loHeuLcNlTE$CEp4l!E#>0KfqX=-57cB;}) z#OHZnim&dCemOxrRV97}A6?vX;!@}vrCxhGJSSo-Pg^shs_j)^WNUNy-qSTGrOw{m;G z(mMOcLP8J&1eAzACGN|xs4*xo!cLATi+!y0^TWs)9$kz@$HB$G{peyUh#|IlX&zAD zQh#1n6V*=f8p~Q%tKu=Gj=@Lay(B11%g#P0~{Yk2A+uXxB*cUUjXR~}E&bPhL4(WD>8{i~b&>qjS=<-HZ8TRyi5WO$ zd8WqRltYxN_>R)WVHWWX_E00qh8QU=RR^gq30;kW3XBCD0xuN5jvlH^FIi>$>%+H|s2D@u$b?vZ5rkxf5_&bJcQNsW$3twA zFU93$WZwFk{HDb?Kc0pxUP45M@Q(s;P+vmV&uCgN&s)+s#yVF6#a zj*=-z$P5f6eoE1tSF=>f&k01KWz^Zl@L9@W;o@SO_X`LUrSr2W7Dvf@*lQY@L$>1q z4z)k3A0HnR1T0vj>jt{r#;>=J4snb)Qt7d(B{%74B}!QEt}qZ}f|Ocysp1FI60@(~ z{WREVZ8dwD?t|2nXs6U`<$SRV!N9BQ$TB^GFPWLCOkl=CVI$f>t0}Ndoy`b2%0t$f zMuFdIMg}Hi3$k*xn+65SJ>M@ck95@ufR^s4n|chgn~y2mEw~VY-mjQ&_PY%dDvp8> zcJwFP1;RtDn`?2x5A|nYX@rpt1_z-4P0HWA+*v4#7IECb;IOuN+tyhCcBtO&HD(k} zP3?D|g+Z#9g{WUNQt)B84-$PZiPa1{=YnqM7oIQ;T%vr^<`A%Lm>N%mh?=?s8z47~ zkXa@Ffs*~9uz1|ts#Pp3WgUq}EKJM3q>(z;gi4$}160h#7#WQ&_thkW;WLj4iGyx- z_~*}j+A1;W%0vqi`FGUK8Xp8iRh7ixv?fZ_PhcV5XcOOj#U#F6tnNwT{SR}NU(w8`Av&t5A3#B*>Ai;)f1KO>B3286d?)m&UrJ>nx<95t=8ub;(aSzh(3gmp+ovkF^ zb4qc=VKMr=hQPnD3mHBO=7^3K5qPwlW^7Npxw&!OQdXg%p&3czmc!&nQO?QDjU;?n z<7@{~xQ46AFNO&NisJ>-8VtyPB|WOiujb|dq9&73cA?|^j6pe^fzRoR6^#)d`1u1+ zG&YvU^ctWU4{(}_?qzh~RoEg{Op>$x2&ne3R2WI4jSwYO zMsl&!WW}Dly{h#iMqvO;UxlVfRX)8&*EOZp?x2g0-12)2OWY=s%0TM{xYt%B?!4_W zf6jluBhi3dE)%bZI^{b~0Ep1wU4y!v}oUfNON@;={OdSoO8|T<{-$5037B)_d z9Zk^sgV7?=g|;yJ$2F7`o3YOuo$*T_$pUFmiHB(;k(8F^{MiJ{Je=L@UiY5|KU%g3!If*v;d2R{cxV zG&C(c8J=k$c30X3=|yhEL7P;vNw*#F&sj5fD3}))7f)B9spp4wDZ{>}z*E!RG0&3X zVh$?}(BvKgR>Mxl6N8WVVZIEuCk#nH@O-$5MZhHDcRgObJ_6ulmy}w8lRmk|u5!7Z zu3{?ijk^sJKb^w!MB7n@Yc)JIch!5-*eyRVUFe=~PmDFnU@N4?$9%7!afpz?B^W zuobyJ%8jfgu1J2HnRNiib zv(}qse4N?P?^ON$w-HZAYyIcn#~-YdaGP0-|TU<|8T&tl>HS*~IBS%^U>c1(`w4SgbbXUP42<@re+)&nnD znK5jSWxwj_=|RHc!zLsY(aNo6%=-ZrABltoGxW%%U;TAe*2DA zipGjLuE+sFsL{&$1+!rWyFcaQf!9d5cyEU8n_IJ63tH>5m8hflReo)De}~bU+hnCc zc{%0%I;eu`w;jp_`-4XT@6A$_s4<+UWU77@#a7+d z7c@GG9z*Xkz-l5i6=p)7(Jd4|esHexkl#E2Tan!e=%i9u#3!LrYMZd+r*~uO7Dzt7 z9p>FYn`7gX2yXp7oRJA3tvcB}(cubAAEdINJ$-M@Sw8vl7n|TK zO%gUJzK)ilc#-S9Q5mm3dyX>JDJ_Z3{$Zrv5ZjP~6{MffrW|bfG`sh*jvdss-;QRa z)ZFTieb9jNy2i`NqNz;TkS(RYX6$hzn54w|yVxXz!D`dmK6=jQ$T*_h8|Jr^0W~I` zeMYW8+Z9JkV(L>()7F`1Q0v6c_~yINQzSIY9-eZdhD191-`P1VFP}GTZCjwRI9{EY zTm{19hx1WWnogA^-0yN3^*UZ!x}48_2)Z+Mbop0}63%tBbAPfGB0q1+S&U-VLnX@-rD$R9{hvaT)L&nAwnX{v##`*chTsxtH3E(-Z zrE0Yr;JGzXUhRqQZFHVJ43e)@OG>awt$^ zUkmEYJ1z&;)z#r?Ieu%py9P@h>T#3d6jv4IP0>(e>-H=@cP|VMeiZ+8ii-wdi=0G7?C7sSuf6$fH8CElGzsjJ z1xYfVi6v1wLf$Q2-BvzPmOI5$%cCEDL~}i(p-m@RQdZ(PZ{+hvA2D@C`+F_jSCJ<- z{uZ$jrYyQRF$@@zR1Tto1cMeuV^c`wPpx8$&O^FsZ6g^=Z(rZNsZ;GMh2~E*b(V_) zkwbZ|Zf*dPcn+Dr10}1ryHj_a-F+Odo8j^tjgODf{bA^NbdP7pBmw&AzQ=tpFU60P zlzE#0dfT6@seCClJCDRq>f$>}?6&bd?rd}=4FI$uQcnLu*kM@0T+EXDWKi&=o}B_3 zL$5y8?BT(c^}2qjK}s_7k(VeHH?j3~M__tl0XcoRw~ShyZ5=ta!PU-5OQy7`mPQkY zk#m{bXTtb{&&i765z6=+E{819O*D4sN&GJQlFshGXWBDsv);PU{x+nRMrI}!pGwpg zjHlv2K?wdvBe0B#NqdBB1LHOIdGpU7fFt}_PTP~`p2$OFLF^WDCtLaAXxF_SXOr0{ zq7ql-8sgnPU_Tyc*RxxD+If3EFMBL&)Q=6q@%A_?O501%Gdyf;A%_?Dmjj};wYAM) zJ4QtPQ3JwpuEHhXt!;$Xoo2)5nD9eQ4PtbXuUr!LXL9kgsq=@)E>|Pm{oo0=&X zVfZ*bHNbaYFr*P0WIMaiG{DUqyB2M~b76h7(i!h@HS2IKo5J9Dci9{F7q0>9{`CBlfs#U*+RM=`g*5Stp(t0ywT&-$pO-JA5~w?ZbX z#zp0Ei~GvvrsU#kxfwb2;lr5~K@{p~6_k=}iNkEYz)Zybs)t?FKl6%j@~r^_3NteUIJM)xX8_JeUdV$=Btg_xgY10QQ#4GUq!% zT2X2`-rtcj+?+2o%rKDqtmgi11Hee;6Jci~vV23f2ykD}thZTezjwJg%oPnGzT3!P zZE9*NB-t8vQ&drThKM+g=nD2p7Za+BS%-O;*3M>jiq$GdlSG#FSOF(Xu@DvkvtgeZ z{)V?9C*S?e$jnS4C{Vc^E!8m@KtXpHT~{zod`z6)$?$xMC3Ol4uE8)th$P#Y% zx97#cTq}g+1K{M;rh&J3RbZLR0Uk{TI?B|rLTzTFR5JJEqAd#a!BP*xFc`PLVB9w_ zun%XCP3ExrewQd|78-C15(xa4Es_J(L{92_pQE!A-=AI@jY|BYFghQD^3Kh!XXU0b z$XdOxi%7>zH{}+OJfF;KlM8@y<5QIJn!BuhcW0t3BO=-PhA7gb&lJD#YWK@hyQs-( zirbm0bTAw5oz5_tt}ZEu{Z8k~N;AgxXSUh9n{}Ud^QVZ2&6kEfAd3eX(I+{%A%NDp z?A7`i>UU{AM@1!J)D?ok=!PFpSDA0mHC}HFWh9{7jkhazKvB^xZos`l0} zM5BnKa|bf|As^pJ`3wt zp?}`L_(FSJ=0U!w=iAj&UJmsaTCJTFCRA<4$XFIZ-_&b-Cg||3-<@N>PPc1fVo2^R zK?q-3uIiLgZX72s?Z<}*A|aK#+oqi(TEfLK+Eaf&U8VSl2uXhaTWoSsrOkMe{I_>^ z2a6d_t0;w>Y`hG_aTs?j?ldU-OG~7g_Y#tl0s@MeZa0?$0W!(y!;2um&8}F{I+y@t zs!+mmrp8Lo2X#|otv^ZfVO=0xA$Xgh1Nle)Yi~}9meyQ5B?p6;LZU*JKjCoBh@V*( zS%mhLU=6E*sbSqsK5h+IrUBZ1FU{CQ-4e5s z(>2pk9{zTFAz9&+n>eFx-}66Nv$+<9hOL`Ja-bZxF&~2If4@%emDGsi=2n ztJ#xZ3#RKS#%IKh#aTplU*&jVGYO|0ycYZ`F}Z8NS&%1Qp){Xec(oK{ys?*)6HdeCf3#T`0s!|Wpsn@a5LrQ2~Qyu`6nUYvb6B|8(-frLK zwT^YI?``(ImL@QKjVF-!jgk)>PuVh00b5Vip|#=V3raRrxpz^Jf_KCvmmMhS5ZC z?2h&&mVb|E)9?GI}Yb|ls2wFC<~2D ze>Yv;&ZcZlO5`}t*LxnLu&5^UM-EjxAATXlkRZY;PN060hnVssUnGd%1`ObWl(Iah z*xzs)&ZbN=?VeV7nE7y2h%vxpYzQ9t$v>{bVvl=`fDHnu*?* z_8jI9h$7#9k2>RYi{9c*ZzwwojO__Tr@tL3@+GGY77?^fPt8%c zqm7baSayFOf3&8wS-^QYJ%kzeRm%0k&jiZXsKlx-cH(uI;aAn`k3mv+D9d<4J|_1F zC1gV$RF0Ie&2Ujtr=hpKhJr$T~VLX?# zn5E|>rY0>>9mIQ-@jff7yKr~+0eZ7DCJi(t4VakOX6lS@SdA+yOvk29YU#*tx$2Sa zQpqGcq+chawsfJi)(YHSyDQUz)DU_9SoEslUoGEq{x?JO%!rJU#rryJ3^v$Zh zX09}B=q`2YE6e;8spNh64u2z~BhK>D;P)~UWvOiJaLLSy38CeYXKu+yTCnMF(a{-x z{b7S{U|6IX|KTtTk5t*NE`dXeD$>ox^k{vp3D6b}&jH%IGg;1eck$+%$X@+^6WE=m z7e!Iwh}5YMA!p$+39z>kWbx>ml8%ZHqsUCM()OmIp=HbAc3Xy9vHUzr3?|#BwYSvs zeSjScxGFvrN0iz_IP3ONkjT;id52C+NvqUu2Sr-EKQ2$*W=o=sx$uqNOZaA=n~~5~ z*Fl=?Sw<}-d%;Nmj_dhqwSDZ%ED))-26;`BI`SGUm;PgH`pIrVE0MT;1KKTwLD&8FCWwr^aWXT2nywoU=ct>u}bTFo$MiRdRt%r3UU6(zB{2fAFq_u*iHe|R;Rl;N&roBB4^0WXZS@}eqkZ3MG2f$JNX(zZr-8+h34vF^V4P( zk65$k^{|o~kO^m`a1&@6M9bigzSsK;7B+>E{17Pae&9Bi3m}${2&vV7yh_dZj%~pjod>i7WX>SNwRd)7FcH5OwC^d-oY0_W}eqCPt*LggV(# z_ws19{}@lDSZx~b?_d+*ddQFkAh!G?Hr?LDqhXET2xREI;Q3C3Vh8)MfcG(5bhgrgnfps^KK+8^hSYX?s%R8)p>Q|Y3r}`@5 z*;CFMK7q{VTiFZmKWJ8z(T^{L01<{Q^5}RulHNIqH66*=s#}9SRmGU&$ z;#o}b{AOJ>tW92RycmF?M>Kf0x=Vj_SUcIYgT)8|X21u?fF0$Ci#OA{s0Elr_c09N zVw=StEX)FsDL>`>G*Pb7&r_Di4T69UIMp)OM1dJ_{2%qHr8q>&a!~uvE;N3{%v&H$ zYE4~5Mbv|n8sa*#`4ttRF*MX7az4gf5B9mMa84d|q?G@$rDy`utyQ1BMN~I`Z0cDMU|(bkH1;Ig6;0l)z}r%xsPuA2mjT zc3B_T?HhP+oRX@WQAf6v=C-8|g zeT;I$)MblPuiyDHZk^g`X=wqR0p;-vhX7LP%BgMJ`UnX(A@b7OwM!}oOBQU{4K5J{ zgl_EYZ_WFwLU1EM-ye?-MB2>HL|g|QuwH({@mtBYt#$BQ{x=YQQ;h8?hB`*;xLmLLxHo+`52m}Stz)+RkpAg(VI#ui-Mq;}<0 zt3%Ev=DFr*qWy48NW=ERQ&CBFE0*TWOltTE)37chvobsElt!fagJoZD@3ejH>hAKg ziVk*_o5^0AvaKde3 z8Ip*pC?PGo;A4ytPF}7 z(;*e?VMTwok6GqX?KxfI1F4g!-CfP*YRnFbul8mk#w68Zme1AP1&oeU;JYf(D`TuW zkpcGfJjiXAq6^86m${QpackvY0E74U=>r40Ww~4MjcCY^3QDpiOsYRVQtm5-8g03K zi9c%PUQ73GNm`%n%!WH<=8V2VLO~*mdv7kU@iTL!D+YDbMaIPBTh9%=SHT+lC~RWh zH`={kuQyy`+l*zX^sKS3CC8*3vw%mD#fQL!sl3eki01PZ!HB?+yrizM+!po@eE@bRzb=Xhv`H*2_rQ>S2uNALE`O%YK zx8{GYq)nj0*OR{#al4HQ`4UC(zC!PY)Ctmho9-C*53Y<5)$!CTj3i~AJ=!qiIzkJf zsy;-H=P4B!+)=T$UWcxq;o$~mbx+zKGfBs+QqXW=nMhBNXmy|pTB}ZcH@xM4N*_cr z_(^2&$YNB3P0ZTV*qM%Kl0}&J0Bd*C5N7oZgu9~FE~(MGZEOW#x6%Q2s>Fg@ z2TVX&wp0I#gBYc!na&IR=OM;>^hjrRvm80o{*HBssZn5uyJ4nD{uXUq|8UZ`0GspHQwu z@nhhdqyX~cbcBIsi$7j0G|6li7mLH;a`;BUrYb6VDl(bRVGk}GtdUq}R#Z6<(DZ(u zO_X9c|%x1M~{-E{AOEq*b;&} zemPjN&WCTF)~!(wO8>$~v1=cKZUr+24c)zyrN$>(H+Y9jSe0Con?F(-GqkN?v*XVu?vWn_V> z238GViBpYu%-G=ev6%^UEaKm56EhQS_683ej?S~M&#H~nn3>VA|3syckPs5PwpP2|Qa~hMpZkt0+Ei}$>+|0ETBT*wPry-g0XU*}S`*_u=2LZN2SSZzDP;UTz6Ma<@W7WIXL26G8 zgMpj`)q{h-moJ_ZrC!{L;nZ>xR%-@9g~K`VEFi#aF4zhsp&8XPrG(SBeKp?-36P#j zV@w)mxfZ8x=|gpnE1Oqse}3Vi&IE$0%6659qJ8cR6Fh2;+)^b6M@MUADJ#P>H8;W> zKn@o#=Jy<*(_DTO?){ycf|lX+>*2*OxK}^k5XsBSSFcRfm3W8v{~$K$>Z3LP6Jabc z81pi^>j`D`cz|MBN#hVv(8}8A8eM_T4=fv733iSw)_Ghkl z=$b;39(!Xl7P%B`VjDeE#crTfbxaPMs1*+gH*>0VFA<6NPEY(OHrNHGWYj^XN@>KMFM&7Pwg@ZF{;|tY9hyNQljOD zM#J4}M3Q{?xLChYLxLm}C|OKubpGvCD4D}8VIKt~B&#WSo$l_M+%wCl99EZvapWF> zUI9;BHp`BdNe+!XQUc~{PRapx>H)9w|-5rM~VjG*dljZVJ>Fe=}h?1dB1*_12u zvgw*XX%mN1<%s29)kAFEVMz-mSS&6-g(GE&w5qo-F{qc4kUE>GpdPjl zx|*7@f2&;6GEoba=~0W)%HwemIdDFDSG-DOZ8O5xlSS4o%3V+XmeywIhCWN!M_8@( zM738rilVuivOH%)(Ex)W%Z_^^TUT*-jU=sG{H?k*o%tlH_(q#eWX$l1ZJd)uG1f2 zA~m`-2!C_m$?$e2uKxOvJoRffxeg5!Z)QjmrkGA@vr921z!3yVLdU6QHt1diN>m~^ z87uz$K7-o$3nVlz@dc9J?n=6wan&2Bxx)Z*wIbL*I*>h|mAr9u;e6!$+yAeNi zUA%AU#S#yv9M2Qh8e<&(BY@VH>xIaq*5?zA)3{>&%+KhNt@1?ugP;yjb!~3KqLo!L zKMBui{&<=?atuVZnh7qCKB_ES1r~Kkz8lwSR?a@gk!-Zw9nV!w$)gKb934~KhMjCL z?#~+B&4_&kX9Dq@ww}+$5aUaTWY1kRC2V@>%n}sDMOHnlCjo3v>)CW+u+q_cx zhw~)K8cAAO`W?G0#QrMkmwa__^mSQNZsHYBY_X!VYCbCRLY4#l!=WJ+a(;GlrRchS zYEs$xtDn{owu|R&RSnC#od|px<@ms_`ylkNXVjKI0jLhpj45tN4u> zZ03tcri^A%2oN8k1pA4sHlW0oY;V)sT7gZaWOIC-(yR_=i0?;RXaz!}kUxfSJ$YJe zZ0+6I*q_>3t4Ya?t!>pRb<%T8ph>zr!=z`cMzDoSoM(Y|S4yAn+M@3_pr9s@zD;Vr} zn6M?X)ba(mH)a(mQv1IFW>*0bCd8JN^z7$nNVSrNCMAabta^G~jhfe@%A;>JsG!1W ziRNBmEQMHNkzye)@YkTF>y-V3pE$hCZsv4EY7nZ}baA?Q-=gUq>-l+WyS~3%@!vwu zyaa=iirPN+RXR7u9q&fXY0X&&WWMf1f}!O86GD5U`94MTq#H~*-^LeA3OD(yVHkL+ zmLx-kd+p!8arf^akcFo(Pee-}XZd0ysZ43L1l)g@6SDCgc+*?@aAkzswH(9@u83(O z3zntuU98r5MSJ7B&z%fUC&&;z&*i$9bE(2Z%|k14+wZkO0Jkl84aTJfzVM{`xwpq? z7&Ljf;~o*e-^_EnQQ}zuZN3#@GVXY~3Y||b2uNmlJ#~!O46hZtLaDz`&Koh3r7Lgh zD>@}QYnkAe2yjyt1OqSjWh1}orF-DKVpL4N&XRE1JTY-0;M*m!uz>&fc?(UJh~Pvy zfL-K!{0%M zgruZ-QQ>H<#thNh`uzN}!t}Vca#|Xc@}~+vo_`$w_JIS!)i?Fz{(52B4RsQAOH6KY z$y{5bMh#y1LcArcNon4Uch|$>BJ6tAh}}bld0~zhGayA{&Zuvv7J9cE?GVd{^;#DN zA%5%q7{33^z}T#ii`ig@?(Uq7<@oZ9ZgWUiI`eNWe6N%1Z|(c%5rKy~1oA3+l4yMIjh>dH#nH>GpJ7CQu6dQ&<&uUSY4HqMlGA1UY7RxlA=^R+U`OMDs?S9QxRSA(poBALDAwk*=s3kQeb z>Sos+ZB_OWa?Ddb3s?IO!bb-?RLtV;tn2d$Yb*_{8dt*>3o{-Kd=@|3@6I%qs|UIE z>S9Z3N@_PZ%bq?qf(P$~H#9tDn2{_gHV67o=K_ouNj}ngzc{=LW5qrTEU}s`!9>~X zhU{0pn0V+HvubNs`Qxg0V`9C^TtHU`txv@!qcET*?DWoGchy_S#op^kDKwcam)mOt zKfPQ1^iE5)W~XmaceQUE^DiYZGAHe)(}`LfIt-N#MvXSHR&K0Us9cCfqUEw!T^y}u z{yWgjQn$72(5$am7SX`06ePg2lqRk~R;E%!chBp#U9{6+jme^al4%kta+2mjs@dII zNaSFUl1t9N^}2`3!Q!R#-h(UpUyQO7+4(MC?&~$+j&4Ce#Ba`$JpBk7C($%rbG;E~ zodk3ajElK(rMFx;>!>ZWTO|y%Co|)hu+fm-=*+^P7AFGdOe^;)X(yNR9gzT5vqv5} zfr&^V@cd}zH`<2{VL#pT@B0PwGL-1NyoW=*FeW+V%{1hVRHObd9;4 zO2x+Z_kXYe{69|d{0ey7eC67g9ix@CWi{;%cj4TXvf@{WWMnX_E_)G`2$jDUhDSX( z-Lkp)_JtB36#FNfV>8{g3LI$;;Zf}udq%@C*{fRA@rf0q0|PYFO$T#)5k{h$KYHyP z&VuEF9QTsif4=%F*nNL@G7k+>nhTkhGY@{8Oz3E6dbODSC#rEQb503w>Ss6ct_FYWI;k=KEBSUW+s(ZhL5}p3Qaz&@Tr*9iD9K;E$_B zSqFAAM5bcKFk{%e8gDq=n~Whwa-Y7K^&y=7TgT-zTGJo=zkYapJ$o5nBNyUN!c0D+ z5?OtQ5)jX6SD?o4e{^2n8z^7yk@sSMuSPjsSL~)8ga2eCN1S=NKa-S4fmKA={UnHH zjX=#SC@ghemdl2VzP=`km>yRc-lV$w^8#buwO|pu`qu=%IpOK9XWS9FZ`wB+oEP)2 z6;eD*grdb3ad}{nDG0C;&wH)zq00Vm%h(ezlZI`u z5c)n1Fy=~?b-YNW6;Vk}P|zj&t3Xjs$rn_2Bq4%px4lWL8_)hK-Wqk8qxE&VlaG2R zXZYLi*y$;Gwn0UCWqB)o!+dTw^`9N>;L+Q`c{p#CB;-gJTXf9F2?z(^o&hw*eWOT# zyzZe>B~L<1O2|tNW8up2>=gL^Bvp@_g~QsT^({}^jo!SL?ru){{mFGfc4v@g)A@GI z!2wKOhC~Qo(@rT^_7l_@dss7{&F(n1e4aZmze!|;N8eEw@Kqom>1e(qytM@kPWInz zZo)ljhYEg}nnNAToDOqhuYZ|5NvA6=Tjehph$E1dRP_J(-n;g1y|<2S zyt<~e?HISe)Z20@QtYjO0H~A#s|1UpK?>$s>*` z4F+Nv^#o1f_?xd33Zl6`6Wu29HZE}$qO12UqpjOtWeMa)Z1yMS4y#h%MX9^e@w6(g z?(y1+=ut=+Xc>lx;9wPDj}U%m5gjRqenyV=Zi z`-sVd*XFb%Sj(C-2_KI)ht=-F$NMYtasN4))v?_ZoX&>8PYOoHA^N{6E&xiJY5#dBIg*akenNR;H_d_v*kZR=Yk- zrw-VCOIy8cqMRV6GWR}Kw`*lGV?3+zgGYX$!0N_&h7!Kl6Yl8Lsw&@#?07=y{W&+J zk47pQnr}^!b4{K4DPVPshcz;#rc$rO_7zNOEqP656&ig~Z%er6%mZP1F~jy9fV=yT-lqOs>m z7-LIB(?YU+2W5;CqQzVZMc!1QYtA@Amg_x|pX`A;;aOVjxh5q?VlX?yKHo}m(3@;i z>BbGB$lY(2Vc)y)aU-=Z#n1Qe+q}~_emv9~mQ+Vdc>amUpZZ*_uiix&JYENa;*Z z+5u^^e*?O*a!W3M)#W4hulr^DTzK@mL;7>b0ivcNvZNi&(X!Hmomav z6N0Yadd_!9{a>LnxM@4FAAEX>8yRq`8jYg2k`>ggUsj^26mJgna7bTB+hB=b?ENJt zaFK(jRvJ(`OM*qtu95M5bx;#J+FqL>$CeQIraY9nxNN-$pgQ%y9#$rY?vpaj?=i)t zDAHmDCf#gPg%3yY=ri$_6Ai+)x=HwOtxRD6Gu3RYwL(rPZhIPA0(S-0VyFqR841%Q zQRbrT=Ug;4rm#JyPiy(Lhvhal<~I4FHrwq06g`D}R2eCCu$(Q*b3?>@%;F(hz#D091!k6nF_*-7K2Z>+n-&AIuJ}SNd zMXIGu&IgzdRItimHt~T7Iri1{)!f4SJ-2lQ`%~IYXJh*|v)q09&fWhE%}5?b4)b32 z*5%fnXL6!NX5|NU@#Ew-*?;Zl)=hXL-Y z)9oPz+IEJ2r`e*putS`x`P5-wrp~u)E1!HiBRP{iyjYR&7Yg>m;^}{%WerZHMKgdP z_3prfAes=~T~;=kA@aY>@*yOT!BV#XBa%OX%VbT~MHiurj87iFfA!Dh1SAh&T=3}l zxH?DBZ(z{n^i~j10YUCwR^qFVoRAWBfn1;5Tq0dy0NVE|6U2C(jAmnDj{opry$KCA z&ok6|?P{2HZiSo}XpXB-B-PZ`s!UX1$0ua7R2#lN{5xa$$#5|l9&DFM4J_-D@z~-M z0u$7;$u?0SYWZ)lh^ery!>9F`tZCXx_GUL!A8#Lam{pbR)o}X4-zWYyoV6M$Q4M8h zF+}Sm3ejN(-vgLxy{z&%9Svsie-Q4mS#dnm*N!A^t1^##S7S~=g_i9(b}9|dz>-rA z*l)!$0R})__~*|978>(2pFyL54YY?Ofs>7QbEA+E3`Sh^$PqbV86!;HMz7h{%3Mq% zUOk(K#s)1x!A37|%Kg*XAUFV(=FChD@hq64`+)hF!2Ufq|2b~w{t_9fchG(eNtznh z-Y4X=Ry^P1c^FXZDfz!c_Hu#Wtz8>-yayBh)`K^k+`l;6V2)0cy5n`uO8R?$&+oVm z|Np1C*q$9*0is8PC6Bl<;)y(aQ)@w(u8{GgpgR!! zbWsx+{24+@7BSgwuWTtfprB;ET2J-BelTK-zOzCiVjx1Ao!FpS2SDHM7-;yktpUa= zAbup4va&Zlw0>qxp{<}&oDT$72t8qZZ4Fqkxez#0tY+2Pwe!ar)Mw>S8QZRE33O7L zjkB=>UpEVQaIqKD`r2AJqCu!REa@z@ukJMfRsSz8*iOL11#_`S0xn-9K2@p#?VZ!p z(|5|RUb5U&A4b)GW1#)_^npa~|89u6tk{3=YvGjc@2DXDJIa~i)gDa!3s_IoEE4pT zfuie1N31PFlO_Ay{FaINT&h;)m!hb&^V(PgJ=`Fvsa)cAf?2^&ZF>-BS7us#Xi z^&DgD|6y7o0$E`Dp8=Df-`8zZ{=pNf`-RopYsZgu_g;+>3&V8lbxh(Azi5^rL}k5B&R)25_;DWVgkQzxrZw)ju=ApAr2OvhzQ4GmYtf(OS%}2mQ9E^R+fM+xe7r znkA>;%Af5oM+eJ#A0=0gl`*lFuAev28MT>`Wh6?Ezoeh5Yv365V~3WZnNe+15&{g| zK!+Q=Jnb_sP5$Qhmb0Ejo3(#$rWSE9dRzQF<^AiE*%J~cS|b894B=ynrx4h7Np{Xp zxS<#SfLcM(9zrY=usH?bu)z=|7qsm&K~ik#=RRjQ5}k~ZzhyC?yK03zz0wfW-Hspp z56DK=*4aK~F#`l^7Sc#i{bQL<*z!LB*wrQ58xodU9bj{3{C>yzxmx|oD9c0Rx3A4a z0T8LfYCyvjC`?N@S=rUboCsiWcvn^}0Sf4C0zg{>RHPHQpw-#H^5C{rZ3-hk!-P%D zNP&``VVX@F4zG%}tY7QUf$CVT@=yMO?{=WdAR1`J6IFXLHN%5h&E9xCzyU;^z`=0M z*XE1+8D;@dM4*3^;8My@&SUhG`OynsBF6R?c4TqC`uDkj<@4&eD~hR6>w8a3cwTmTQgbW5jSaijM%SPvH@ z*aKJ(mZpx%329m{fvB@&vReIr*6E{-P4OC4WbHKnWENcdoqgNdTAdeDE9d*_#;4}e z?ZI#V-z1yf%YEs*8Pvig?)M4YB8+vLMkqSAlumxb?4*=$k^|9n=eHnrAtAfzdl-)Dg2XU5bK$kN#$^oiX6K-BdG{b(^q4XC zDD)S1J+6H%O@;Y)lwCXF3z>-G{~=U7gLMfW4&ku?Q3Px9Hm>SLyZD=sUxw`HUz*Gr ze4J0PfWge$=a3nyf0H2ozxJi#&1de*chECXO6<%YYPgxF=f7jf)fJM6=7J2^_%MY0 z@1Qr9yl0kp(s2Eh27%xi#2!U&A9;3(bp7snAMb?^z1_esYFt}UD%`+lkE@%a9}*W& zqcVt{Bjgbz_T%>_kVGB)UscN6+tYBTVzsfkUaCm({J;J}x(tmy|Meo&keh!!{ul@t ztieRAJkA$31R4FDX`gaFoxFVhyfEzF!wWe8u2c}?aAlVyL(1nKz|PlX*!#5GK3-!6Ur3~Jfu`>^890a-cqd~;rk2h0KVZe}0OftWc#nq01JxhIHA zIzR+hSer548hDbi-JSFMHFIQKxfPs-8)Cd>*N!}D3;KGp;#kSxustsNr;;CQP3k!< zU!rC@(mqVqWH3m4c@h5KX*+%cSt^GiTY@n8(C&F(R-cjuaSVoUc(9|PZeTfMe1n^| zVz;f5)P=X7dvyJB+qv+qF10kwwG9E3NdLat2M~8#7}Gwrzwg^!6c%>V#pA{+#*HSM zvl1CSG9!@9@Ck-w}-2N!Yq_{^$aiWK%{E z?g~+Q(SO^j;s#DS5o{0ondy-Yg9_z|4tj2gAOX+z{sfEJ6c&L394gk+e@~sRn1zzNPt=Q_a5M|nT*WlN>A{eY;hjOO8*6R86ZhV3{ zv{lw-8NaGGo@o6c0hqS$C1lH9>saQWG=K*$YkluUSeWv%ZlpWMtlEt!_Ob@t294kL zz!CY+z&BNNcF5pgFcW(EJUp0{H6G}v*iy7C3=WTu?0G-TRu1JC)I$Z&cOHLJX|oJK z8*<#}AM5SyH352AcWnk#6N^04}U}HLjQGfVN$NSW=EYTWq1KYVzd^wDj}NfkHfSxEMuK z)9io$|MB|a@!8@ZxFzM=wldMKaRV z**PC=yaN#-j`^7%+HJAJ{+y2wUkX<=6f=N@P+F!R{qeWdBAN5$&`Gd2qqON8d04P8 zJ$}ULeB$4liWktXs_F-u$%*cEMJEF`P;xZb70LN3`HvqzMknsdDJXc3vSW8~@GTIp z7mOGyD-Q*fw@Y5PtDB4Eb08u1^70BL*~XB&yPov) z^qZT=+4}Pu%f;9fcdo_tb%)L2KUmb(Zm#+jQ_Gz;z((P8d)&s_{p9FqcoR19y@G83 z_|1J~Vq{s!5G_YR@cKm4*Tbcu?jlHa%xS%ns+=F*yXuEVQsZ37_3Bj%uD-#SFRxIq zhqEMYQHgn+Ybs6zK7C5b5N#eeE;`+IK-X*^;8XYFwj%c{%9(5Ql1b{Jqv=wiebS$t zmA{=0^pqZ#Sr^$UGFO+~P_1`7PDeGx7S(hr3?r{7F_APs!S+DZ02~TV`yE7Gx1Wiu zV%IdJlanlB8P(P2=ksL0^3~qO3@WLCn?Y&l)h6vOcwSn)?(>VPiiW)qnd#`DBTCLI zU1@=MlExG#AEs1HWMs|;_)QhS_nyi)|mVCE_?H>c|&nAboA|fG? zW`6fnEg;z>PRg*(L|AxM)`p?W7Tk4~-q|@1ym)TmX8;G{NNb)O`E^l0Fa3*e6O_!{ z=?RfSn;V1r!}!}LmU}OQNtRAYXbY|CGAt2c-p~oF7p$E=1+L8?D2?o-2+-5e%C7bO$E=?l#Pc%em zu-)%(F|IenlANJB_P{_sKz-t!X@um2_jGum&BTr<`&fw+cbyeCjm-qa^3z^BJos>8 ztwV5v197di)@g|+6z7s4VZ2Csx`8@dz{52D*L%MCv;M1eAz8=_YDTT1yq%ZhcQh%> z&-a2Cty;2fJlAMp)1+m|%S(>5f*cF@n2VnPROK|fXnF(;3G_Nc-ar^^?{68wWp4L6 z$Mk-}K4WD?+omE`#Pir%HS&}JEkK>XeM}!vF0s(KPq@ELJ1m<_+posAbG|R0wnyYp zbUZs`CF^KN5V#-0JE0%vWW6*w7MVR?Xo#vbjfKV^ce#bWo73wxRMan&lA6=Vq{boG zhpRU%DsD3oUqu8}z(r}paKG8>zvF9QFxL(Uar8vnPG2%;QqEa#hQM{oPXIuV`c?d@ z?FY!f$qdHee)4ltS2gZ%SJV%kO^Q=fi}(H*^|<41t#-cM>BD{b7BV|Dt~%!3&ED^m z_uEOWEYqd>GDi{gY1>BZ+=x_`NAYhW#pz4}hew7VzrhlDw&bg~FdxjU&L{Q3^_NB) zjb4Cg%c~4XzcI`BbI)GJpwi40yoYEHTb}UICNyFvEa0(S@YC-9kfNepLA~qmIyK{6 zl3?;&c%`EGmR?!zv!Ye~r$5QIJ;d6YLUIz_?W3J&*IJzbdv7U zB=QLoWZ(f^7WB=FVp@6)YDr@`H=b|_t7p6F?~f# zV4w<(Pp9tvjRPgK3IKexC~wMoavXLk-*vWjcMB$z@IykoD2jyNWWtIHdW3orUffgh zn@O?JzY9TyyQ~EwBF*Yih+6Xu68M@qvoxeABH7)UBr#v%pi;XMaD145TMLNou6P5X zGZa+g$7SxH?+NDN10&u}Y#E}PS<6js7mcLFwKd+J%jJi5c1Fi|-yd}+yb4GwDz#Mw zmi;vO!FFQNAw-rCu$3)(R78@`zLs?}zx&X4l^7F*NWkf}^hj;t&06?y)A&3D(kds5 ziITm4pYg{K9sVUIZM^#PlTj=*EL9HU4V*VF@62u6lkXnARAH$X*+K1zOHxw)G-k)ylrXY-Vs8Ax%*7 z7}RSI{XJhxf8|#`4>_=0?@3EZ zS9fI-K%{EtEgAlR|JF;`8TH|fiC||ZTi;XtUfk+{AB z5fUs;UN%%|>;>k|zdj}KQUmuU{}&73DZ;v?na`+&;_$JASij)p?uHkD(xew8KccgS zS^#078YZ;Q%uW?Fsu?*@&7%svR&AIkp_*lMs{s||eQ13+MWBonu)f#09uPSf2lWAX zptVIT#BW;-?Ok%I(DyWPr0~Mn7>nQm&50zO>?QI(LbW<7~o9`3X0EV(AS(k<%q0lW2nW zsVMAe`8lqQ)9#2Grk-h&KRYW?z=u01zUyMA&}Yi>CP0v$-o*30Wl{}9r9&s;Xk)>| z*yeA=umhBXvFQfVq=-*RSWh z8-V97(@QTiltSuG5JN|U7 zCh5aFxY0D6q;~%ld@8Mmq$)ge;n8ap$7i`H)(g}1e8i+YocC!JWPqwBktw~0oQ|hu zI;2+tFgTnrMSa_@?fP}=bf-_sp>~|rXUq9|B*J0NJ>*yU%LHU$jfVEu-fhYu>gp&L zsDrTegN_>DHaijARSetijc3pZySiFaQ&WN15faeUWefGKLiw;ceEE?FyfY|QI65F) zTIf05;QYt2aP&at8e1$w)NI}h6Ytf3Dd`eKk;p7=D-@zr}hQUE5@aIV1hAv-{o|9~8#ql2jz4<64E+V#G_*xf&l`oieu_dk1#W|h8n z*3$!>ot@$HxH3RLWrw|m94}A`bd^=a9tOC%VBy?OAD<3SKZF;O5Awen@BnOJGApqr9F|`A+iIQgw_&;?+(b-N=nUlw2S( z!57F*P(V*LrHLzFQaG1=BhgzO&X=^iD{(f&y5DH0QD%Lmx9IwYg7riRRj9*Rx8=eBSz+Ae`dmbe%FUU^{aUW`P31cCTZL22gpz0t;9k z;M=LL3ged}ONq+)%$nJ!sH;nlE|ne+;Ekdr9&9HGYhxoDCz^_b|Ar*-# z^1QXyQN8tWb`sp;97PvfekRwcN;|RYEECh;U4N1Y$!5NG*q!j6D>%S|p+64I>WF*& z9#!g5yhz1{QT;;WJfd_)OKj}hmsaq`RJ#W<;F;O)*8RI7>6?x9QDYLrIEZv&WlUhaq@Tk+tNT^5asDa`US$(BO`UD`l1aS8E2f+T$ zMlcD8eJo7Sa^@OaZ~K&MI}+>shKG;;Wy`iN-KTsnw_B@~67~K~+jv>ahnT3W(}mtE zOk;RC`IlMR6iq7xXpN6l)W$vU!>UJz%o;U!{NZ$nL&BTgV@}?`?6zac5+LTBUvS8w z@N*)rwSa1PjK2Ba9BPgsHFs&a{T^vM-ZcEzAtZ?!we=1SRd>;*ydoOEbVcYbT(I!B zaSa7}mk-V$)$r5jjSZUF!QFiw-XBjNuBDaKSb}aZZqt%T$%~SxVbD@1$rhp|XlCfs z@QVqplw(ep+vG~mJ>ShP zCZ?7>iz^nD-F!JRGz~4mGSgF6P%<(wF(fTLwX$(Gn#<> z;tQ@S>)MdFbt@_X1IyCjRSyoHY-MHTik)HDlzIpYsq=#P;UE^WtWJ8%hPWO)0xqkk zvta%YC0vP=r1Vb=E+Z~0D@Rr@!#>eo1cUpQK*GX?4GLC zKXscX%lmPKf%1MB#f`~W8GZWeENsZMmTZ&W?lv*PJ0ut!pxu|n{tNTXLn2l;JLJXY zXEl|uVin-n%%_>~M#+Iyvmu2fnW#TokjR`?mxnXd__I=&?(m>S4F!le^n-->!IA`m zd;?D)DUobu6MKm}dZZGW z;CG}@R4@w9DU}3GWLwtI^!s1&QV1B(2{c z6=L#G5!vF8*phzm@FG!?v?k-YNS#zDC#Dnja=ixB0peM+6}V4o!1dO@3}Jp zJUPJ^Zewj7r)g8HX#8al`(m7_iv9009i!Cd2Fabw z|LJtF?m-P}B-|06gb^tB+#+g%`uey71C*$6uL8p#7F{qZSSXixw5M6#6TOd+dh>ZH zEg`PHh{aIB(ll?ZAXFd#$ad_`A7pgx4aYLSm-{Q$LzPu*7t+ensEmByO)$~tC2ak| z#Q<5g`2N+^Dg54^wJl{{sR_<<6kQnIgc}y5P+ua!94$If4rzbBhYkCE8O9udt^#G; z{3B#lhcp6b6m`d#Qpw*h0+jNia2O}O5XLWBOFE0z(QdXkl-d!FM!-Un>Jw&rQW@Lm z)>T6Wq>%y7=XUYIjzyQH#NX_H9&!))uk-5uG!ig+T^%i?(@Yy-ynj#Avfi3dd2sqX zHRzO*rgJ-Td-?p76FMqy$7Qh}S*DoqY9!^^^XjzFGswFEkHjJr>F~jFX!JRwL&@$4 zV;@yWd7@crMl0lMvN()2!lbT)?>dZEJGc3!_7xRM=1F4`#LZ?ws)~(0Z{mxC#Sbrf zB)!?GdSRgQjua-M)shrT*WVq{p8qaG8JdXD({gv*u>Z=2eal6uxkCU@=g!H%Nt!RR zhjW^%3F3JhngI~He@j#|6d)KaXC_(!CG`epRd2men;bst$eN?C0E5wmbWtseh+((* zKukSODqaGApW}XyK8tlWCEHWqVbZA8Hyr?5wEYUD&=&rms9SJ*CC5 zB8Q*0a;g)@+=P^yu)3rhO{3zrd`M^5_Ju+qlK0kV%|xesyvxAoxOxUL_POXjtQg3F zr@mTEM9%8o9Ay?G-&uLO6!VM^ot&)boM}EE(ERn*xKF)nb$O!Iy@_4vQ?(ws3A#of zY-~HvI!SuI%w9WZpXmc#cfcSIw_8+KBTtgAdI1`PcK_h=V5h8uzrENEK1Wi3mcav| zx+%gVgdEU{?EKh?39DMOr(Cml%mdcR_5iZ%p)cyBu_sQBdEOk|fs1-SD*bBMEgbfP z{c6sMGZ&XQ0uC1dzlsGPhi~{}zRhJ4_+akU4zawVgW=_6!@Iib+Q18fQKnk`KkI+P z;^NT3v-?|kbvZyuk}UKYZR{ErDwE~)*Y~u!Q!i%q%o1eNndV%rEQW@H;)Aj2F*N!; zM@!z~$_UH1s+7Zq?Y0QcI^A*ML^JRb@;;{=ay6O3@^1dV`uym0^t;5H74KM6@M57&PRGrA zKgIsG?hkG4)>CiQF(?Q`-zq-Xn+FsBWiJQxHeLzuxq3<9L23*qBqvvzbKIWtxT%dN zyYlp&;G9M-l)$w@cgJUu8C^9b%awHUL|z4&c9s1Mfz!9u<-yfj=})D4m{Z}_Om!H5 zfVP|}yn1cqFT)`)2RM-w1P}4XRh{JAdUwZ%V6K$NBej*4VMO|X0(_% zmlTqMeohi1W8tEk4sndbi411?=ZAJHcz#PBrzbtLQQG%YGfJ*Xoc6|A(_FJ?(l*#8r_v5SYJ`(CPSMP$@(=KQ3IpsWK z)@QF(VF_+)ZK6{*4pPrK`$N2kZ`+91={e6q8wnsR*%&yi=T`)|Q0J zvmaI}ZSJD-R|t$RZ;yexsy7iH9zLh{$SXG{d01#`r^uKqx7+-Lh4$J7FE{eh-TF2>MC3&Taf~iqXEAc{35aVba3u2;zt4TLofY z$W~7LKZN;e%pQ<}L~1J`DuaT5@zKsWJW9q%)c*}=CZOHRiNrqpH5oRq3rMF6?|FrU z2yV}-y~h$>BV%7(+`Gi1zsV2P@u#>O)D5+Gn1+40IS5rxxt{Oe2N5YQd%GE8eE-Fj z2O?4_fz$cE{ONj1j-vTx3f`%K)OOmQy%?S7BS~HWmZMfjoM;3ARY4;KA;wG_p8H5{ z9wv2t+LIht$qq1(n856qj#_6~u)SfD|G~FqFU(1m-mQMW+dAge5;KR-i8MaTLrlQw z+O=cXfhaeiV1+y@knaNjFj=S!lY|Y+srV)(`FtvO{WXg4fhWF!L_FT_xSiqyvfSD~ z`73|}yalL_(JDT_42=4uu(vK1Z@g9+VQhy^H=6&00|@=+e4$C>?u~vrnr@FtJa@Uo z&pve?HfG5C0yxVkS0=w}_3LI?a`7bzVDR4p_YT?qrRM(KSLP%&P}9L~&s_J@uSGog z>g1?6+X9~04LARIfl?%nuoV^652s{yr;fBOvoroD>jyI5Q|m@w{?}K1u)_3)r>zw5F>jpyZ3>cARa%1IjuWw!>;Y~M+;*5i+ zk2||81U0f%u$Ed~3?0X$R&;k5o%2J3G=;M>@c1*s0LBQi+0N=2*pBau1~S&5Ghny;qeFjYHFwtE0GgG;)A66_No(lN zyp?*jmQYAN#$d~)j~s43rdhgj;ZH+F^6yl@+#c#u^Y49=Hb?<@LFz8t)lm?Yif%S0 z)uDgrwOrP7cYF@t!v0Z)?{;z^kp<$f4AL77%MX z9*bT30{7LF1n?Bu{cmRM+?w#nP3P!%TTW5gqQuxqf?njoyUs&ESyF&t4?`ZjsO&og zv~qwOUpw5WFCasjafiw--G%r#UWAT?JqFp);lVWl&#muSNEZ=&S>1};b9IFds5kLr z8`<9vgt3zP`mmBhH%4;=jA--?4TW8nP5>rF2e+(rVH*$AYC`r^pF3K9x*`M^8-x`h zE$b7k_;`&PUt1R!g+v?E2n$mZUk%Ez6y-2an_d&2%37}v=;$^RW!$89Kd>gobkEgrgY$LadY5kX$F6p z2V@6xgMg3|V545N(sd~KX_|{jgCl}xe;|)~%k>(ld+f3YJgFwux4YUpCR?MT zz%o(+9a5T*c>1W8I&xe?)h%aBqZ{n%E)r5|cT?#ix#=r^Au13w2x$s;>B_B7-D)ao z*eRh%_VW8qN|1XxkE4oECu};uccg*-s1ShdF{^gS7A`u`Pry~qLRq^wZqQg>^R!ea zuDRyyEIu7Chg8$|iyRO4Z?>Sl z5HC0$m`nfx1h#SNmt1E3W`@zr*@=4z;FDI&P$X9X!pU7{~gf zDScr>A5ZmWFnhGC1CUm@=yGg+C@ z1-J89W~sl>L?~8fWLP{Fy>|t1$_ipemtk#+Y<^ zQ>^m=-CN5dy|O5CD_Xi^f2Kb)^g5Bx(r-T6ubzkT9~oL1WrT!G;Oy7w8wGckYBTk2 zk7ea~gwRa`d?zlOhqzXE10MO_yr4dES_4cH0T@u{t>@vq!yt%nwrT|Ah;yyH?xql@ z76|IxY}t5O!3)mST-q(Cnm-;J*SZ7U~X^N-s>G6u&R)khEX$h{^K{qj31`*jE=h}w}tgno*f+MB3An_ZD{8RD_aCp^!xm{` zc)z=%HnOb)6+JeHe9n=Ag4`|duiR&hs_7!Vj?VHl+bss8Rs2Vc?EIsm_nOPeX061J z=9g|3rJBx4Pp6hlp*u#GELErI78~r4hUIGis$Pz*U>s^pe0N_P^;XH?JNT~Sxt3X% z-q|d*9ogd6A4qIIxsE{*fa2G61-SG3-*>wg6K`x47{|vSNQD0n_1dkYk5BvYA5Y6d zl{=t@%T8@47tnrGH=q|Y#lGl3hUT#q5h}%%YorRFd388AG?aFEe7s)O-j3%FzJm)&7;mI_G|@x+Wms19EN;?K`NieX{`h0m8&5P( zgTnOrL_vR)?rT^@aInDYAsNcsUYL)MsfTHVTXQ14z!2G3HIMwMEpWuhdkEmwr^VQj z-=_g0uLOvqs*R2P3TLWy;Y%|DpnjiIg_W`>e+~d{M*!8 zj#w7@+dscS<+pU9n`JT*nTnFmpJjtdsjvc4{RJdMMl-)#6&T8S^+`85d;BDuklf?-=?4hgf(2+l{`&V3 z(YwF@y!YT|cY#RYxx3?RQ!OW=W84@mp2HIjMKGGh&;Ct-5`y(!XVVVY^oX&!N2nM? ziw;;(1l~Q=hsCm!SH}@gsZ6$sY{c}@oK4k|#wF5c zTFN;8LpykBjv!NPimWY2vHQtQ=ozDOtgYtTsT$r5n z_Z09T6vf@tHCJlqI61#<1d3iL8mm^nJgJyV?D6}jf!3L4gU;2DJsad7RwbUFU?C%_ z<12*#Eux8d)Atu-L}%kM)p>$-solIDXHxaTAE^g4($Z@vihe2y}QVV zw}B$aHjXIvgEVN19R(d()C-mi147UE!M(-+{}3$QTw`(y&;H~hYu60eZ9-P{+v3aj^P(owpW~4G(yI^R(BpHc`ccW5|c{kO;otX6uPBrsOTY9EZ z{$KQq?0vX9M-8#V*fMWG>`(ca7zFv)2i_D9Cf1m0KUmEQ6>Ldn+=5+?nyW$#c=BHX z>qNBU1FP%r0Y)Ac3`>@9hl>6r?Ze+6wf*m&_QWzB9()Bpa52VkkiBWS zsGtÅ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

    M0urQVtmV|0XUN1-j# zy?9+|ELg?F7<+35Vb|`!oT?~UWe9&I!wZ69;OxJ^q&_W2D?iOx5*uDQA${l+)HSp$ zAKNSRwzhV%L0c~8qbn;><3}GCndg?VE;1Vg@gqQ)-3VZ8iXu&q4xR$l-~X_JSd9U$ zn}9GDr3p+8r2MF(jv0VGL16BFhOUydG$s<{v$9I^qD53)EnYFOE<)IUf~M6aZxPYp z^nJFT;PH@bhI=EdJ+nnbcNi=jPE>dUN)$TzzZ;BMn#ldgRb+7^yF#Tkx_{~5bqaeC zdiV37FG*~~yMaNdv@M*JdVL_oKK1iN#eYuP&oJ#S)zb?`jOxG9|w~ zk{!&~W8x?*Swtx*{^yME^I9Q1#bJPW)}y1@u-2FzFwo@R~nHy>lB! zyYFcW``qEXPxs;l%|8hz(4Zh(NZL_eD|6n|h$cN415wh@nC3fqi8#8y8SDJtdByh6`W+om^zWCypD+!1 z1NYBrkF#|!4Os{*Cx7KCAUd;)G`ACsU<60b)%6U%0DR(cA)nOAajR{XkpD{HZpGID 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 literal 0 HcmV?d00001 diff --git a/packages/viewer/e2e/visual.spec.ts-snapshots/sample-dark-linux.png b/packages/viewer/e2e/visual.spec.ts-snapshots/sample-dark-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..354e1be0e301c2b9b09674faa33c42fd96828884 GIT binary patch literal 113589 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%0AbDl#a}Svb8A0Aw%{9|2 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 C1QtO6 literal 0 HcmV?d00001 diff --git a/packages/viewer/e2e/visual.spec.ts-snapshots/sample-light-linux.png b/packages/viewer/e2e/visual.spec.ts-snapshots/sample-light-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..480dd0dc44928100b817abefdeeb238dc41d1486 GIT binary patch literal 123042 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%0DFuZ{Wuf6QOPCUs`A56Hc~7Ah180p5NEnvXhP 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
    %Nz^p1J z>>(9HN|kv=v&BGbyQ#?0ai#2POs2&dr(DMaXgVULYq*7ORv3QaCj{BDwPOvq~*ZO_~G%I0guF zG`Ao%@Z`0(>yWoF|NH|zBD|N_2GnvuAf13n&4w`1sLwU9O`a_-z0lS`_d*{J56|(! zl7WVf4x2+!I!U^i`>^5md*8{SPzzUaK-Xi!Is1Cy0{NjZFFZ>=DVXxJ^S(17i}(*$ z=yE`O?D~Dzj}c&4;cqk77{Cuj2ecMsiXz}s|K~;A3b|WqbM5-I5zR8+n$agh2W%aP z1mJ<0+_bpsP81pQdqQ=b8nf?5!vln{@QXH$ zgG>8<&6KQquL~C^{D88akoJD6HVoA_N&OFJ0Gc>CR(pMQ^c!lN0oM^X+K?UAnu_*SiG*4CM{wzsSqR^rXm;^6ZR^x;my^8tcJABl z%gw)6QzlS%?6Bq$8hfZxpPwt-kI`u4`@Q5c>@Btm6S6qHIFwv$r3~U5-rsgC zjZW}oYC9YUN3NKCm4~{J-evs!F%$;ItnZH3|FMki^v6=>T&3&d575%@_{m2^z+L!Q zsjN;aKGV{2cq?eFw7rCyp-k|-F6H`WTR80kxeVW>q3K?@H@{;zh`|hiaenUQuukya z9>t@~6t>-++(a_))R^jt^j;0HfnuF5inBY#{0TI#whXeP%U=)TtcaRp%w8|M?O&NK z|NgaxGdfo35fRr+!(D9`?a6dqPpvYG{zj$)X2E>?(>*}&n7OO_lvzBJ>B*g1(dKon z^K@XIe#v(dlFIOM-m^E*U)6| z=>FzoLG+Fnt(e-T=c}h&?__P>8QU^0eomqp18~3cOka=}dw147?n=t3FbmFea5W8a z!2=>1R6u!@EFHCE6uhR}m)-89fdND~HQUA|#sPD#;M3U<@c9r66|w9xG8->b(~_K1 z_xn{JvPXobxQi|DOi#|l@FM2--2V`uBD4H3#L5%`l+twcPI%1oh(eXtr(t4#qHw{g z6Pl-o_Ye*>pqALY_L?|!Y+X_7rt`^Qu@_JJ>sL<>A_l#~1=Jjlx+Yisi#f71f9rm- z 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

    ohT_W$fg%a7;*vdQ(% zrriRaT29uwBP*@EVwe4PL*17&#Fn2d>XekLOlO{c9q3XSe=tLoZpL#%I&JusDoZYwuQt$-e0I72 zl+s0_#^-X1G1Hc_dyvmAlZ=DO=h4H%8O0WmlXiIjT4-_Lq&}6fZ6MxXH+Lg}pSk0Q z!)mV8)s+?xr|%Lw=Lj%4wv{)YQ6)xc2m1&-xf$ zE`^&3I8aJqUShLZBrCh+z##`^yG*DMmsR3kz?^o=Y0Imq&|$HUp2`$d&+P}&0Cbz_ zm+o2w5c@km$gMkR;!vsA(3&;glLb%S$DeTjJcI=p`*tM1NKN>iyJ_0zOpdSRP);%t z&;jd?ivP{?kdjFdS(3u!wFG9!^t6)F0k@#noP@y}LGFS>K~Zrzo;{teOEJLe>xBc~ zlk>|h0|G@IV6nW?s!mNkW@zs5^`0Rx!T@@6_04}*_y3%Q64qoH^1zqPh6o6}2g1<* z-fb*%`{9m?gs-%$KeJ8$v|<}q0k65r!8v!VqPsLmr(!GoB$a;1Nbx1Q4)ev+^B}rAu9#Do5G5}8SKY0P@SBoK0?_6}Xgw&Gidk1Fs z&KNmY=X|EuGz|vZ4XpC0b&BkdNYKDpGvyV5c#2P(GUjc%O!l(Fx!j0$Ac1xV7BP7Q z_~__JyZvKg0j|$wa^gJ5O#&n&kClMi0_!l~`!rc2EXbCGpC~DzPCUE#k)PjE=O7(^o2+4;LQ?JXSK{cViMX6^(D04f@yDbd1gj3_17j~OY4pUGnQ$;eUR z(Mb8Uz0X-*6f?vo4FV8ESg0^W>YFeX?;NdOf}Y_2tCz#qlwWl%*u1Qof(uHK=V=nmU_lofO= zUH>NF?Bcih#Y7lhOaV3P=-ULZb|wcx+m(R7tM$`yWpZQGrdK~yGXoa!ysRH8nDw)% zDTO+up!Omiy2y}PMz9;4I^pdqlTev}1z4TlDGb9t@Vhy^n*Hr?^!`~qWn8?9LVqrS z5Fg*XI_Zo57uc$30gRN(*a%jMIM(62T9YOlw}sr}1)Le_$tH4}v@dd?x2OivcyU99)T&O4wfKDcprBgJ-YJt-%}@*4VA&9F|dN8VpXQ+&kde z;O(53mshFv2|zxeXdLR73=DymiOJy@aq{pr79azI$=*4zx7!Hs8` zZ&8R2I7CV~8#cs-THbzIa&tO#+j*weS}X?kByoAasj2jGh!6DIo`)%4h!5tfi>s=t z8XCx{`c&ki`5ny>By69Eh2{fy*!>`q8r zY$*qZWNgp2!~i=9R0;aL;DaPWPKEPhuW~e4-Lv*`9YV~QY2FQW^qf6vgfgd2Yg?g)nn%(N^5jFe0LY97} z>~Z67l9GFWr7VbU}$PtzV=cZ>_SiGw3s(}(K48eaG>=U@=WG~@l&t21h+lR zx3nnspPUtIKju$j4qbpZJa4_!>McY41u5zueI?m3fP;yv{M!kBLP14TvKgNritu@v zu_C`MIkfj*^*`si{NV zvr9#pr|jid;GqP1{WcNE)w{sv%_oc&p}<58`0$G9kG)#tj#92uaCqh4-P{4E)tetv~L|1+?6~J zQN30u=S$l}d zLOoMno0#mL2Eo395kbf=U?I0-q8_KdR4}N^qImgiPC#2 zMfy9Fp;7V7E`oE{TC_^>r0LGHwHg6ZEBw;I?z4y>dG-L4VfZ)5?AV<-bXV4(;FZ`b ze7kptuYVI~XER?rYt*QB{Yk36J6IqTJCqi~PaR3&Tw)viMoXyqj=)nj&X{{UQ591i zb4K;pt0Iq2j-c2YRwDu(qU5fZLZ2uj_llmOUaw*+-)6i3mSx)s)_%Gq{AvYZgT^jF zJz(R#>(9K+n+FTb`XOo9VtKA6!+XbiS(2UtObCt?m0Q%y9Uea>>|s9?{SUTagJjjcFGfz?%0fX8BrDfE^r zu&@C`pAAw$6wR7CTtZq?*Q10=I=*5uore=4diB8mIiG*nD+MZr#`=88GnxWz8Tfq_ zG2V)qk4Glbu6t#WPYN9%fEZ0o1ghKb)^Pa{|MnmSeW{_U6Vo2swzLI@pC)j=TyV=b zrQ42a*>%hivytowPIc~_Y-V=6$r?X!ehG&?2Nlc4+igZPirol6DN{*VyVlueW=`ss zC2_l+H##q0O^?uucbf7(wT`cO3*HLfX(V}iaV$%9d1X<22!rn}4fnI{LYY^qlefXF zZO8^HP3!KN2;4YorOAD2r6QI4TP+v;jjS4i;=fq3VCSX63E(DL%107>ccCx#R>SkO zKWiRI-R6zvH`c#&XQb&X(fSu(X!J*$Hy8EFEOswN)n%}3So4S54JB*}uo^wUn%g{A zFqkW4?}^PxSjto9F1qH^EsNvrIOwVwG_-mb<+^p`rdU+RS>z{K3V1DEfl!08=&YFt zgE)!0rWNI}v$O3m-s^^C^OF+v;bmvJ#g>pty)D;MdI%-|82i%oif zED@6w#e(sBFwv!r>Z}Aro-mX-F=UO{np0b0qU5a%=o?>=zb!^jqF;i6k&>Z z^@lc5+|MImwq>W)fNQ6zq~HOz>!u+9gtTdz@y*))u0P0a70;{GOUyZl)gGxn4b`^_ z=*It+>avx$QJQ<&v0YBYG|bV1m*KP}sDAG&DE+}La+vs+_T$rxn>u1aJ-x@4gZ=J= z5B4;HDH5i->$3bID^+P-|L^+eAr!VZ`D2LioF`wyN=r{Vnh#QYsTU(#* zLxu2L!G$pE=>f&ks{M{s;`S>_iJ=eVUj68wW8=bVbw@*Pr5n@!P}5K)FpNL0MicDa zwmPLNA~d47pXQSoM3}k7B~+ecPg`g-ntmL>sW%uGZ(LylfyhCKKzSgNTC0pzN2-xd zgEI~ZF3zQ>cE`}Zb3Q4j&d-D5Lgt-IUGzeWD(t@(@~M%N(c^1by~d+m)?}Z5oC?)3x~#d(Fk>7o*8) zIv)Q)y6$v{ve>`7Q#%j2-A55OiJL(BEq&)#FQer-{-gIjKL4VXCix-H4=+Fl!l=Qi z+;eSTXfiSUh~ z+s=f7?&+)zHlv2r&O09$Ocm3VitQ!@#M<1LIwKHRW2v9pM2dF|&$p~Gp zhqssbLKroiC3W$Rt77lU`HA8k+@DysOTqX3Eco%>2I&sFw#AVB8GP+u*nho$H>)oO z#2hbs-R?lo%Tv+ZteVm`&N0X^Gi^FAkjSnzR#&A76Q>AeAeC5KMzg&coQBU$jL4Z< zJ5PT%@7r^gadgj;&HYkX@Y@afr0a7 zIU!FmC316i+6)!RtKW&;k1h5L0Yc2Mh=mn}Xcz3!XgzX`V^8Dj;nh zFq!?D>8HIKx`KH5%oEZcz1mIqI=ErxQ*<3-P=bD&GyS*lClmo(ik}o0z{fDYjKPaD{S$cag*I=j&#wmB19xQ;Kbd@ zUyhP4!$cjM+jE5|6!g@!Gu)tr01{=z1mfrQY|DBP72jAo5i)3yV|=urK?uWC2fj0M z&;}@$(5lYg*RiQIhZ;eMj3C6=p+%+R7!DL}+#n1G(vkD;)@}cb0{i+?5k8eLya$|D zhnRK*NWgYuf-Xj%J@@zKr)Z#HVHyFK!{aqblq;FzrZ>hfryL^3A#6rr5@=6= z^G4h#t+QkIGPd{&LF@vXiu6J>JZvgGQi3rdeRfDRJQa>}bpQwy?)(B(k$5B$-dv@H ziIdX}!1yf-c*mO34)V^$4ORtMW?Gb$S|S@^V{gO5l62Onkxt^pzS0Fp`u`B;SS+_| z0J-Lmn|{Gd7cH1Xd_y=2;9mg%x$ATUbY=Y{Ab%~b;+qzk^V}ay72obTn%>Od;ktPl zC&QpCUc3M7*28P1yk}SCSL<-s$nUnXn_4Zu>Fqx`PACJjDGtDIVf;a6jutIhCTiw@ zo5wZ*k`7D&(cMMS_%rx21k?C?qTbmg2^xT}oEN1?v!d4>>pusK>GzkGBIl#JmJIBg zlZLCQrNDm-%1LI*&I};xGeWd!Ov^%Dczm^JnV8)#1t3Ol9D{|d%iEUN-wDw12kd0Q zorjVEItg?SD=E?{g4`8Q>MRC^TxwFh)gHRcR-iMIP z?B9t-vCVaRI@Ny+*T=UQEXw}4*GvyJY2lE497%CVh9Oj4@?MrDVCrrhESV{&A|-qic_Roi?uccl{C9(72(gl<3~Y z?)jwGNceo2L02$If=U-sN*7QQuaH{EE6~SjIU)qiozwS(>H#9D@aAisj0E=>Nl3sZ%qssH_l$c z*AJF2Hk1T?Wt#Xfh(lJf6|Titf!v8IZImBeXJE9%1|<$5?0PTjuVU$C+q8XefzjFJ4t^qJU;46Mm?^bItOcY?Ba({OrQh!ec68MfJ|kjU#k5nxb=jKKl#C|&0z zq-xXa@0N)3+Y!S_@$MFca1aitrYS!O>l|W;dAZIB?zrkc`b1H(s0TM0Oz(b=<7B=a zO@p$M!wg6X!IGlgu1Ik3d{0~yyW`q9Tt0*HK67wvj~26gHa;!!%a(tywVjk-e>#ZS zz?dn~U}$|xeLMYo#LSvKwcO=qiBWZhJLl}OeqeaCeCcFRT8;*3kKCmj)}D5A3Sw5t4t7#*K;4-bzN;Dbx1L&wxYLYd;EC$_D#x` zmBlXT_qA^Bx5=GZaY~kyuvx)7kj~N)aFuqJo2$T zwU*-qt+@1u55rsQ5^#p+BlM}vF$XP2Iu7TBoB%EXUZS9vi3z=+$a96|`H47eeBy5% zwoyc(1Hk|*1RRcg$RbR(<_cMoWqg#@+M@AKZ_J(5Xmz|ykQ^EzQ-7{phwKj$IX^8| zNf>T<^-%87@_la&lhXLQkG2=2Fa?qQG<2sbQp$8%*~(&ud*67kmU|_I(}yCi(bKFWa;MEZ6h}?9&*|pi z*8FK6h^VJqgb>H>2k~8pqt?^WYF!I748HjQcjnQ3uB`pxW)a(% zFxy}}-K#;Lbm_VNVP|{jC_pPR?euL%4Np0|Lb#dDO<=ulKWZUcHLVus3q1_u^kZsQPINNJ# z{ME?C=Cvk!x8R_gtG?5s+i>gkgY)jYasKKN4V&v+^A~al^wBTyax1@the%b6NCxE% zjtY_IO;)N^+mv}-bjeF)0Yv_N0 zr25AlAy2Mb62+;zcgHR?2b!_Y+v^iJl|-kQrHWtem}iZKJd%DPrYn!D>Pv{I`+d)L zheUcbf7YbqXmfh%!!m!AJ>l5>BZ%=!y))e{Tmr|kr#+1&X}h@s+sMk!Hx*w>QhJu9 zZ~qrGJK9eUqG9;|Fs52HXU^nr@t}p8-$eDY2mykzNb|B^t*$c2!zud z1WwDW-v9`0Jr^I^IQ@W2QJtz0!HL_5EE_gwu;xJZL7FYmOXiwi!V7*5E@vZkwmlDX zwBN`L-y;xJvNJc%jCkuIq(Fv_>0QEj&#B6vJFS-+5`-l50&d77zgp!wMA+OKUTDjn zD-q3ce|OTA_$s(NvBKZ-1B6r?oh{Bl1tV?~BbNm1qx~;;ck#8)2Eb#1K0g;kK%hWI z`WG(tPmv|W_;jS9^gEX*YRdPvNYL#=eS6uec%93nJdALB40)TL%>_Df4* z0Xo#Gyy#bvon4&`hNP(aU7HZ&%eRN?aQM9(*C;B}tEbD%E%|Hl)N;k&D})>>jLW}G zjM|!)H+IJf%~6ksv*$-eQ`#0Qt&qte*~eWJFE59BDz?+ZVMi~gQ(pe5fbX@Ims>ex zxUjZE^~FRQx6}DWDX&*r?r#*$u22RQUJj=-+kp#&oCqRe*pJ297d_gljhU&f4K-WM zpGGexq2nfL4(nZEj0E~*zaJ07qO6veIBXmV%E{}M4h!QsWi=zr8PZuD^vamIPOS}l zbfavbzfJUSgw)$-tGYeKk)df`chFZOn(AP!4dyM`bk<&|6EOpu${`Iu9p1TQLHwrJ zC{arA(g$`1LPTk>kao4w>T@+b~ z6w~+V^%JP8DCkfIO_#gw<=_Q;e9NbHxn7Ulm}=cw^Ay=3bkpb{rPlJ|Rn>$W$kEw0DoX6=9lPeb?@cTWp9X^2wsiBO zb1k4Sff2@|!Xl$-r4V%E?rDI3!jL!EPX=`afB6Biwk9Z_+{F>%c)yY1C)4+UyW2cr zIv02|Y3cx6;6P&+tx-&XWWR9zK-#4fBnJ?*Oz5y5NTF8Y+i=sh1Ly8M%`uvS-{X>9 zXjqfMeHr1DEDQKymhmOGvT>X+x8;VzUfG`@N(M$$c=Td|=FQ4B6PM{MdP`S$8#SEC z;4Kr`4t>PZI8I_K~hDf&+wCDyizJ;*5O5O)~Ha}hK4^;sxy7LsDt7WcCw(qFff4yXA>__8FeXdZ&;) z<4%gia6Wky`9)=XEj4YS5>AzM%wb#hwa^1f4a*Wa-5TjnIRWwAmdqs6N{RL9uXGqv z<@I(KA5!`<9WHNfBk37ST&={$qfAO+-y{zF5XFf&=_Sya1&B>uWO;zv9A|m!jrQ&k z4%7kK$fg?c?=~-(ybe(bXlRp>IRB%<`a$EVcx9x1967grue5JQm2HGSosZ23D}ok( za%CdIe5Fda;I?Z)W%kEoai&&tH|MpKTDu&k+VJYZf>W@a)x#7g+(luZ_Wso!caBTR zT=ipxUD+_Dsz<|KHPmoMn!t>O`x``?i9fUcc-eE-oM-&h!Q5-D_KZeV(=8>Q;iJlu zSu+}tUjT;KCeOw7kXiNr;w>Tc-9NLs^VJk`@l zjE`bkw#`*-A^?fR>BaW;u8#OuPhF}$vtSSN=k(ngjK{VCPsZQ-8Vxp28_v!U;Xz0rQTQLmhS^t4+0^^R*Dtsp zVl$)e7uCQquRCFys|&v}oi+X4xws>Aa2(g6t#ITe7Is`9BxjkKxW|uQs&%l`f7-#g zM4UT3u{J6$Oy#J|n?54lvc!H{)caXW(z2Wco#TT=9gb$_!}Ip0T? zkvT)K=kAh|$!x9-#tvWg&>`S(HI%t*?U&Vj`pw`zK`diQFIg^jybjLVB@P=(x=*yA zV88LDx@sZg+Wr1+h?`Q|ZW5Cvz5Xd|JJXDJ8-g95^m|WLm9H7nCEXsv>*=UJeNl1+ zOz{8e1$>xcth=21795YyZ<1uaJa_vmAo?)~*>br~6CnU=Bm*D*4d3&fnY!cj!=zCp z-{ud?tpwiY=f{UIH*wvztj4n1lWg^DGXs*_;uSCRA)3CKdmV%(&0UOw=(X&utZDNj zjf6c85|0C$`yX=D0I_u?4GKhDGJ@-z^|Ww17}M-~?fgh={TA}V;2`pGMcN9W3q3Zg zh!jjAx=yY}>~}&9hKU!t6so)uK+UOTccOZI(d8~G&(~g`FT${v{$+}& zN7?S+6pg`4=Axs0rOm3ZjjNp*vi_GQK$MKz%<;I`20t`kieYdoq}X+VYQc$(AZDNi z4kB9-6Z44xDAC;6_(=xnb?oXRMjr0VFwz$PD!SV_9}PP@$7a-+r4cS$xzZY@nOVLi zRviAVU0?3;VPIsB&>@hgt!-i;UMeY?Lgn}uvVn9G&*cpb5#fxu*3YQq5Hhxdxw`H` zgAdXfYJciPn@h&_2&Dsg6jpSSmwZ^nMCC7LuKql z9)=LRg-gb|7JGe_HUC)ok9SDOYO5z9PpmmK!}b%6x?43htZ^~ZxlMtrGpb>~8?OfV z7jJ{wdFv&igFKFRfd`AtTaWD1N?}JHnLKB+aibPC=n9X^_{U!Oyh2TrcylXb3(y~K zD+R}g7%mFe1Nfuus`QSC1;^eDmP_}?<#Utdlk;N368ox@K=i}{M1^mXGcd-cUxgDe zMD>xt-!?W{mEE39P^?rNLiq3R_92;`O*yrf#+n{Ry}!yxZ6_0`RFA@zb^GOPm*a`eA!%<{&y%~oJ2 z@eJ!wya_izF8~cW~yMnm%&N0?7RyndXe!--Y9@Sto7S1M=N_ zZ2m_V%eEeUl1k2CPMZZ15qamf)@~yPI%cmbs~O}18$Df_O1&G~_J`tD4T&%lbYo-$)VA{_X4aT#e9J zh{)g=>Br4BD{1{R<`NOk+=S{3b#J5AtT9lLuY30o?aQlSHorL1=1l-24Z}?eSa653rx=D zZbj$XfGn9Z@<-ty`i&oYRY#K^$?vcrc-8UfE=&0yoEOY1Y$?*Zkv(ABUYB!3&indi zWSaZ-MN__KRj0YXd)LI^`eH*P&js-|f|w5h;pU<_YgNbT?M55DvTPolURx$Z4Bx-e z%4vHvKSq2p>y03+epr`m4*YKWd2??MtFr$$=k=i(S#q*X8nZ5sO9TNLtkp5hQ4{Zd z8cVf>&z^_OBn=$fxx^Z-XhxbdOrz&Q0pUzJ4h1%8`qtQAEo>B z_w~_3HXTs$dNa`W5L>cyJ{LEt-f|oeMD!i99&FPkQlF;Ta34VB^-QxwPYGrz4<6CS z@j!IB-0XYU)^yqLLjSDL*t#5{?NR%%9+sLOSzhPWT%7$G6@F}@_i#q5c*=C;X(xv^ zL2Hb!-%G039}aTtx)IZELHf;`-*CAW8?(m_QXpgYH(&8SX+=C`+4aoIEW-aUU4u;m zeH1s%!^ke-_GYyt;wD74L|cg+1cJ8&^oKsJ0y!y#@9IO8{Z82`l>}mmJg$;I)USLc z=D&J)hn?x9rTawVA2Dl=l4PD-QZJssD}$YwVG+)zl6@{7XAB(}?X}RAtvg=roZ)wV zzDTa#%4GXUfS4*p8B}~(e8_!uRNitrSZoenT4|NQN@t+pU4UK*Sx?~Y+8IGK{me(I z)4z*atsU%R*N602=)nY{zO)L+;c-RsJqaUTIr}@rn65X}c2yJAgY%z9vI`RHUv&R0oZJ8UkZyXJAUQ_p<+Wbgq{!S%9(Hj!bZ5G zfRI1*KikR~sD0kye>HIUN5T-`*8<`G2SFeNUPTpYryG(Y_3_3*`X)shi}~{z$Y3Gc z@de)BW)TO`0I4tSD}9*ghym_=bzgP6*D7ZAjSxeG$t>#u&B{hK+>gPbdCojXk*~#i zy7w=~7=37dZ=VMWn%9rz6f4Nj#)2_Lz{sBigkPe|oB?RU^Mz(5Rdvayi!-KpGwhc!Ep`MO5kT&W{NhY^J z@HV^F`HLq*Z>J{+3Vi=z$y}KCGR;&`ntK4JP(C{BdAQ&^5$2BjjN?vI278JxU4=BS_fdNiN--tDuC;vzwFrty)W z19b48Vv{-jx0BB^H=H9+Wq#F=b*N$foO+*QbMu$Kqar4QFB{+P122ZR?nh=`yINi# zEfy6;NeIRpcgX@(r0!f2M#mZc4aM}{OKzBe-plO{{mjCmu1*NB(?pr0R@Iw8E*!}F zuitqq$Qx{wKecO*4#IK46k(vIe%S{!@DJRohC-!)SwZyY)|S!TN_IBc3w0Om{*r5E zWM~+NOjM%RI!X)5ZHnSk6WULGAz(>pURF7wP@^G}f??O|B`2~NcwF2)!rIJZt(8CX z;vj{z*4nk|rG5M~2mf)WmBW%!Ue_t*At22PB%siRLjd~Oo5p$WcsPGMAvv1q^>kfb zT|HoZ+KXSFkPw;q+0e9)TdMu(_FXf|p$5lh8hg8QA*)x{^|qEMNMZ7=cDuu`wmqoH zHs96qiqVe|wYt?5=WM{03GkV8SnYU{h@%A4<-lK%p(BLoeUJG_N`a1y;r%s#e2+Cv zW@z8x&EhgV2m}zVav}wjnodjawcStWsz>=;_6iF&x3?iiYGM(CQj(G%3rq6yZdW_^ zWch&wqP?2A>g`CpFMHyXS!XFrUJXxQ?+#*V541458m#pn?9d( z2kmV16nH#8w^isZ|AvF(rLuEyP}bD6P>gE@vN=^ajYiUHolmdfFX-roLT4}#g5U+R z$K1nUh1PVUpEf2YzHkx3fN(lrx&crVn7nRt>P+Lbb2?g-S9a)_%Kw52AN>a_tFPOD z^X9OAVW(Z(pEd68U82^+(*@^b!a*^;n9pm4@u&I0>H_-b?c(7A|R4;4oc2B=Zqu)$&$0=EFd|f1VKrXqbNbLWXY0g z5D=OqD7ir-gV1L-yzh6;-gS4?y;bMOT|czDdi7k3USp0qo@YE`Ocouxv7C2r-v;JY z{(*CuNd(MQFLZIdHDgb&iGdX5Rr@iRy$xEmZKUU2k(g*$`wyS6tYKhVhfD zUj&P3Y~mnO+2caZY|0-gf(A4p+Vc_66kw{OYK{1$!WIgQkO4Y&v;Y<)+;RPfrB&^J z*awlroJEH`{QlT9p9DPyV-*ia1>>tn5(_=)n+>TF+-CG<+7jGzncJ_{OQK}sm}{u8 zu%qRIIucpv@$X%{Fzr(AjZ~$^Iaq$inkp-G-;pUf$m$0-%p2;}79r~-boP?5w(D9k z^%vyp9Iqy=ZAXGLBoIW$e{rhUgVQAt4`T-qyD`UqDso-tTdg|U#;O#Z%IB&#Ye!%> zVwPldE!)_-y6~zGqEEJC166{QObU%9d4emtt6ZQp>-N2%ON$Qne$m}o17J}|5lN=nQW5Am!thH&tO6;&r1$*$UUc#%n3Tm?Hviv*fu+A>%9!V6E%o= z&&1_%V+TWctf0lF1m>FB1@4?6=E-)6!Y!~>%_L7`owtjZXq2a}Jyobrt8fBK5mx{H ze)Ranol9ZyF*j_wK>fq$XqE_6C=GR+sX0czV?0kpc3g{13zaxw7$xQEbryj;Y6J^M*c@_kSVrp9vC0%d^617zkxxuV_kAEi4`9-21K1H z86t?ylX5$8cq${rk@w_HMra;$w6%%2dg{*izdM5`$7gjtz8eSLOHrztRF2Ri?)6F5sd3Fb< zTwnBRW@W+_)|27yasvx46ehvWJXIu;668sN(e3`OBl_5mF3Tw-Fye0>%iF;nmp>Z4 zWC)xUquxZ^dPrq*X*PpcN_^*?AH`86Q5*WM!}`%&==$E@fo`*xE1gpa{~zZ21(6C* z74~#W%sz33?b`gy1#ojESeL@s#x~>qtxopj$!+7C654q7D(&!NQH(RaP^~mWo$t6U ze-fcbo?G*Q_3j3bsBErgy(H=6ZL-51hsEhRpo@b+Xs9!Zt$C02RBC z6Glehxhb?G+1fTiB69BT44sndu(X8n_I~iqHLk7v@RPF3kcqSPw2OzoVt%Rp^mMJQ zci+WqC3MW+fd93l?~5Plr{TFuW~q8Arh!|9aMT~CVLwwVxFp&N6|UuqGb#4niyWIhGL6jC=_aCrrL|Z%Jcz-p>aa@RKL{4hyd= zR$HiME9W|t&41oBcMJ@7pU+CRYKiWfP~ANpn6hE==3W&xGyqh6f0Y@JMsq>5!jO9O zhp*{n4OT6#sj>Qqm1ED^giF*@_}h0r0mBM{uZG?T?+yl6oX+M73Mh?zBUa>UbyBHz z^O`wN%MGd!4UoxbDsI-0a`0~tm~o`JuW!P)pc8cJmaFq@8=ao5%wncC7_rbR_4)Zc zgV59ccS^YnP+@5jBJalX%tZb9lVM^sxtNyxXRcTWcLPD7Fo2qE2np$=6&sWa-m5r@ z=I~545!gS4K9jVYc(Ur)0>6535c;UveC_?RC}-olhqjMa*V3*`9hQHEz`E6q+P`XR zEv|<3WS-=_P;dRsB%~p5(qOOP6XRuA2PFZS2zUh*c4QF|@lZT$j#&ODgu{=WIwiJn zCe|wBpx;+0M|?oXxY~Ot-@G%-@+ECkcvuGI)5d0-Mej62Q-hA))osT|zo4Bko2aXM zf|CA-y&S9@&#{HX?6)(g`$J>mrxysO%d;yO6JKsBKF&ZuQR`o2g6=Qqi+_X={#C2Z zBzqDMqouXchiWcb;8dk$yrh(@Y0Rt1pL2c%0{kKtF zIkL^?tJgm*= zGRzbtXZe|8P|8QGV|`5OQs#9|QrEkn92N3Czq2JGsdVvoJArF+7rsQV?(d$S$8euz z!Gc~);xJB181$#6A>8-gEjFW8H#N(> z`03fXYl7mQ&q~$8*evIm%jgs;Zl+;yjw^l_R&)RebOAx zZqwz-_Paz00($KpQHSQkGt`=&gPUEQT+;$1S)vwdW;!*G`tX$>?M5j!dY`{)U48gs z^ZxqCfVaLbReZMfkM|!&+ID-_sar}9zZT+%UsQ(^GcNl5Uh1?t5wE{Ix^Vp#e75|K zD5v4&Q&yi1t{11dh`@LCD@{Va0`(oj*=HktWR2pj`@Lu`Lx0ygOC>9|y~SMS_UFPW zUJPA*em17sk@e(guJBz}3ReeW)`o#${cq3#ljZ{7!?ufJu@8yFfruHQEOlBsudw{( z!EGx9?>Z+s8bdgTP{F4KB6Ns3N*6Lmdxzb;s?3wp#i;(zyA228KAxqPYuvCI53*GdFoJ=8Q>V4rB4YjZN|7+qq&^17RN;ug; zR_+ejCGG~b3TQejXue#lU1OKH_^pa~vAo)VXA!S(VEcx0zv)B4OcyTH;Usf(P?ORgkyR{0^X-FgyD z(+R6N{0}tSj9T18v)pFpsbqi$HJzu2+2ZD#uxgTf)C*19_R!=Gc2=qiCK0J%b83~w zZ>{4)6nGPS9Gxb{g3j+=T>ZVsF(%5Mc0Y`7Alb3q+_WL#5G{4yOftCYo{D!|WNE)7 zLAyFf1K=)D1}SO`$zU=$zvwWXTb(p4U2sD<^dpuJ);SOZ;1HuAk>_@@s|#R^j%tvE` zC!&$_^I29l*zGzFkN!01auql}ab=OXXt+CB+hhV|Id33%(VWp_GLs?{2Ca<<>s<9T zWHdV&&Q)Dpda^&!UA1VMaupu1i#U4qJXIsfB6h}fffj@`G*1fv8u4| z=|_rvPRGOa)hR4x&Qz#P>1d3uPy!zN-E3BpeYH?)D;8G60>oM;;_SIAtPFp#4H2}` zS>d2Mnj7RKuc>ror>hZ*a^f=gIsDD&P;ElalT5h@+ovxUs$844y2S1L!cCV}89&kl zJ}WC;n{3=rMN4c&e2IG*jOgsNe;Yn6fD%~3@ZG?4HK|ppy&`U*k-^|-uj6W?+N6-{ z3i>ek?=PG`x=$chJBGsU>%K>D?y(#-MWvPmj9=xpf;|WH?emqZ9ftR5FvVpS(!vwXNC$ zP8z8`QnU&f59KdmL&nkKXSV6W2UgvG{UXAJgb=P@r_goGI!cL%C=-iwYi8{Stvm{}q0T(WodVCKR zJOE{s&}l-AO7?r3ktvL?q34H`j%jldlD>a_KE-Eh^Y%J<7_!CT*JNVHnLV!``O;w% zd}jbzGXTh#d^$o7zh%?w(zn~;U?1)4<3@aQ^IDr4iHJe*asm7#&mM9|F??47^6IJF z?CnR%Ma&pF%G{(+2s2oa+7B8XbQ2U4TpeZRqVdFTQvBp1h>o%_B{qtDNs=->5EplS z-8;ck1R@V^?P|hvL(zm+RAw>C9YEW0&Jf)lh!eGhXY!UGEnPNDX6*(M@-guN^wh=^ z`To%wZUAqzVTy>w84kA-y|WdybA}j&(wBEehv6i~;o@I5J$QvrfPcyEw6I}s zTN4%0WkEz&enw*nFP}V{m9yuqjU2}kp*zzwkc%1Qx7vPw3zMn4oJW5Oe9&X>#p=s) z3pFcB#}DULCZb&8z&=ez;cMOvZhYQG&6_SxO|mP11?di%-2SZ^MBVQ|*E?{NZawi% zd%VH?uZ6isDGP5ri#MmijLOvG`faPq#fP#`c^Iqn)eSoS*iq2VEA#t4w=Obexgk>e zzcZHa!PW}W1Z`h*CV%j1s&{am^(gpXKe0k+16=nR4?Y?uLwv&O#4rk2%5EsuJbiNK z+%(RKK-Ivgx71QV&L7HGvdO3Da9&=MkAVj1&K!Jsh#W%^BR;B!M=(?o=0mMykoxcu zcX*FGOeu6(7%YjfL&6{5n7kHHceQs%}E2(9Ux8rBU8yV2$0)V!9r zc|EsS81OOBOe*?x6bYylJMM;9VBbuZ&!qSJ?2p2J`Y3iWdq_V+kCsgyqO*pbsIqgp(w>3-z zRIX-YW?;Xv7zwbhjPr7PC>X!OzUj29xtkX3FOPy(CcDZ2!)AJv){_M zyh4_rM-lQ`_gH>Bj)7nb#OoD8_l*)}Fv9!}NwG9|fr1+K`lcZQhtrg@2#|V__8=XU zQM3^uwG^MH8}eW-LMpY&xfknmka~X}dU+}A>)8q@TwE2)`+zS`CZv6J`_^l2e1$b! zBGr2+xAFQe4xou+G$OmsnHwVh z)#~RYd9q+p`gBkPd*(UeSiV)__UT`pk=E}9)upW({Bw^=)khNB^X5H1gJxR&!nP}Q zJb&{m%$#N|r0CIXN6mz5&AByjNi*aFiWiRCD1yY7`Uu7<^>gMvujeVcAU}}r&*JazpxSj`hLeuhAai6K# z!W*g1ty!IIZc21(4KZKKv#k$CXue-k_(s+$zAv++cUb>#v0jI~J9FIwZNY$*d6rrV zB2VHp*9K;*NBuv^?_p9(`i|-fk#-o>{@ASNa=Xh%Z1UpAPW2g8$Fot<|Dp{PiC+@C zV%KkUQChF}+0p$~5=Yfm^>|cg>Z-I`2Kjd=@*1+`{=SH)_M zjDepnTJ~&5GiTv{pYHypnV;XsCu)c9YVt0)x?JeIw#nIh-X6&ioOSl{4^;qVRC0C0 zgWl5-UolpywTY)1lC-EjnOh!A*#l1n3wyfAJUbfejzt{ z1i>1HFV0RpIgnW^^CDy)2J>Z`_3xOda#L4#RvBMW81tsC&XL2o1cQQxvKxB|Mh%@% z`*#QX$_|t$e)SDX__Tk0q3!9+$;{v=^u%~feDc{arOt=)vsTeG$p+HCx#5I~S(4$g zb$Cl7jUYvA;80Zd+I?4J3mtHi{&4K|c|Hdyy?=*FRwqx=?Revv@?T#^(lka^u!t#? zp21wQp09jNh5tv`=cOQiW#sjD+-l5dID3XXxb=$#|4FrMqprh)iv+~k^o*``$@Pw? zubv>22AFZZBX{k8j~ug z%aR=?;4+X5I8=FP`+J(_ENg=Wbof%Dp^*B(%3PcnKiU4@WO*q^?1J9j3Rzbjn8#SkJ@13YG*>jF<$TUpZNOiB^du2n&*Wgc1 zHt{KkNZv{_!+V(#b;DjDs8DwQ*Sr6}0RzhrNQ`RTmmjMl5;|}C;b(s*$41ub_{K!u zLFjLR$zuK;R1ebD)8~B&Mbbwr1yft1UKuMk4e9G#>A4Og^pJtj5*~G1BnaT%LFR99 zNi^grhPf@Gw@~TdqTf?WAw!z&XDG%sW!hSZ2|lK3@W@X%w*I|`Et z%`dfzq{PcRB)ssvWYp*m!vWMGl!ZOhI^>Ir_!|T;(51-XS!+2Rs|)qc{%7=uiT&!N zXD_IyX`bhf^`GD2ij$l+bJQX<4EASGv4#^)P~iZDdjMW}3mcFbF!EjQ+*7t~rq-qB z8zJj@pEeA@UdE;#&)4Hi2z_h_z0rss)+QX)$$nV(NDZ}(C-E5hucq3Vyopui2fMDU z3|7$2!%EYZYulahoS~MfHn%=OnjlIbBV0y6!jouVcn&EDRxMmX3%>_vy*B5pZz9j$ zCIOi(y7U%0ih@S}y7B%?Oh~tqoLt3h7SzGAKUoK$4niZQ0;Tj%|H&_A?|z4GZB}<5 zBYd(ZXh=cXL5uma+g zClT_pbddt`THj^uaRbn`2s5~oZIEHN){!CMIRL=pM_ttT+IY$D{{pMjJ)=>X{>ucC zqw)r$&}!BEODvaDoK)- zF1i-X$V0~n@i9?1`z8Y@E`-bMk5T#Y71^sr7xl-UxxU;eql39y?7Wj(9B(-Xdi;n`y&~=^r;To;%EO zN6{DXl)fWf7)J*pQ~vS}>vH=<`s;i<^5@6Qii)}^no3|O{SLU5x^^|yrSC$wNLjt! z5up@7ZYIp%fA3;5dqbsPAD{lI59KZL<&;Knw;YQuCq!F=hSBdRol$hHQ{r* z-olxn!rN8Z)04pB+qZAZqyhr7_X<-}8K+%BCue1mJWtwC88fd=3=EEeG@HbJ0`wSA z^+Tg>3;d?KZSGh%AwD`c6L5k6Ok(6OxjBAJVWB6~-k1Y<@L5^UC~oc78LWSDU2MuF z#G5&4fpHMarOy6Yg1Zz~5a=iukbBZBpaA1zTsx}y)j_X9jbqF^RHH_LRf3y|*cr%b zjra5P{3E#L1?P?&ug|TE7YX1+Yc-wj6IV8dl;C}>4qcyw)^dJ24Fh~Sf$0+%v3=F9y2-!ezYvKf8YMS4LkUVbsd|0%@C z)*!ji`4@zJ0cxY0SDUegc!u(!o{ZPU~=JBrlc?Hr>b z*}sYL$C{*5Q&aegSXkZ>T2@wp!j!fc4$q!FA&g`xDlTRr#pI0?&gKY}4q@r}ysH^dJTBB9pU#_(e|q%>%y- zS-^!}_7lpI$dL4ag#!Ij7%AYicW|)8c>T*Aa93|U~9NYzmf+~vrB0oi#XS`jRnz6whe zARhbInds;|M0%_E_#-tse&ele$9siybL61Af^y)cRx{{cJMJt(s13YFni>o^j5$u| zG-%`CY_)3vY;m5I{9sydt#AH^xy!IaVJG2(p_+x!`E()v_x8gX?`Ba1*XWSi9R_Es z(K$Z%7KgEjCLZ6WbPCVXlqMcKcm_&%CvwS>NC9U$Nf4axZ>Axu8LiKC`69=4$l$SYW3Lms9^)$3X+TonEv?q>X1*-c!wiiYHT?5hp_#}olj zRR8lh{-=oKzfS)DJi8mB82MJ4T1oLkf^Sk-(G-H>?v2HMQRbeIbR0US}egv@S$N!L0AZ5?4wekdW4oN?<% zK+t+QxqcuhATZItxp|FRz{%ap+Di%yl-OdFBQ=!6gEbjyn<#m~_8IJAFh#z>O{Y#b zj_W}o-70^Oh{M6bp`d?}kFU1QXnvF!6?KFmQ;V`+KnO+zG;!AlH#@z<4_a`0Ry&8! zTV|c;Aa_QbM)PKWd5PMW;N6^~95`UG93%e#EQH~mxD-OS%(=&R@KNrJ@IU={9bN*= zh-niVzH5wn+j3@8GFPb(I&QUtV$N;IPR2iJ-|n5cI59zpiF)sTX)OaTI(Ovfry58R zGboR3X@@PIy)Z>aW?&|rFQ&`Vvq*Q`0=9-Vxd#$2T5n296ibpov%~KOz{SqY;42;- zftl0SCpx`i1m@JXh|x&=T&jgl6%*1*S|VIr$cPVRQ4t2raog2aHyYGm|4JEJaOC zuaBC$?5#L?fCFDRQS<-dQU3v~n3BM*;gK$201&0wWHj;MM5a?5C^LyPFXsZSM9=FZ3Od{eX{|3HyM zYE&_8&krr{j%4j7@nkD2u+W_%E|kM8$A4}6HCS0s*%n|3WBe(+4QfV-EY7&AI{tY) zVtgi!5w+TcHR@;otn+1TO&V{2Fgj=5UB^I~KGT(d+n{O^iHQJWC`x88j!-6C7~m&; zg+g0xKMkFK$v}5A$3h6-5Z+BVZhHi(T}(A0_%Cg#M%unxeY>uh0n<{eCcYEz8I3kk zR9qazRk3KMH~-1wxql4OM9yq^y;O$LN8}g?6HT@()Z0YtV z+3B0B6*bdwx-CCG`~6r~x882dH~+D)lvMCy>m;l+_-JbF{MVHhP2iZo$-w#7Tjyf1SQEb3y6r=Q0IUUbPn&@J3CEqbktW6ez?^t4ddO zOsmrB7B2O#U`y1^m&aly>hCnp)l+{RZAA3ld@g^cBqBSNM&2JQN)&Rv`U7uV zs)NCO7td0fJlF9QnH&H4BP&7JT(o>;ZGOVWw%dG?{g5n@Ec788=F45bpPj}e-<9)h zN7{tSzi0DQjz6dyv1K+2T6!pCos`+QcR7oga~AYfH{ZNWToh#sA5~#$$>VRj3+uBm(PTa#R)*5@iaw>Vzx%+-HH+)c>L?8cEe4CzgF zpH!EcYr7DOSJZj>^v|@hYwPhGTZDa`5!@#2vcEHY3hafX#cQdb4ejqCn|bq<|6FT zx5vrMpA?eqvDc2cAZVb;dy6^r=Hp(#Vf!x~J}0}U<`?~OzlQEFpnaW6OcKDUcpxP1 zKg-SLiu>ns&y1h;fS&G~*v+4zt)QLN`I@&kA!JCM7iDHwz%kJpH|^ys5_(@)6PY^N zj`o*^!%!x@k-@w%$-0%R0JH4#KNUJJuU20-mhR5Fl3?_wV0ELsXlFyu-yal+Hzgk$k7Od+gD*d$ z3AWYH`iH;yvKwsTXEvu_q#!;@mma(R`HcxOn#G3r?wq0IAce-E1G4PgOHK z`xT8OcTjg6Z2BiVmG93=fdJ|kE7PH5v4yL4iSR7M3W;yyUOvt@I~uL5(bPjPzOn69 z90zA_@_5C}(f#Pp3!FLYzzVNhyjCvN)g7M7{S7h`rhKH?*aNz}7O<-l54}H?1ItdK zV*KDMDUj=@PV9d+5+{X(W+z#1-x36aJim*B!{ERG13Njzwx_421!mdM$cPMuX_i81nJ01;2eWofsv@>}u#WFjUug-ZgJ z@u?OB*Gp@JVHqn!MtUP1qdxIFec zu*1@VrcX+|x0pUF0L{ zUF5~d?V|)es~Xn4L(2FO%;TPAQTz zX7c6bi_YWG?7~g%0d$&dGJi(2&h>*H&+3H2^C$+S@S~lfRn(uC8(^vGEkehQ+`C(7 zIW7LJozg+)%O)4Dp96oS!(fcYB~OnhFLvWh`c~!|wmJn?gU)-JoYC;&MlXMq>+8Qj zJoSI#01a%!ekUWG`R?7t-~2c`YCSA0tOe>!um!^G>~O!I@|c4N*yr`ei=fVrSymA9DswOn$+ z!U7f-y>Q5E?bRhHv5zD*0sNNOu4l@BY`@xvwby#!14KLXXT4mzrVTrPzUvq_2DSMg z!Kf40Ylc!^2T5xotN4&yCVj8T6YZDz_FLrzyCseBOpl`U%470oaMW1nG*A&0F-gZ#2+@7uwnsI6wc#vGPpDNd{D0 z&4M;e)G-Nue~xC%%sd7dK#9+;G!b%l3glIF^Sb6zO3%7o z0fAs&sL0Dap~hAMtql81EgOA*`0X}tS4zR_GK!Yg#-s}K^77u>t6jX|8xwzd6>u;j zw6QwG)e&|x@|PIUNc}L)lq<`a z`h#la?P!hC`_bLkAzRsJz6Up>(I@_71^cNsOYZgG3g-a4<123d?I-j7V6Qd^B$;M6 z0WB#4)uCIhnNQf-kP#BgFeHPl%RwGV6H)D7pr%dvIL}SFR36+?E(Z-6-Om%sl&?RA z&=zB=hZe%9ltr~lSLs!{ViJ=KUYkE&@oO)w`v+Ym9VTz!zqJpQv*RYc45GQEOqe^S zTC4GKsvs44jijyd!aK@ZcWU+-XGkdzA8sC@=8lD@2-EU(AuA;F4WpNCa9qfnRIj_( z39B26C4jYqpqe>4zU(wFF#MO?mVSi9^)NV)cZv9AX;tX4p`-dgU08L;3+a^S4&>u-Ee(W=%294wh#Oaxt8%2q~a|x@^AY3oX_6$_4zTahla%e z9!MJT!D}~F)&J0l0=S9*!c6N-ZSV3y6CHqV~MW2>9YuiQZjVKiJ%^HY=J+Ku7p38&KFHz!c%I-8vuAh zyOjcmZo=gBzAP6@FS&;wmeGl&lPP}3Kk1%3vr>Q!0{r5VTOiSDpb#z}+-ym(d1r1j zUjqNU4{S&PAnYwt6zGz^rcq|(`kBUE?78UaXWp6bh0WrRpA=MeKISQ+gP+lqx}_gS z8^~>N%0~oI0yc|`cR@&~VYVhZ!b>y(bn0}V?8lWY$aYOwMH7pdcC>#0^m6`I7@$@z z2z4$cgMq$BlwSRIO2((CPfVW1kF^;+<+bo%Bkrl%9*-q|`m1Cm=|OQIADPEP^U2!9 z{=L9EzGjU*1MfJAgv+!bMHT!2Bx34RL?Wg>!F7W>Q`H&dNtXS2B*ONcQ?_Eou#>s6 z<%KId;W)kQ&8yOZH!gz4=wCt#yoHRGl{LqJpmi=dU5tVC!xhq)2V!@{zQd0;H&b15 zw+@Am&6;1z+^3X)zk__qi*v56`+^5MBQLt$pJ!Gedmrq<&KYj7Z%{>IAFeP&sbP12 zn+dZ{Id+emt zY&8qleOXPV(Y!uz;D1iU95+AjM1mq`WF)$+5(0sPKBpIL$%NeG>XfB3&~LBwg#20E z@_t`WoVtP*(tYZ3=cT>8wvHUoDa8CSR6Wrpq`E)6@uR@TUF>*83cI&;I&FoQ558>N z$!140Hp<+vGTO|G#7RgMeV(()YDntP^@F=2fh7(f^U)#A2&W8pNwJ}2aeU>vOJ2eC zRaiGTqv8TXPfx)3=4CKjLxyF{goe3@PV=4PSyPRbyvfaAt8ngKu>DM>Ob208JeQyb z8l6+OUbnKGsuff_YSdm$?8*Q(ln1=m4)RA)w(T^3-2a?W(W$W@Esy|0D(>~pra3-b z^qz3I90~eqGu6`PmJH2rVxn2fCGkYU1>G)=-lCj>sX_D~BpOx&4Mf{*b5C|H+nPw| zrE~q3CI?8e70Vnt=F6c@A-((bD!cAs<1EOD!dn zR~9d6i&ePka*U~M;pQ)DBa$C6$3t2ocAV{)aL z6~_ygXER%hGujGVz4yNfXe)EUq-RQ-bF!g2CZAx)#5LIVBep=ZYKAY;>oZD@71E}! z3SsOEhyEfz#UJBqEiVg?ZhMy&X9P5>X-sx2Qx>Vlhf`Lmd$EW0F#7z>6qTG(;nI}h zec3ULr%4oEW`E7>3_JwX5Qc((bLNnmr5GN6>-8^f0Pb@=5@qMvwMOhk+=Iyy>u=1C zTnC3i-YS|i`8}TM7^5?!wgy~$(8Cw*B%B&Z8&Ku|1k#+{_9c0WY1CHXh0$TC-p9?r zB@_rM=uOl8!>SRN&OOU;phZI9&blL}6|3T; zvn%2FzXQgLZ;y$1Eeye@Z5Z*$lDsvAmHdfMSQ+N*+MP^q zYcuQbce0-qj5lULA#7tMziC6CkW=g`K3NkAO}(z{pA6QP-#h5aW*gMu^$!2j>p~GeSe#q zbVHDW>SZl_KE5ZbT?XH5IS(GYwD(JxlaKG?iDuW6HCkpnX+p<)cZ!i2;1GJHi?c)F zPX)}tJ?pGjq}@gnFQr4cH zg|G#3%tsPqvm@(31CUI(vAO)BQJ*=cAouDaJCIV|tV&fgBfzp{8et&UsuPjgnJx=f z;K@ypnb_QL<0nuAKXKRl;^J8D0@%Gv`E17Hx-BcvFRzjg9=f1WnxO*vO+@yuVxxv5 z8|Fnb@*$IRR_eB|QBMN_n`TlyEwO1=x>TGZwTkli%_IBU&X&wZ;b4(wJS3$m~^ zPF|2LAk?mNs{{!YpV$TsK<`=5gMNPb&g{+(8M1R889W&TQ|UwH@gfqp%RcbfsoHvj z+!-IpkXW)T2(Gm`I(zq3W+c)$4{y#{V8jZ7+-z1zUlyb1ZF0|Mcz`%iV#nGKQzhUn zrZ?7rgq!Y%XTw0fjTbLs@<^^5L=AGj56){Je)ArCL{SW_gX2O23Fd?eAR9u>EKsaC z!9}mtf_KIjy(|lQLa150jUAU9D#Aux`QBOf+a=KLqc%#Dy~8JUf4dco3#fhV2L=LK z`NN29#G(%IpNs$fuB|*@K<7*o#~?44*5!qO+s7mvr7k>6>+*@FGJ(wu6U(med9q|r z8#%G;mk(moIp-=&&U~SyQUKC>i`m~BgL}5$W5ipi+Y*hi zUuc7zQgs&Dd|#HWEl5-*@E}yce{1|YKz{NJ;k_kDHa%?ZY&+%53-SQq3p!RBY%+B_ z%4}S9b)D}1U6oam9gN4R_6zYrxJJt*_4+w8j;Nk{_svOPI@caT?)2~HKc;V>SPTfY z`XbaQZ&om&MUP*id8m^Puch9->B=;H~R}@5qe(3*HWT`4`a_xogDJ1$&V1&!w4adJ!YH>yl z=kfO$h8!+6Q^kg7JzdQ!SapxsH1q0U_t|tuUhAPwBaD4)yD(B#eP_Nep>+7fYp~DU zNoU~kvT(_zW1OB=ciYqKmzj6DJFAckyfp92_(;5#HJ)Zi{-is1kNxnGQ#PhYIyPvatvFZ#$7ypvdDD z`T}+zbf}E7Xng{8i=5lz(Ddtu&!gPl*D}an|JSDw22KkrkJ(`3E1BG}dMUfLRSUth zo3(uZfdb_pZ4Ieb^E8+83k9r+gCiD+5deS;_9A#AisMQD5zd(RY;Hcmo{)ow=Vjf( zUBWHeSEHf-M~(AE`I~cm_~BFN#=#+0$dA$!429qvD$IXBMW2GRP-N%89ipE5EIvjF zwJvFflPEpy9mGA?FpfOm5O|gJc@+>pEX1OLx%1Gsp>}{rgJR7riTzz cBn-X-5foO84WRlcjvP-#K|{V$);#Qg0S95J0RR91 literal 0 HcmV?d00001 From bf40938b5c411324d74be8c1ac5d62689725f98f Mon Sep 17 00:00:00 2001 From: Joseph Dale Banares Date: Tue, 29 Sep 2026 01:58:27 +0800 Subject: [PATCH 30/35] docs(skill): update card text budgets for the Linux-aware measure --- skill/references/authoring-contract.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/skill/references/authoring-contract.md b/skill/references/authoring-contract.md index e04fbe2..c1cfb72 100644 --- a/skill/references/authoring-contract.md +++ b/skill/references/authoring-contract.md @@ -67,7 +67,7 @@ A card is a fixed 280px-wide tile. Only `title` is required; add sections when t - `footer` — two short facts, left and right (region, protocol, ownership), with optional `icon`: `region`, `secure`, `members`. - `cta` — a link out (`href`, http(s) only): a dashboard, a runbook. -Text never wraps; it truncates, and truncation is a validation **error** (`card-fit/overflow`) measured with the real font. Typical budgets for ordinary words: title ≈ 28 characters, subtitle ≈ 32, a row label + value together ≈ 36 (value alone ≤ 22), stat values ≈ 5 and labels ≈ 8 with three tiles (≈ 17 with two), stats note ≈ 36, footer items ≈ 15 with an icon and ≈ 19 without, CTA label ≈ 32. Wide letters (`W`, `M`) and non-Latin scripts fit fewer; the diagnostic gives the exact `maxChars` for your text. Put long detail in `evidence` notes instead. +Text never wraps; it truncates, and truncation is a validation **error** (`card-fit/overflow`) measured with the real font. Typical budgets for ordinary words: title ≈ 28 characters, subtitle ≈ 32, a row label + value together ≈ 35 (value alone ≤ 21), stat values ≈ 5 and labels ≈ 8 with three tiles (≈ 16 with two), stats note ≈ 36, footer items ≈ 14 with an icon and ≈ 17 without, CTA label ≈ 32. Wide letters (`W`, `M`) and non-Latin scripts fit fewer; the diagnostic gives the exact `maxChars` for your text. Put long detail in `evidence` notes instead. ## Repository diagrams From 1f6b2a13fae5fde7aee27dfe97a46d5edcea074b Mon Sep 17 00:00:00 2001 From: Joseph Dale Banares Date: Tue, 29 Sep 2026 02:08:48 +0800 Subject: [PATCH 31/35] test(schema): pin edge-label limits to characters, not UTF-16 units --- packages/schema/test/validate.test.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/schema/test/validate.test.ts b/packages/schema/test/validate.test.ts index 27664a6..9f45c3a 100644 --- a/packages/schema/test/validate.test.ts +++ b/packages/schema/test/validate.test.ts @@ -115,6 +115,15 @@ describe('validateDiagram', () => { expect(id!.allowedFixes).toEqual([expect.stringMatching(/^remove "id"/)]); }); + it('an edge label limit counts characters, not UTF-16 units (emoji)', () => { + const emoji = '🚀'.repeat(13); // 13 characters, 26 UTF-16 units + expect(diags(base({ edges: [{ id: 'ab', from: 'a', to: 'b', label: emoji }] }))).toEqual([]); + expect(diags(base({ edges: [{ id: 'ab', from: 'a', to: 'b', label: '🚀'.repeat(25) }] }))[0]).toMatchObject({ + subject: '/edges/0/label', + allowedFixes: ['shorten "label" to at most 24 characters'], + }); + }); + it('limits say how far to cut', () => { const stats = Array.from({ length: 4 }, (_, i) => ({ value: String(i), label: 'x' })); expect(diags(base({ nodes: [node('a', { card: { title: 'a', stats } })] }))[0]).toMatchObject({ From 95a9d09821c61f5f9c86eb4ff3518fdbbf730392 Mon Sep 17 00:00:00 2001 From: Joseph Dale Banares Date: Tue, 29 Sep 2026 02:08:48 +0800 Subject: [PATCH 32/35] fix(viewer): keep PNG exports within WebKit's canvas area limit --- packages/viewer/src/chrome/export.test.ts | 17 +++++++++++++---- packages/viewer/src/chrome/export.ts | 7 +++++-- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/packages/viewer/src/chrome/export.test.ts b/packages/viewer/src/chrome/export.test.ts index f2951c5..909a8fb 100644 --- a/packages/viewer/src/chrome/export.test.ts +++ b/packages/viewer/src/chrome/export.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from 'vitest'; -import { CANVAS_MAX, effectiveScale, exportFileName } from './export'; +import { CANVAS_AREA_MAX, CANVAS_MAX, effectiveScale, exportFileName } from './export'; describe('export', () => { it('keeps the requested scale while the canvas fits', () => { @@ -8,9 +8,18 @@ describe('export', () => { }); it('scales down so the longest side stays within the browser canvas limit', () => { - expect(effectiveScale(2344, 18636, 1)).toBeCloseTo(CANVAS_MAX / 18636, 6); - expect(effectiveScale(2344, 18636, 2)).toBeCloseTo(CANVAS_MAX / 18636, 6); - expect(effectiveScale(10000, 500, 2) * 10000).toBeLessThanOrEqual(CANVAS_MAX); + for (const [w, h, scale] of [[2344, 18636, 1], [2344, 18636, 2], [10000, 500, 2]] as const) { + const s = effectiveScale(w, h, scale); + expect(Math.max(w, h) * s).toBeLessThanOrEqual(CANVAS_MAX); + expect(w * s * h * s).toBeLessThanOrEqual(CANVAS_AREA_MAX + 1e-6); + expect(s).toBeLessThan(scale); + } + }); + + it("also stays within WebKit's canvas area limit (~16.7 Mpx)", () => { + const s = effectiveScale(6000, 6000, 2); + expect(6000 * s * (6000 * s)).toBeLessThanOrEqual(CANVAS_AREA_MAX); + expect(effectiveScale(1000, 800, 2)).toBe(2); }); it('names files after the title', () => { diff --git a/packages/viewer/src/chrome/export.ts b/packages/viewer/src/chrome/export.ts index 1d51e0c..fef197a 100644 --- a/packages/viewer/src/chrome/export.ts +++ b/packages/viewer/src/chrome/export.ts @@ -14,9 +14,12 @@ export const exportFileName = (title: string, ext: string) => .replace(/^-|-$/g, '') || 'diagram' }.${ext}`; -/** The requested scale, or less when the canvas would pass CANVAS_MAX on its longest side. */ +/** Canvas area Safari/WebKit renders; past it the canvas silently comes out blank. */ +export const CANVAS_AREA_MAX = 16_777_216; + +/** The requested scale, or less when the canvas would pass either browser limit. */ export const effectiveScale = (width: number, height: number, scale: number) => - Math.min(scale, CANVAS_MAX / Math.max(width, height)); + Math.min(scale, CANVAS_MAX / Math.max(width, height), Math.sqrt(CANVAS_AREA_MAX / (width * height))); // Only properties that change how a card, frame or edge looks. Copying every computed property // inline made a 6-card SVG 1.4 MB (a 500-node one ~90 MB). From 1d8e37e039da0df69e1f9a73620f9ad99aa0ae19 Mon Sep 17 00:00:00 2001 From: Joseph Dale Banares Date: Tue, 29 Sep 2026 02:08:48 +0800 Subject: [PATCH 33/35] fix(viewer): smooth held-key pans, minimap drag, zero-size mounts --- packages/viewer/e2e/explore.spec.ts | 53 +++++++++++++++++++ packages/viewer/src/canvas/DiagramCanvas.tsx | 14 ++--- packages/viewer/src/canvas/Minimap.tsx | 27 +++++++--- packages/viewer/src/canvas/useZoom.ts | 55 ++++++++++++++++---- packages/viewer/src/styles.css | 7 +++ 5 files changed, 134 insertions(+), 22 deletions(-) diff --git a/packages/viewer/e2e/explore.spec.ts b/packages/viewer/e2e/explore.spec.ts index 9abbb75..78354bc 100644 --- a/packages/viewer/e2e/explore.spec.ts +++ b/packages/viewer/e2e/explore.spec.ts @@ -303,3 +303,56 @@ test('a view fits its members clear of the toolbar and zoom bar', async ({ page } } }); + +test('holding an arrow key pans the full distance for every repeat', async ({ page }) => { + const start = await viewportOf(page); + await page.locator('.sm-stage').focus(); + await page.keyboard.down('ArrowRight'); + for (let i = 0; i < 4; i++) await page.keyboard.down('ArrowRight'); // auto-repeat + await page.keyboard.up('ArrowRight'); + await settle(page); + expect((await viewportOf(page)).x).toBeCloseTo(start.x - 5 * 80, 0); +}); + +test('dragging on the minimap pans the canvas with the pointer', async ({ page }) => { + await page.getByRole('button', { name: 'Toggle minimap' }).click(); + const map = (await page.locator('svg.sm-minimap').boundingBox())!; + const before = await viewportOf(page); + await page.mouse.move(map.x + map.width * 0.3, map.y + map.height / 2); + await page.mouse.down(); + await page.mouse.move(map.x + map.width * 0.7, map.y + map.height / 2, { steps: 6 }); + const mid = await viewportOf(page); + await page.mouse.up(); + expect(mid.x).toBeLessThan(before.x - 50); // moved during the drag, not only on release + expect(mid.k).toBeCloseTo(before.k, 5); +}); + +test('the canvas neither selects text nor scrolls the page on touch', async ({ page }) => { + const style = await page.locator('.sm-stage').evaluate((el) => { + const s = getComputedStyle(el); + return { select: s.userSelect, touch: s.touchAction }; + }); + expect(style).toEqual({ select: 'none', touch: 'none' }); +}); + +test('a canvas that mounts at zero size fits once it gets one, without errors', async ({ page }) => { + const errors: string[] = []; + page.on('console', (m) => m.type() === 'error' && errors.push(m.text())); + // A constructed sheet survives document parsing (a