From e164b682549b7c214243d2d24f2f2c7362f34ce8 Mon Sep 17 00:00:00 2001 From: Dmitry Remezov Date: Tue, 25 Jul 2023 16:51:56 +0300 Subject: [PATCH 01/15] chore: sync generated svg metadata --- .../src/shared/ui/icon/sprite.gen.ts | 151 +++++++++++++++++- .../svg-next/src/shared/ui/icon/sprite.gen.ts | 15 +- 2 files changed, 162 insertions(+), 4 deletions(-) diff --git a/examples/svg-magic-with-figma-export/src/shared/ui/icon/sprite.gen.ts b/examples/svg-magic-with-figma-export/src/shared/ui/icon/sprite.gen.ts index 33e68d5..d759da2 100644 --- a/examples/svg-magic-with-figma-export/src/shared/ui/icon/sprite.gen.ts +++ b/examples/svg-magic-with-figma-export/src/shared/ui/icon/sprite.gen.ts @@ -145,8 +145,7 @@ export interface SpritesMap { | 'writerside-preview' | 'writerside'; } - -export const SPRITES_META: { [K in keyof SpritesMap]: SpritesMap[K][] } = { +export const SPRITES_META = { general: [ 'add', 'autoscroll-from-source', @@ -294,4 +293,152 @@ export const SPRITES_META: { [K in keyof SpritesMap]: SpritesMap[K][] } = { 'writerside-preview', 'writerside' ] +} satisfies { + general: Array< + | 'add' + | 'autoscroll-from-source' + | 'autoscroll-to-source' + | 'checkmark' + | 'chevron-down-large' + | 'chevron-down' + | 'chevron-left' + | 'chevron-right' + | 'chevron-up-large' + | 'chevron-up' + | 'close-small-hovered' + | 'close-small' + | 'close' + | 'collapse-all' + | 'copy' + | 'cut' + | 'delete' + | 'down' + | 'download' + | 'edit' + | 'exit' + | 'expand-all' + | 'export' + | 'external-link' + | 'filter' + | 'groups' + | 'help' + | 'hide' + | 'history' + | 'ide-update' + | 'import' + | 'layout' + | 'left' + | 'list-files' + | 'locate' + | 'locked' + | 'more-horizontal' + | 'more-vertical' + | 'move-down' + | 'move-up' + | 'open-in-tool-window' + | 'open-new-tab' + | 'open' + | 'pagination' + | 'paste' + | 'pin' + | 'plugin-update' + | 'preview-horizontally' + | 'preview-vertically' + | 'print' + | 'project-structure' + | 'project-wide-analysis-off' + | 'project-wide-analysis-on' + | 'redo' + | 'refresh' + | 'remove' + | 'right' + | 'run-anything' + | 'save' + | 'scroll-down' + | 'search' + | 'settings' + | 'show-as-tree' + | 'show' + | 'soft-wrap' + | 'sort-alphabetically' + | 'sort-by-duration' + | 'sort-by-type' + | 'sort-by-usage' + | 'sort-by-visibility' + | 'sort-by' + | 'split-horizontally' + | 'split-vertically' + | 'undo' + | 'unlocked' + | 'up' + | 'upload' + | 'vcs' + >; + 'tool-windows': Array< + | 'ant' + | 'aws-glue' + | 'bookmarks' + | 'build-server-protocol' + | 'build' + | 'c-make-tool-window' + | 'changes' + | 'commit' + | 'concurrency-diagram-toolwindow' + | 'coverage' + | 'cwm-access' + | 'cwm-users' + | 'database-changes' + | 'dataproc-tool-window' + | 'dbms' + | 'debug' + | 'dependencies' + | 'documentation' + | 'donate' + | 'endpoints' + | 'exception-analyzer' + | 'find-external-usages' + | 'find' + | 'gitlab' + | 'gradle' + | 'hierarchy' + | 'hive' + | 'jupyter-tool-window' + | 'kafka' + | 'kotlin-tool-window' + | 'learn' + | 'makefile-tool-window' + | 'maven' + | 'messages' + | 'new-u-i' + | 'notifications' + | 'npm' + | 'package-manager' + | 'problems' + | 'profiler' + | 'project' + | 'pull-requests' + | 'python-console-tool-window' + | 'repositories' + | 'run' + | 'rust' + | 'sbt-icon' + | 'sbt-shell' + | 'sci-view' + | 'services' + | 'setting-sync' + | 'space-tool-window' + | 'spring' + | 'structure' + | 'task' + | 'terminal' + | 'todo' + | 'transfer' + | 'unknown' + | 'vcs' + | 'web-locator' + | 'web-server' + | 'web' + | 'writerside-preview' + | 'writerside' + >; }; diff --git a/examples/svg-next/src/shared/ui/icon/sprite.gen.ts b/examples/svg-next/src/shared/ui/icon/sprite.gen.ts index 6588a90..d7542db 100644 --- a/examples/svg-next/src/shared/ui/icon/sprite.gen.ts +++ b/examples/svg-next/src/shared/ui/icon/sprite.gen.ts @@ -10,8 +10,7 @@ export interface SpritesMap { | 'checkmark' | 'commit'; } - -export const SPRITES_META: { [K in keyof SpritesMap]: SpritesMap[K][] } = { +export const SPRITES_META = { sprite: [ 'add', 'autoscroll-from-source', @@ -23,4 +22,16 @@ export const SPRITES_META: { [K in keyof SpritesMap]: SpritesMap[K][] } = { 'checkmark', 'commit' ] +} satisfies { + sprite: Array< + | 'add' + | 'autoscroll-from-source' + | 'autoscroll-to-source' + | 'build-server-protocol' + | 'build' + | 'c-make-tool-window' + | 'changes' + | 'checkmark' + | 'commit' + >; }; From 3b8f8a96c0ce6828aa7d5d98db976550c6a7add1 Mon Sep 17 00:00:00 2001 From: Dmitry Remezov Date: Tue, 25 Jul 2023 17:10:11 +0300 Subject: [PATCH 02/15] feat(figma): add `VariableAlias`, `boundVariables` and `componentSets` in the file response --- libs/figma/src/core/figma-api.h.ts | 2 ++ libs/figma/src/core/figma.h.ts | 50 ++++++++++++++++++++++++------ 2 files changed, 42 insertions(+), 10 deletions(-) diff --git a/libs/figma/src/core/figma-api.h.ts b/libs/figma/src/core/figma-api.h.ts index 400cd07..443f7fe 100644 --- a/libs/figma/src/core/figma-api.h.ts +++ b/libs/figma/src/core/figma-api.h.ts @@ -2,6 +2,7 @@ import type { AnyNode, Component, ComponentMetadata, + ComponentSet, ComponentSetMetadata, DocumentNode, FrameOffset, @@ -231,6 +232,7 @@ export interface GetStyleResult extends CommonFigmaResponse { export interface FileNode { document: Node; components: Record; + componentSets: Record; schemaVersion: number; styles: Record; } diff --git a/libs/figma/src/core/figma.h.ts b/libs/figma/src/core/figma.h.ts index 42ff819..58a46c9 100644 --- a/libs/figma/src/core/figma.h.ts +++ b/libs/figma/src/core/figma.h.ts @@ -595,6 +595,17 @@ export interface Component { documentationLinks: DocumentationLinks[]; } +export interface ComponentSet { + /** The key of the component */ + key: string; + /** The name of the component */ + name: string; + /** The description of the component as entered in the editor */ + description: string; + /** The documentation links for this component */ + documentationLinks: DocumentationLinks[]; +} + /** Represents a link to documentation for a component. */ export interface DocumentationLinks { /** Should be a valid URI (e.g. https://www.figma.com). */ @@ -633,13 +644,6 @@ export enum ComponentPropertyType { VARIANT = 'VARIANT' } -export interface InstanceSwapPreferredValue { - /** Type of node for this preferred value **/ - type: 'COMPONENT' | 'COMPONENT_SET'; - /** Key of this component or component set **/ - key: string; -} - export interface ComponentProperty { /** Type of this component property **/ type: ComponentPropertyType; @@ -649,6 +653,25 @@ export interface ComponentProperty { preferredValues?: InstanceSwapPreferredValue[]; } +export interface InstanceSwapPreferredValue { + /** Type of node for this preferred value **/ + type: 'COMPONENT' | 'COMPONENT_SET'; + /** Key of this component or component set **/ + key: string; +} + +/** Contains a variable alias. */ +export interface VariableAlias { + /** Value is always VARIABLE_ALIAS. */ + type: 'VARIABLE_ALIAS'; + /** + * The id of the variable that the current variable is aliased to. + * This variable can be a local or remote variable, + * and both can be retrieved via the GET /v1/files/:file_key/variables/local endpoint. + **/ + id: string; +} + /** Fields directly overridden on an instance. Inherited overrides are not included. **/ export interface Overrides { /** A unique ID for a node **/ @@ -1093,6 +1116,9 @@ export type AnyNode = export interface Node { id: NodeID; + isFixed?: boolean; + /** The type of the node, refer to the table below for details. **/ + type: Type; /** The name given to the node by the user in the tool. **/ name: string; /** @@ -1100,13 +1126,17 @@ export interface Node { * @default true */ visible: boolean; - /** The type of the node, refer to table below for details. **/ - type: Type; /** Data written by plugins that is visible only to the plugin that wrote it. Requires the `pluginData` to include the ID of the plugin. **/ pluginData: unknown; /** Data written by plugins that is visible to all plugins. Requires the `pluginData` parameter to include the string "shared". **/ sharedPluginData: unknown; - isFixed?: boolean; + /** + * A mapping of field to the variables applied to this field. + * Most fields will only map to a single "VariableAlias". + * However, for fills, strokes, size, and component properties, + * it is possible to have multiple variables bound to the field. + */ + boundVariables?: Record; /** A mapping of a layer's property to component property name of component properties attached to this node. The component property name can be used to look up more information on the node's containing component's or component set's componentPropertyDefinitions. **/ componentPropertyReferences: Record; } From 8fd7612c5d4f7b25a6a45f10fb4b0606e39c690c Mon Sep 17 00:00:00 2001 From: Dmitry Remezov Date: Wed, 26 Jul 2023 20:45:32 +0300 Subject: [PATCH 03/15] feat(autobuild): add `--flatten` option for `dist` unzipping and more convenient structure --- libs/autobuild/bin.mjs | 8 +- libs/autobuild/src/core/flatten-dist.ts | 66 ++++++++ libs/autobuild/src/tasks/build.ts | 10 +- libs/autobuild/src/types.ts | 11 +- libs/autobuild/test/flatten-dist.test.ts | 185 +++++++++++++++++++++++ 5 files changed, 275 insertions(+), 5 deletions(-) create mode 100644 libs/autobuild/src/core/flatten-dist.ts create mode 100644 libs/autobuild/test/flatten-dist.test.ts diff --git a/libs/autobuild/bin.mjs b/libs/autobuild/bin.mjs index 47d3df3..d3c38cf 100755 --- a/libs/autobuild/bin.mjs +++ b/libs/autobuild/bin.mjs @@ -11,8 +11,9 @@ sade('autobuild', true) .option('-w, --watch', 'Run in watch mode') .option('-d, --dev, --no-prod', 'Emulate development output in production build') .option('-v, --verbose', 'Show additional information') + .option('-f, --flatten', 'Flatten output directory structure and package.json metadata') .option('-m, --minify', 'Minify bundle (pass --no-minify to disable it)') - .action(async ({ watch, dev, verbose, minify }) => { + .action(async ({ watch, dev, verbose, minify, flatten }) => { const env = dev || watch ? 'development' : 'production'; const { build, scanProject, watch: runWatch } = await import('./dist/index.js'); const project = await scanProject({ @@ -25,7 +26,10 @@ sade('autobuild', true) if (watch) { await runWatch(project); } else { - await build(project, { startedAt }); + await build(project, { + startedAt, + flatten: flatten || Boolean(process.env.AUTOBUILD_FORCE_FLATTEN) + }); } }) .parse(process.argv); diff --git a/libs/autobuild/src/core/flatten-dist.ts b/libs/autobuild/src/core/flatten-dist.ts new file mode 100644 index 0000000..c797a10 --- /dev/null +++ b/libs/autobuild/src/core/flatten-dist.ts @@ -0,0 +1,66 @@ +import { deepReadDir } from '@neodx/fs'; +import { compactObject, mapObject } from '@neodx/std'; +import type { VFS } from '@neodx/vfs'; +import { resolve } from 'node:path'; +import type { ExportsField, ProjectPackageJSON } from '../types'; + +export interface FlattenDistParams { + vfs: VFS; + outDir?: string; +} + +export async function flattenDist({ vfs, outDir = 'dist' }: FlattenDistParams) { + const files = await deepReadDir(resolve(vfs.root, outDir), { + absolute: false + }); + + for (const file of files) { + await vfs.write(file, await vfs.read(`./${outDir}/${file}`)); + } + await vfs.delete(outDir); + await vfs.updateJson('package.json', ({ exports, ...packageJson }) => { + const newExports = flattenExports(exports ?? {}, outDir); + + return { + ...packageJson, + ...compactObject( + Object.fromEntries( + packageJsonEntryFields.map(field => { + const value = packageJson[field]; + + return [field, value && removePrefix(value, outDir)] as const; + }) + ) + ), + files: [ + ...files, + ...(packageJson.files?.filter( + (file: string) => !file.match(new RegExp(`^(./)?${outDir}`)) + ) ?? []) + ], + exports: { + ...(typeof newExports === 'string' ? { '.': newExports as `./${string}` } : newExports), + './package.json': './package.json' as const + } + }; + }); +} + +function flattenExports(exportsValue: ExportsField, outDir: string): ExportsField { + if (typeof exportsValue === 'string') { + return removePrefix(exportsValue, outDir); + } + return mapObject(exportsValue, value => flattenExports(value as any, outDir)) as ExportsField; +} + +const removePrefix = (original: string, outDir: string) => + original.replace(new RegExp(`^(./)?${outDir}/`), './'); + +const packageJsonEntryFields = [ + 'main', + 'module', + 'browser', + 'types', + 'umd:main', + 'typings' +] as const; diff --git a/libs/autobuild/src/tasks/build.ts b/libs/autobuild/src/tasks/build.ts index 898808d..69485ff 100644 --- a/libs/autobuild/src/tasks/build.ts +++ b/libs/autobuild/src/tasks/build.ts @@ -4,15 +4,17 @@ import { rm } from 'node:fs/promises'; import type { PackageJson } from 'pkg-types'; import { rollup } from 'rollup'; import { createExportsGenerator } from '../core/exports'; +import { flattenDist } from '../core/flatten-dist'; import { createRollupConfig } from '../rollup/create-rollup-config'; import type { Project } from '../types'; import { logger } from '../utils/logger'; export interface BuildParams { startedAt?: number; + flatten?: boolean; } -export async function build(project: Project, { startedAt }: BuildParams = {}) { +export async function build(project: Project, { startedAt, flatten }: BuildParams = {}) { const vfs = createVfs(project.cwd); const buildStartedAt = Date.now(); const exportsGenerator = await createExportsGenerator({ @@ -56,6 +58,12 @@ export async function build(project: Project, { startedAt }: BuildParams = {}) { ...exportsGenerator.getExports() } })); + if (flatten) { + await flattenDist({ + vfs, + outDir: project.outDir + }); + } await vfs.applyChanges(); if (project.log !== 'fatal') { logger.info(`Done at`, `${Date.now() - buildStartedAt}ms`); diff --git a/libs/autobuild/src/types.ts b/libs/autobuild/src/types.ts index 93a8461..1fbbd7e 100644 --- a/libs/autobuild/src/types.ts +++ b/libs/autobuild/src/types.ts @@ -63,6 +63,7 @@ export interface ProjectPackageJSON extends Record { */ main?: string; type?: 'commonjs' | 'module' | 'auto'; + files?: string[]; types?: string; source?: string; module?: string; @@ -73,7 +74,7 @@ export interface ProjectPackageJSON extends Record { devDependencies?: Record; peerDependencies?: Record; optionalDependencies?: Record; - exports?: any; + exports?: ExportsField; } // todo @@ -83,7 +84,13 @@ export type ModuleFormat = 'cjs' | 'esm' | 'umd'; export type ExternalType = 'all'; export type LogLevel = 'fatal' | 'info' | 'verbose'; -// TODO +export type ExportsField = + | string + | ExportsFieldValue + | Record; +export type ExportsFieldKey = 'import' | 'require' | 'default' | 'node' | 'browser' | 'types'; +export type ExportsFieldValue = Partial>; + export interface ExportsMeta { require: string; default: string; diff --git a/libs/autobuild/test/flatten-dist.test.ts b/libs/autobuild/test/flatten-dist.test.ts new file mode 100644 index 0000000..dc166d2 --- /dev/null +++ b/libs/autobuild/test/flatten-dist.test.ts @@ -0,0 +1,185 @@ +/* eslint-disable @typescript-eslint/require-array-sort-compare */ +import { createTmpVfs } from '@neodx/vfs/testing-utils'; +import { describe, expect, test } from 'vitest'; +import { flattenDist } from '../src/core/flatten-dist'; +import type { ProjectPackageJSON } from '../src/types'; + +describe('flatten-dist', async () => { + const createPackageJson = (fields: Partial) => ({ + name: 'test', + version: '1.0.0', + main: './dist/index.cjs', + types: './dist/index.d.ts', + module: './dist/index.mjs', + files: ['dist', 'package.json', 'README.md'], + exports: + typeof fields.exports === 'string' + ? fields.exports + : { + '.': { + types: './dist/index.d.ts', + import: './dist/index.mjs', + require: './dist/index.cjs' + }, + ...fields.exports + }, + ...fields + }); + const runTestCase = async (pkg: Partial, files: string[]) => { + const vfs = await createTmpVfs({ + initialFiles: { + './package.json': JSON.stringify(createPackageJson(pkg)), + './README.md': 'readme', + './dist/index.cjs': 'content', + './dist/index.mjs': 'content', + './dist/index.d.ts': 'content', + ...Object.fromEntries(files.map(file => [`./dist/${file}`, `content of ${file}`])) + } + }); + + await flattenDist({ + outDir: 'dist', + vfs + }); + return { + vfs, + pkg: await vfs.readJson('package.json') + }; + }; + + test('should flatten exports with single field', async () => { + const { pkg, vfs } = await runTestCase( + { + exports: './dist/index.mjs' + }, + ['index.cjs', 'index.d.ts', 'index.mjs'] + ); + + expect(pkg).toMatchObject({ + exports: { + '.': './index.mjs', + './package.json': './package.json' + }, + main: './index.cjs', + types: './index.d.ts', + module: './index.mjs', + files: ['index.cjs', 'index.d.ts', 'index.mjs', 'package.json', 'README.md'] + }); + expect((await vfs.readDir()).sort()).toEqual( + ['index.cjs', 'index.d.ts', 'index.mjs', 'package.json', 'README.md'].sort() + ); + }); + + test('should flatten exports with huge object', async () => { + const { pkg, vfs } = await runTestCase( + { + exports: { + '.': { + types: './dist/index.d.ts', + import: './dist/index.mjs', + require: './dist/index.cjs' + }, + './foo': { + types: './dist/foo.d.ts', + require: './dist/foo.cjs' + }, + './bar': { + types: './dist/bar.d.ts', + import: './dist/bar.mjs' + }, + './string': './dist/string.mjs', + './other': { + types: './dist/nested/path/other.d.ts', + import: './dist/nested/path/other.mjs', + default: './dist/nested/path/other.mjs', + node: './dist/nested/path/other.mjs', + browser: './dist/nested/path/other.mjs', + require: './dist/nested/path/other.cjs' + } + } + }, + [ + 'index.cjs', + 'index.d.ts', + 'index.mjs', + 'foo.cjs', + 'foo.d.ts', + 'foo.mjs', + 'bar.cjs', + 'bar.d.ts', + 'bar.mjs', + 'string.mjs', + 'nested/path/other.cjs', + 'nested/path/other.d.ts', + 'nested/path/other.mjs' + ] + ); + + expect(pkg).toMatchObject({ + exports: { + '.': { + types: './index.d.ts', + import: './index.mjs', + require: './index.cjs' + }, + './foo': { + types: './foo.d.ts', + require: './foo.cjs' + }, + './bar': { + types: './bar.d.ts', + import: './bar.mjs' + }, + './string': './string.mjs', + './other': { + types: './nested/path/other.d.ts', + import: './nested/path/other.mjs', + default: './nested/path/other.mjs', + node: './nested/path/other.mjs', + browser: './nested/path/other.mjs', + require: './nested/path/other.cjs' + } + } + }); + expect(pkg.files?.sort()).toEqual( + [ + 'index.cjs', + 'index.d.ts', + 'index.mjs', + 'foo.cjs', + 'foo.d.ts', + 'foo.mjs', + 'bar.cjs', + 'bar.d.ts', + 'bar.mjs', + 'string.mjs', + 'package.json', + 'README.md', + 'nested/path/other.cjs', + 'nested/path/other.d.ts', + 'nested/path/other.mjs' + ].sort() + ); + expect(await vfs.readDir('nested')).toEqual(['path']); + expect((await vfs.readDir('nested/path')).sort()).toEqual( + ['other.cjs', 'other.d.ts', 'other.mjs'].sort() + ); + expect((await vfs.readDir()).sort()).toEqual( + [ + 'index.cjs', + 'index.d.ts', + 'index.mjs', + 'foo.cjs', + 'foo.d.ts', + 'foo.mjs', + 'bar.cjs', + 'bar.d.ts', + 'bar.mjs', + 'string.mjs', + 'nested', + 'package.json', + 'README.md' + ].sort() + ); + }); +}); From 2880495af2b28f353d5b4b44014f085e568c2646 Mon Sep 17 00:00:00 2001 From: Dmitry Remezov Date: Sun, 30 Jul 2023 11:40:34 +0300 Subject: [PATCH 04/15] docs(figma): document exported common utilities --- apps/docs/figma/api/low-level/utils.md | 65 ++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 apps/docs/figma/api/low-level/utils.md diff --git a/apps/docs/figma/api/low-level/utils.md b/apps/docs/figma/api/low-level/utils.md new file mode 100644 index 0000000..406fa22 --- /dev/null +++ b/apps/docs/figma/api/low-level/utils.md @@ -0,0 +1,65 @@ +# Common utilities + +Here's a list of common utilities that are internally used in our top-level APIs, but can be useful for you as well. + +### `isPaintGradient` + +Accepts [Paint](https://www.figma.com/developers/api#paint-type) object and returns `true` if it's an any gradient. + +```typescript +if (isPaintGradient(paint)) { + // ... +} +``` + +### `isPaintSolid` + +Accepts [Paint](https://www.figma.com/developers/api#paint-type) object and returns `true` if it's a solid color. + +```typescript +if (isPaintSolid(paint)) { + // ... +} +``` + +### `isEffectShadow` + +Accepts [Effect](https://www.figma.com/developers/api#effect-type) object and returns `true` if it's a shadow. + +```typescript +if (isEffectShadow(effect)) { + // ... +} +``` + +### `isEffectBlur` + +Accepts [Effect](https://www.figma.com/developers/api#effect-type) object and returns `true` if it's a blur. + +```typescript +if (isEffectBlur(effect)) { + // ... +} +``` + +### `getColor` + +Returns [colord](https://github.com/omgovich/colord) instance for passed [Color](https://www.figma.com/developers/api#color-type), which provides high-level color manipulation API. + +```typescript +const color = getColor(paint.color); + +color.toHex(); // #ff0000 +``` + +### `parseFileIdFromLink` + +Accepts Figma link and returns file id. + +```typescript +const fileId = parseFileIdFromLink( + 'https://www.figma.com/file/heReIsAKey?type=design&node-id=1112-222......' +); + +console.log(fileId); // heReIsAKey +``` From 516a1910985f3fc77e22bf772533645350d5b1e5 Mon Sep 17 00:00:00 2001 From: Dmitry Remezov Date: Sun, 30 Jul 2023 12:00:22 +0300 Subject: [PATCH 05/15] feat(std): add `shallowEqual` --- libs/std/src/index.ts | 1 + libs/std/src/object/equals.ts | 12 ++++++++++++ libs/std/src/object/index.ts | 1 + 3 files changed, 14 insertions(+) create mode 100644 libs/std/src/object/equals.ts diff --git a/libs/std/src/index.ts b/libs/std/src/index.ts index 3a64ad5..8cef9a0 100644 --- a/libs/std/src/index.ts +++ b/libs/std/src/index.ts @@ -37,6 +37,7 @@ export { mapObject, omit, pick, + shallowEqual, sortObject, sortObjectByKeys, sortObjectByOrder diff --git a/libs/std/src/object/equals.ts b/libs/std/src/object/equals.ts new file mode 100644 index 0000000..28fc0d5 --- /dev/null +++ b/libs/std/src/object/equals.ts @@ -0,0 +1,12 @@ +import { keys } from '../shared'; + +export function shallowEqual(a: T, b: T) { + if (Object.is(a, b)) return true; + + const aKeys = keys(a); + const bKeys = keys(b); + + if (aKeys.length !== bKeys.length) return false; + + return aKeys.every(key => a[key] === b[key]); +} diff --git a/libs/std/src/object/index.ts b/libs/std/src/object/index.ts index 55cfe76..25df91b 100644 --- a/libs/std/src/object/index.ts +++ b/libs/std/src/object/index.ts @@ -1,5 +1,6 @@ import { filterObject } from './filter'; +export { shallowEqual } from './equals'; export { compactObject, filterObject } from './filter'; export { mapObject } from './map'; export { sortObject, sortObjectByKeys, sortObjectByOrder } from './sort'; From 1d6bb1491a08846cba2b16f3bdb9f35baf1641aa Mon Sep 17 00:00:00 2001 From: Dmitry Remezov Date: Sun, 30 Jul 2023 12:01:34 +0300 Subject: [PATCH 06/15] fix(svg): add `resetColors: false` support --- libs/svg/src/core/create-sprite-builder.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libs/svg/src/core/create-sprite-builder.ts b/libs/svg/src/core/create-sprite-builder.ts index 1243780..a90951c 100644 --- a/libs/svg/src/core/create-sprite-builder.ts +++ b/libs/svg/src/core/create-sprite-builder.ts @@ -62,7 +62,7 @@ export interface CreateSpriteBuilderParams { /** * Reset colors config */ - resetColors?: ResetColorsPluginParams; + resetColors?: ResetColorsPluginParams | false; /** * WILL BE CHANGED IN FUTURE * Replaces current approach (just array of IDs per sprite) with extended runtime metadata @@ -115,8 +115,8 @@ export function createSpriteBuilder({ enableGroup && groupSprites(), setId(), fixViewBox(), - resetColors(resetColorsParams), - optimize && svgo(), + resetColorsParams !== false && resetColors(resetColorsParams), + optimize !== false && svgo(), !definitions && metadataPlugin(metadata), !metadata && definitions && From 8d820a5ce25c8a94b8ad4c0704547a20c7709c82 Mon Sep 17 00:00:00 2001 From: Dmitry Remezov Date: Sun, 30 Jul 2023 12:06:32 +0300 Subject: [PATCH 07/15] fix(autobuild): add `node-resolve` and `commonjs` plugins, fix `swc` modules resolving --- libs/autobuild/package.json | 2 ++ libs/autobuild/src/core/flatten-dist.ts | 2 +- libs/autobuild/src/core/scan-package-json.ts | 10 --------- libs/autobuild/src/core/scan-project.ts | 22 +++++++++---------- .../src/rollup/create-rollup-config.ts | 13 ++++++++++- .../src/rollup/rollup-plugin-bundle-size.ts | 7 ++---- .../autobuild/src/rollup/rollup-plugin-swc.ts | 2 +- libs/autobuild/src/tasks/build.ts | 19 ++++++++-------- libs/autobuild/src/types.ts | 1 - libs/autobuild/src/utils/logger.ts | 19 ++++------------ 10 files changed, 41 insertions(+), 56 deletions(-) diff --git a/libs/autobuild/package.json b/libs/autobuild/package.json index 1e8591e..4930e5f 100644 --- a/libs/autobuild/package.json +++ b/libs/autobuild/package.json @@ -59,6 +59,8 @@ "dependencies": { "@babel/core": "^7.22.9", "@rollup/plugin-babel": "^6.0.3", + "@rollup/plugin-commonjs": "^25.0.3", + "@rollup/plugin-node-resolve": "^15.1.0", "@rollup/pluginutils": "^5.0.2", "@swc/core": "^1.3.70", "jsonc-parser": "^3.2.0", diff --git a/libs/autobuild/src/core/flatten-dist.ts b/libs/autobuild/src/core/flatten-dist.ts index c797a10..9ddb8bc 100644 --- a/libs/autobuild/src/core/flatten-dist.ts +++ b/libs/autobuild/src/core/flatten-dist.ts @@ -35,7 +35,7 @@ export async function flattenDist({ vfs, outDir = 'dist' }: FlattenDistParams) { files: [ ...files, ...(packageJson.files?.filter( - (file: string) => !file.match(new RegExp(`^(./)?${outDir}`)) + (file: string) => !file.match(new RegExp(`^(./)?${outDir}`)) && file !== outDir ) ?? []) ], exports: { diff --git a/libs/autobuild/src/core/scan-package-json.ts b/libs/autobuild/src/core/scan-package-json.ts index 6df7809..de039f9 100644 --- a/libs/autobuild/src/core/scan-package-json.ts +++ b/libs/autobuild/src/core/scan-package-json.ts @@ -19,7 +19,6 @@ export interface ScanPackageJsonParams { export interface ScanPackageJsonResult extends ProjectBuildMap { deps: ProjectDependencies; - addBrowserMain: boolean; } export function scanPackageJson( @@ -30,8 +29,6 @@ export function scanPackageJson( main = `${outBase ?? defaultOutBase}/index.js`, module = `${outBase ?? defaultOutBase}/index.mjs`, typings, - browser, - exports, types = typings || main.replace(/\.[cm]?js/, '.d.ts'), optionalDependencies, peerDependencies, @@ -63,13 +60,6 @@ export function scanPackageJson( sourceDir: srcBase ?? rootDirname(source[0]), typesFile: types, outputFormats: output, - addBrowserMain: Boolean( - browser || - exports?.['.']?.node || - exports?.['.']?.browser || - exports?.node || - exports?.browser - ), sourcePatterns: source }; } diff --git a/libs/autobuild/src/core/scan-project.ts b/libs/autobuild/src/core/scan-project.ts index 7e4cd00..7789812 100644 --- a/libs/autobuild/src/core/scan-project.ts +++ b/libs/autobuild/src/core/scan-project.ts @@ -42,14 +42,12 @@ export async function scanProject({ if (tsConfig && !haveTypeScript && log !== 'fatal') { logger.warn( - 'incorrect TypeScript setup', - 'You have tsconfig.json, but no typescript dependency' + 'incorrect TypeScript setup' + 'You have tsconfig.json, but no typescript dependency' ); } if (haveTypeScript && !tsConfig && log !== 'fatal') { logger.warn( - 'incorrect TypeScript setup', - 'You have typescript dependency, but no tsconfig.json' + 'incorrect TypeScript setup' + 'You have typescript dependency, but no tsconfig.json' ); } const foundConfigs = await Promise.all(supportedConfigNames.map(name => findConfig(name, cwd))); @@ -61,19 +59,19 @@ export async function scanProject({ const minify = minifyParam; if (log === 'verbose') { - logger.info('Library', `${packageJson.name}@${packageJson.version}`); - logger.info('Environment (build mode)', env); - logger.info('Generate source maps', sourceMap); - logger.info('Minify', minify); - logger.info('Source folder', packageScanResult.sourceDir); - logger.info('Output folder', packageScanResult.outDir); + logger.info('Library %s', `${packageJson.name}@${packageJson.version}`); + logger.info('Environment (build mode) %s', env); + logger.info('Generate source maps %s', sourceMap); + logger.info('Minify %s', minify); + logger.info('Source folder %s', packageScanResult.sourceDir); + logger.info('Output folder %s', packageScanResult.outDir); logger.info( - 'Output formats', + 'Output formats %s', `${packageScanResult.outputFormats .map(format => `${moduleFormatText[format.type]} [${format.main}]`) .join('; ')}` ); - logger.info('Source patterns', `${packageScanResult.sourcePatterns.join('; ')}`); + logger.info('Source patterns %s', `${packageScanResult.sourcePatterns.join('; ')}`); } return { diff --git a/libs/autobuild/src/rollup/create-rollup-config.ts b/libs/autobuild/src/rollup/create-rollup-config.ts index b342d24..d498594 100644 --- a/libs/autobuild/src/rollup/create-rollup-config.ts +++ b/libs/autobuild/src/rollup/create-rollup-config.ts @@ -1,4 +1,6 @@ import { compact } from '@neodx/std'; +import commonjs from '@rollup/plugin-commonjs'; +import nodeResolve from '@rollup/plugin-node-resolve'; import { builtinModules } from 'node:module'; import { dirname } from 'node:path'; import type { LoggingFunction, OutputOptions, RollupLog, RollupOptions } from 'rollup'; @@ -40,7 +42,15 @@ export async function createRollupConfig(project: Project, exportsGenerator?: Ex ? createPostCssPlugin(project) : null; - const mainInputPlugins = compact([postcssPlugin, swcPlugin, log !== 'fatal' && bundleSizePlugin]); + const mainInputPlugins = compact([ + nodeResolve({ + preferBuiltins: true + }), + commonjs(), + postcssPlugin, + swcPlugin, + log !== 'fatal' && bundleSizePlugin + ]); const mainOutputPlugins = compact([minify && swcMinifyPlugin]); const mainOutputOptions: OutputOptions = { name: packageJson.name, @@ -66,6 +76,7 @@ export async function createRollupConfig(project: Project, exportsGenerator?: Ex info: { description: `Source (${outputFormats.map(format => format.type).join(', ')})` }, + logLevel: 'debug', ...COMMON_ROLLUP_OPTIONS, input: entry, external, diff --git a/libs/autobuild/src/rollup/rollup-plugin-bundle-size.ts b/libs/autobuild/src/rollup/rollup-plugin-bundle-size.ts index ff7264e..d2dd116 100644 --- a/libs/autobuild/src/rollup/rollup-plugin-bundle-size.ts +++ b/libs/autobuild/src/rollup/rollup-plugin-bundle-size.ts @@ -16,17 +16,14 @@ export function rollupPluginBundleSize(): Plugin { .forEach(info => { const size = maxmin(info.code, info.code, true); - logger.info( - `Compiled ${colors.cyan(info.fileName)}`, - `${size.slice(size.indexOf(' → ') + 3)}` - ); + logger.info(`${colors.cyan(info.fileName)}: ${size.slice(size.indexOf(' → ') + 3)}`); }); }, buildStart() { time = Date.now(); }, closeBundle() { - logger.info(`Compiled at`, `${Date.now() - time}ms`); + logger.info(`Compiled at %sms`, Date.now() - time); } }; } diff --git a/libs/autobuild/src/rollup/rollup-plugin-swc.ts b/libs/autobuild/src/rollup/rollup-plugin-swc.ts index f319227..b4e569a 100644 --- a/libs/autobuild/src/rollup/rollup-plugin-swc.ts +++ b/libs/autobuild/src/rollup/rollup-plugin-swc.ts @@ -30,7 +30,7 @@ export function rollupPluginSwc({ resolveId(source, importer) { return importer && source.startsWith('.') ? resolveImport(resolve(dirname(importer), source)) - : source; + : null; }, transform(code, filename) { if (!filter(filename) || !extensions.includes(extname(filename))) { diff --git a/libs/autobuild/src/tasks/build.ts b/libs/autobuild/src/tasks/build.ts index 69485ff..b582b71 100644 --- a/libs/autobuild/src/tasks/build.ts +++ b/libs/autobuild/src/tasks/build.ts @@ -15,7 +15,9 @@ export interface BuildParams { } export async function build(project: Project, { startedAt, flatten }: BuildParams = {}) { - const vfs = createVfs(project.cwd); + const vfs = createVfs(project.cwd, { + log: logger.child('fs') + }); const buildStartedAt = Date.now(); const exportsGenerator = await createExportsGenerator({ outDir: project.outDir, @@ -35,18 +37,15 @@ export async function build(project: Project, { startedAt, flatten }: BuildParam await build.write(outputOptions); } catch (error) { console.error(error); - logger.fatal(`[build] Unhandled exception`, `Phase: output. Issuer: ${info.description}`); + logger.error(`[build] Unhandled exception. Phase: output. Issuer: ${info.description}`); throw error; } } await build.close(); } catch (error) { - logger.fatal(`[build] Unhandled exception`, `Phase: build. Issuer: ${info.description}`); - console.error(error); - if (project.log === 'verbose') { - logger.warn(`Failed project info`, project); - logger.warn(`Failed configuration`, input, ...output); - } + logger.error(`[build] Unhandled exception. Phase: build. Issuer: ${info.description}`); + logger.warn(project, `Failed project info`); + logger.warn({ input, output }, `Failed configuration`); throw error; } } @@ -66,10 +65,10 @@ export async function build(project: Project, { startedAt, flatten }: BuildParam } await vfs.applyChanges(); if (project.log !== 'fatal') { - logger.info(`Done at`, `${Date.now() - buildStartedAt}ms`); + logger.info(`Done at %sms`, Date.now() - buildStartedAt); } if (startedAt) { - logger.info(`Total`, `${Date.now() - startedAt}ms`); + logger.info(`Total %sms`, Date.now() - startedAt); } return { rollupConfigs diff --git a/libs/autobuild/src/types.ts b/libs/autobuild/src/types.ts index 1fbbd7e..923e620 100644 --- a/libs/autobuild/src/types.ts +++ b/libs/autobuild/src/types.ts @@ -11,7 +11,6 @@ export interface Project extends ProjectBuildMap { sourceMap: boolean | 'inline'; sourceFiles: string[]; packageJson: ProjectPackageJSON; - addBrowserMain: boolean; detectedConfigFiles: Partial; } diff --git a/libs/autobuild/src/utils/logger.ts b/libs/autobuild/src/utils/logger.ts index b57169d..df57a9f 100644 --- a/libs/autobuild/src/utils/logger.ts +++ b/libs/autobuild/src/utils/logger.ts @@ -1,16 +1,5 @@ -import colors from 'picocolors'; +import { createLogger } from '@neodx/log/node'; -const { bgRed, blue, bold, red, yellow } = colors; - -// TODO Replace with a @neodx/log -export const logger = { - fatal(name: string, ...messages: unknown[]) { - console.error(bgRed(bold(' FATAL ')), red(bold(name)), ...messages); - }, - info(name: string, ...messages: unknown[]) { - console.info(blue('info'), bold(`${name}${messages.length > 0 ? ': ' : ''}`), ...messages); - }, - warn(name: string, ...messages: unknown[]) { - console.debug(yellow('warn'), bold(`${name}${messages.length > 0 ? ': ' : ''}`), ...messages); - } -}; +export const logger = createLogger({ + name: 'autobuild' +}); From c072b96b391b4a2fe0b7b17c3c76574a39464303 Mon Sep 17 00:00:00 2001 From: Dmitry Remezov Date: Sun, 30 Jul 2023 13:35:56 +0300 Subject: [PATCH 08/15] docs(figma): describe low-level APIs (mostly, export ones) --- .../api/low-level/create-export-context.md | 26 +++++ .../api/low-level/download-exported-assets.md | 51 +++++++++ .../api/low-level/resolve-exported-assets.md | 106 ++++++++++++++++++ apps/docs/figma/api/low-level/utils.md | 12 +- .../api/low-level/write-downloaded-assets.md | 80 +++++++++++++ 5 files changed, 269 insertions(+), 6 deletions(-) create mode 100644 apps/docs/figma/api/low-level/create-export-context.md create mode 100644 apps/docs/figma/api/low-level/download-exported-assets.md create mode 100644 apps/docs/figma/api/low-level/resolve-exported-assets.md create mode 100644 apps/docs/figma/api/low-level/write-downloaded-assets.md diff --git a/apps/docs/figma/api/low-level/create-export-context.md b/apps/docs/figma/api/low-level/create-export-context.md new file mode 100644 index 0000000..e55be5a --- /dev/null +++ b/apps/docs/figma/api/low-level/create-export-context.md @@ -0,0 +1,26 @@ +# `createExportContext` + +::: tip +Part of [Export API](../export/) +::: + +Creates shared context which will be used in all low-level export APIs. + +```typescript +import { createExportContext, createFigmaApi } from '@neodx/figma'; +import { createLogger } from '@neodx/logger/node'; +import { createVfs } from '@neodx/vfs'; +import { resolve } from 'node:path'; + +const log = createLogger({ name: 'figma', level: 'debug' }); +const vfs = createVfs(resolve(process.cwd, 'assets')); +const api = createFigmaApi({ + /* ... */ +}); +const ctx = createExportContext({ api }); +``` + +### `CreateExportContextParams` + +- `api`: [FigmaApi](../figma-api.md) +- diff --git a/apps/docs/figma/api/low-level/download-exported-assets.md b/apps/docs/figma/api/low-level/download-exported-assets.md new file mode 100644 index 0000000..6316a8f --- /dev/null +++ b/apps/docs/figma/api/low-level/download-exported-assets.md @@ -0,0 +1,51 @@ +# `downloadExportedAssets` + +::: tip +Part of [Export API](../export/) +::: + +Download prepared assets from the [resolveExportedAssets](./resolve-exported-assets.md) API. + +```ts +declare function downloadExportedAssets({ + ctx, + items, + concurrency = 5 +}: DownloadExportedAssetsParams): Promise[]>; +``` + +## `DownloadExportedAssetsParams` + +Parameters for the `downloadExportedAssets` API. + +- `ctx`: see [ExportContext](./create-export-context.md) +- [DownloadExportedAssetsConfig](#downloadexportedassetsconfig): see below + +```ts +export interface DownloadExportedAssetsParams extends DownloadExportedAssetsConfig { + ctx: ExportContext; + items: DownloadableAsset[]; +} +``` + +## `DownloadExportedAssetsConfig` + +User configuration for the `downloadExportedAssets` API. + +```ts +export interface DownloadExportedAssetsConfig { + concurrency?: number; +} +``` + +## `DownloadedAsset` + +Asset with downloaded content. + +- [DownloadableAsset](./resolve-exported-assets.md#downloadableasset): see below + +```ts +export interface DownloadedAsset extends DownloadableAsset { + content: string; +} +``` diff --git a/apps/docs/figma/api/low-level/resolve-exported-assets.md b/apps/docs/figma/api/low-level/resolve-exported-assets.md new file mode 100644 index 0000000..3716dab --- /dev/null +++ b/apps/docs/figma/api/low-level/resolve-exported-assets.md @@ -0,0 +1,106 @@ +# `resolveExportedAssets` + +::: tip +Part of [Export API](../export/) +::: + +Resolve all required assets URLs for future downloading with [downloadExportedAssets](./download-exported-assets.md). + +Works with any data, but you need to provide a `getItemMeta` function to extract meta information about the item. + +- [DownloadableAsset](#downloadableasset) - asset with resolved URLs +- [ResolveExportedAssetsParams](#resolveexportedassetsparams) - parameters for the `resolveExportedAssets` API + +```ts +declare function resolveExportedAssets({ + ctx, + items, + exportAs = 'svg', + batching = 50, + concurrency = 3, + getItemMeta, + resolversMap = defaultExportSettingsResolvers as Resolvers +}: ResolveExportedAssetsParams): Promise[]>; +``` + +## `ResolveExportedAssetsParams` + +Parameters for the `resolveExportedAssets` API. + +- `ctx`: see [ExportContext](./create-export-context.md) +- [ResolveExportedAssetsConfig](#resolveexportedassetsconfig) + +```ts +export interface ResolveExportedAssetsParams + extends ResolveExportedAssetsConfig { + ctx: ExportContext; + items: T[]; + /** + * Required item meta information extractor. + */ + getItemMeta: (item: T) => DownloadableAssetMeta; + resolversMap?: Resolvers; +} +``` + +## `ResolveExportedAssetsConfig` + +User configuration for the `resolveExportedAssets` API. + +- `DefaultResolvers`: Resolvers for `svg`, `png`, `jpg` and `pdf` formats. +- `exportAs`: see [ExportResolverInput](#exportresolverinput) below + +```ts +export interface ResolveExportedAssetsConfig { + /** + * @example 'svg' + * @example ['svg', 'png'] + * @example ['svg', item => item.exportSettings] + * @example item => [{ format: 'jpg', suffix: '', constraint: { type: 'SCALE', value: 2 } }] + */ + exportAs?: ExportResolverInput; + batching?: number; + concurrency?: number; +} +``` + +## `DownloadableAsset` + +Asset with resolved URLs. + +- [DownloadableAssetMeta](#downloadableassetmeta) + +```ts +export interface DownloadableAsset extends DownloadableAssetMeta { + url: string; + value: T; + scale: number; + format: GetImageParams['format']; // 'svg' | 'png' | 'jpg' | 'pdf' +} +``` + +## `DownloadableAssetMeta` + +General meta information about asset. + +```ts +export interface DownloadableAssetMeta { + id: string; + name: string; + fileId: string; +} +``` + +## `ExportResolverInput` + +Input for the `exportAs` resolver. + +```ts +export type ExportResolverInputItem = + | keyof Resolvers + | ExportSettingsResolver; + +export type ExportResolverInput = + | ExportResolverInputItem + | ExportResolverInputItem[]; +``` diff --git a/apps/docs/figma/api/low-level/utils.md b/apps/docs/figma/api/low-level/utils.md index 406fa22..6ce9ed4 100644 --- a/apps/docs/figma/api/low-level/utils.md +++ b/apps/docs/figma/api/low-level/utils.md @@ -2,7 +2,7 @@ Here's a list of common utilities that are internally used in our top-level APIs, but can be useful for you as well. -### `isPaintGradient` +## `isPaintGradient` Accepts [Paint](https://www.figma.com/developers/api#paint-type) object and returns `true` if it's an any gradient. @@ -12,7 +12,7 @@ if (isPaintGradient(paint)) { } ``` -### `isPaintSolid` +## `isPaintSolid` Accepts [Paint](https://www.figma.com/developers/api#paint-type) object and returns `true` if it's a solid color. @@ -22,7 +22,7 @@ if (isPaintSolid(paint)) { } ``` -### `isEffectShadow` +## `isEffectShadow` Accepts [Effect](https://www.figma.com/developers/api#effect-type) object and returns `true` if it's a shadow. @@ -32,7 +32,7 @@ if (isEffectShadow(effect)) { } ``` -### `isEffectBlur` +## `isEffectBlur` Accepts [Effect](https://www.figma.com/developers/api#effect-type) object and returns `true` if it's a blur. @@ -42,7 +42,7 @@ if (isEffectBlur(effect)) { } ``` -### `getColor` +## `getColor` Returns [colord](https://github.com/omgovich/colord) instance for passed [Color](https://www.figma.com/developers/api#color-type), which provides high-level color manipulation API. @@ -52,7 +52,7 @@ const color = getColor(paint.color); color.toHex(); // #ff0000 ``` -### `parseFileIdFromLink` +## `parseFileIdFromLink` Accepts Figma link and returns file id. diff --git a/apps/docs/figma/api/low-level/write-downloaded-assets.md b/apps/docs/figma/api/low-level/write-downloaded-assets.md new file mode 100644 index 0000000..ca1495e --- /dev/null +++ b/apps/docs/figma/api/low-level/write-downloaded-assets.md @@ -0,0 +1,80 @@ +# `writeDownloadedAssets` + +::: tip +Part of [Export API](../export/) +::: + +Integrated API to write downloaded assets to the virtual file system. + +- [WriteDownloadedAssets](#writedownloadedassetsparams): parameters for the `writeDownloadedAssets` API + +```ts +declare function writeDownloadedAssets({ + ctx, + items, + getFileNameCtx, + concurrency = 5, + optimize = true +}: DownloadAndWriteAssetsParams): Promise; +``` + +## `WriteDownloadedAssetsParams` + +Parameters for the `writeDownloadedAssets` API. + +- `ctx`: see [ExportContext](./create-export-context.md) +- [DownloadedAsset](./download-exported-assets.md#downloadedasset) +- [WriteDownloadedAssetsConfig](#writedownloadedassetsconfig) + +```ts +export interface WriteDownloadedAssetsParams extends WriteDownloadedAssetsConfig { + ctx: ExportContext; + items: DownloadedAsset[]; + /** + * Resolve additional context for the `getExportFileName` function. + * @example () => ({ fileId: "..." }) + * @example node => ({ node, ...myData }) + */ + getFileNameCtx: (item: DownloadedAsset) => Ctx; +} +``` + +## `WriteDownloadedAssetsConfig` + +User configuration for the `writeDownloadedAssets` API. + +```ts +export interface WriteDownloadedAssetsConfig { + optimize?: OptimizeDownloadedAssetsParams | false; + concurrency?: number; + /** + * Exported nodes can provide wrong built-in names, so we can override them here. + * + * @param item - Downloaded item + * @param ctx - Export context (depends on the export type, returned by `getFileNameCtx`) + * + * @example ({ node, format }) => `${node.source.name}.${format}` + * @default Lowercased node name separated by "/" + scale postfix if scale > 1 + */ + getExportFileName?: (item: DownloadedAsset, ctx: Ctx) => string; +} +``` + +## `formatExportFileName` + +::: warning +Semi-internal API +::: + +Format file name as lower-cased string with replaced spaces and special characters to dashes. + +You can use this function for building your own `getExportFileName` function. + +```ts +/** + * @example "File.svg" -> "file.svg" + * @example "Common/Animals and Plants/Cat_sleeping.svg" -> "common/animals-and-plants/cat_sleeping.svg" + * @example "print: 32/copy&pasted.svg" -> "print-32/copy-pasted.svg" + */ +declare function formatExportFileName(fileName: string): string; +``` From 875d33cf4faee9b512b3283eeaf37526ee2fb85c Mon Sep 17 00:00:00 2001 From: Dmitry Remezov Date: Sun, 30 Jul 2023 16:35:24 +0300 Subject: [PATCH 09/15] docs(figma): cover Figma API, Getting started, Motivation and Graph APIs --- apps/docs/.vitepress/config.ts | 83 +++++++++++- apps/docs/figma/api/export/index.md | 68 ++++++++++ apps/docs/figma/api/figma-api.md | 122 ++++++++++++++++++ .../docs/figma/api/low-level/collect-nodes.md | 105 +++++++++++++++ .../figma/api/low-level/create-file-graph.md | 86 ++++++++++++ apps/docs/figma/index.md | 111 ++++++++++++++++ apps/docs/figma/motivation.md | 17 +++ .../docs/figma/recipes/traverse-file-graph.md | 90 +++++++++++++ apps/docs/index.md | 9 +- apps/docs/svg/colors-reset.md | 9 ++ 10 files changed, 690 insertions(+), 10 deletions(-) create mode 100644 apps/docs/figma/api/export/index.md create mode 100644 apps/docs/figma/api/figma-api.md create mode 100644 apps/docs/figma/api/low-level/collect-nodes.md create mode 100644 apps/docs/figma/api/low-level/create-file-graph.md create mode 100644 apps/docs/figma/index.md create mode 100644 apps/docs/figma/motivation.md create mode 100644 apps/docs/figma/recipes/traverse-file-graph.md diff --git a/apps/docs/.vitepress/config.ts b/apps/docs/.vitepress/config.ts index 7b644ed..3fce6e7 100644 --- a/apps/docs/.vitepress/config.ts +++ b/apps/docs/.vitepress/config.ts @@ -5,10 +5,21 @@ export default defineConfig({ title: 'Neodx', description: 'Modern solutions for great DX', themeConfig: { - // https://vitepress.dev/reference/default-theme-config + socialLinks: [{ icon: 'github', link: 'https://github.com/secundant/neodx' }], + footer: { + message: 'Released under the MIT License.', + copyright: 'Copyright © 2023-present Dmitry Remezov' + }, nav: [ - { text: 'Home', link: '/' }, - { text: 'Examples', link: '/markdown-examples' } + { + text: 'Packages', + activeMatch: '^/(log|svg|figma)/', + items: [ + { text: '@neodx/log', link: '/log/', activeMatch: '^/log/' }, + { text: '@neodx/svg', link: '/svg/', activeMatch: '^/svg/' }, + { text: '@neodx/figma', link: '/figma/', activeMatch: '^/figma/' } + ] + } ], sidebar: [ @@ -33,9 +44,69 @@ export default defineConfig({ { text: 'Frameworks and bundlers', link: '/svg/frameworks-and-bundlers' }, { text: 'Automatically reset colors', link: '/svg/colors-reset' } ] + }, + { + text: '@neodx/figma', + collapsed: true, + items: [ + { text: 'Getting started', link: '/figma/' }, + { text: 'Motivation', link: '/figma/motivation' }, + { + text: 'Recipes', + items: [{ text: 'Traverse file graph', link: '/figma/recipes/traverse-file-graph' }] + }, + { + text: 'API', + items: [ + { text: 'Figma API', link: '/figma/api/figma-api' }, + { + text: 'Export API', + link: '/figma/api/export/' + } + ] + }, + { + text: 'Node API', + collapsed: true, + items: [ + { + text: 'collectNodes', + link: '/figma/api/low-level/collect-nodes' + }, + { + text: 'createFileGraph', + link: '/figma/api/low-level/create-file-graph' + }, + { + text: 'Common utilities', + link: '/figma/api/low-level/utils' + } + ] + }, + { + text: 'Low-level Export API', + collapsed: true, + items: [ + { + text: 'createExportContext', + link: '/figma/api/low-level/create-export-context' + }, + { + text: 'resolveExportedAssets', + link: '/figma/api/low-level/resolve-exported-assets' + }, + { + text: 'downloadExportedAssets', + link: '/figma/api/low-level/download-exported-assets' + }, + { + text: 'writeDownloadedAssets', + link: '/figma/api/low-level/write-downloaded-assets' + } + ] + } + ] } - ], - - socialLinks: [{ icon: 'github', link: 'https://github.com/secundant/neodx' }] + ] } }); diff --git a/apps/docs/figma/api/export/index.md b/apps/docs/figma/api/export/index.md new file mode 100644 index 0000000..71a6e79 --- /dev/null +++ b/apps/docs/figma/api/export/index.md @@ -0,0 +1,68 @@ +# Export API + +## Export file + +::: danger Not ready +Work in progress... +::: + +## Export published components + +::: danger Not ready +Work in progress... +::: + +## Assets export explained + +If you have a specific scenario in mind, you can utilize low-level APIs in a similar manner to how we use them. + +Our primary export APIs follow the flow outlined below: + +1. Create an export context with [createExportContext](../low-level/create-export-context.md) +2. Collect Figma elements to export (it could be any logic) +3. Resolve exported assets with [resolveExportedAssets](../low-level/resolve-exported-assets.md) +4. Download exported assets with [downloadExportedAssets](../low-level/download-exported-assets.md) +5. Write downloaded assets to disk with [writeDownloadedAssets](../low-level/write-downloaded-assets.md) + +```ts +import { + createExportContext, + resolveExportedAssets, + downloadExportedAssets, + writeDownloadedAssets +} from '@figma-export/core'; + +const ctx = createExportContext({ + /* ... */ +}); +const myElements = await collectSomeFigmaElements(); +// Prepare assets for download +const downloadable = await resolveExportedAssets({ + ctx, + items: myElements, + exportAs: 'svg', + getItemMeta: ({ id, name }) => ({ + id, + name, + fileId: 'my-file-id' + }) +}); +// Download assets +const downloadedItems = await downloadExportedAssets({ + ctx, + items: downloadable +}); +// Write assets to disk +await writeDownloadedAssets({ + ctx, + items: downloadedItems, + getFileNameCtx: () => null +}); +``` + +## Low-level API + +- [createExportContext](../low-level/create-export-context.md) +- [resolveExportedAssets](../low-level/resolve-exported-assets.md) +- [downloadExportedAssets](../low-level/download-exported-assets.md) +- [writeDownloadedAssets](../low-level/write-downloaded-assets.md) diff --git a/apps/docs/figma/api/figma-api.md b/apps/docs/figma/api/figma-api.md new file mode 100644 index 0000000..90b1fa3 --- /dev/null +++ b/apps/docs/figma/api/figma-api.md @@ -0,0 +1,122 @@ +# Figma API + +Basic API client for Figma. You can find some usage examples in these references: + +- [Export API](./export/) +- [Traverse file graph recipe](../recipes/traverse-file-graph.md) + +```typescript +declare function createFigmaApi(params: CreateFigmaApiParams): FigmaApi; + +const figma = createFigmaApi({ + /* ... */ +}); +``` + +## `CreateFigmaApiParams` + +```typescript +export interface CreateFigmaApiParams { + /** + * The base URL of the Figma API (with version). + * @default 'https://api.figma.com/v1' + */ + baseUrl?: string; + /** + * The fetch function to use. + * @default globalThis.fetch + * @attention Will be replaced with our fetch client in the future. + */ + fetch?: typeof fetch; + /** + * The logger implementation. + * @see `@neodx/logger` + * @default Logger with `debug` level. + */ + log?: LoggerMethods<'info' | 'error' | 'debug'>; + /** + * The access token of the Figma API (OAuth2). + * @see https://www.figma.com/developers/api#access-tokens + */ + accessToken?: string; + /** + * The personal access token of the Figma API. + * @default process.env.FIGMA_TOKEN + * @see https://www.figma.com/developers/api#access-tokens + */ + personalAccessToken?: string; +} +``` + +## `FigmaApi` + +For details about the Figma API, see [Figma API Reference](https://www.figma.com/developers/api) +or our [Types for Figma API](https://github.com/secundant/neodx/blob/main/libs/figma/src/core/figma-api.h.ts). + +### Files + +- `getFile({ id, ...params }: GetFileParams): GetFileResult` + > [GET /v1/files/:key](https://www.figma.com/developers/api#get-files-endpoint) +- `getFileNodes({ id, ...params }: GetFileNodesParams): GetFileNodesResult` + > [GET /v1/files/:key/nodes](https://www.figma.com/developers/api#get-file-nodes-endpoint) +- `getImage({ id, ...params }: GetImageParams)`: `GetImageResult` + > [GET /v1/images/:key](https://www.figma.com/developers/api#get-images-endpoint) +- `getImageFills({ id }: GetImageFillsParams)`: `GetImageFillsResult` + > [GET /v1/files/:key/images](https://www.figma.com/developers/api#get-image-fills-endpoint) + +### Comments + +- `getComments({ id }: GetCommentsParams)`: `GetCommentsResult` + > [GET /v1/files/:file_key/comments](https://www.figma.com/developers/api#get-comments-endpoint) +- `postComments({ id, ...body }: PostCommentsParams)`: `PostCommentResult` + > [POST /v1/files/:file_key/comments](https://www.figma.com/developers/api#post-comments-endpoint) +- `deleteComments({ id, comment_id }: DeleteCommentsParams)`: `void` + > [DELETE /v1/files/:file_key/comments/:comment_id](https://www.figma.com/developers/api#delete-comments-endpoint) + +### Users + +- `getMe()`: `GetUserMeResult` + > [GET /v1/me](https://www.figma.com/developers/api#users-endpoints) + +### Versions + +- `getVersions({ id }: GetVersionsParams)`: `GetVersionsResult` + > [GET /v1/files/:key/versions](https://www.figma.com/developers/api#version-history-endpoints) + +### Teams and projects + +- `getTeamProjects({ team_id }: GetTeamProjectsParams)`: `GetTeamProjectsResult` + > GET /v1/teams/:team_id/projects +- `getProjectFiles({ project_id }: GetProjectFilesParams)`: `GetProjectFilesResult` + > GET /v1/projects/:project_id/files + +### Components and styles + +::: warning +These APIs are required at least [Figma Professional plan](https://www.figma.com/pricing/) +::: + +- `getTeamComponents({ team_id }: GetTeamComponentsParams)`: `GetTeamComponentsResult` + > GET /v1/teams/:team_id/components +- `getFileComponents({ id }: GetFileComponentsParams)`: `GetFileComponentsResult` + > GET /v1/files/:file_key/components +- `getComponent({ key }: GetComponentParams)`: `GetComponentResult` + > GET /v1/components/:key +- `getTeamComponentSets({ team_id }: GetTeamComponentSetsParams)`: `GetTeamComponentSetsResult` + > GET /v1/teams/:team_id/component_sets +- `getFileComponentSets({ id }: GetFileComponentSetsParams)`: `GetFileComponentSetsResult` + > GET /v1/files/:file_key/component_sets +- `getComponentSet({ key }: GetComponentSetParams)`: `GetComponentSetResult` + > GET /v1/component_sets/:key +- `getTeamStyles({ team_id }: GetTeamStylesParams)`: `GetTeamStylesResult` + > GET /v1/teams/:team_id/styles +- `getFileStyles({ id }: GetFileStylesParams)`: `GetFileStylesResult` + > GET /v1/files/:file_key/styles +- `getStyle({ key }: GetStyleParams)`: `GetStyleResult` + > GET /v1/styles/:key + +### Variables + +::: danger Not ready +Work in progress... +::: diff --git a/apps/docs/figma/api/low-level/collect-nodes.md b/apps/docs/figma/api/low-level/collect-nodes.md new file mode 100644 index 0000000..cd74242 --- /dev/null +++ b/apps/docs/figma/api/low-level/collect-nodes.md @@ -0,0 +1,105 @@ +--- +outline: [2, 3] +--- + +# `collectNodes` + +Function for hierarchical filtering, collecting and extracting nodes from the Figma document. + +- `graph`: A Figma document [GraphNode](./create-file-graph.md#graphnode) to traverse. +- [CollectNodesParams](#collectnodesparams) + +```ts +declare function collectNodes(graph: Graph, params?: CollectNodesParams): GraphNode[]; +``` + +## Usage + +```ts +const myComponents = collectNodes(myGraph, { + extract: 'INSTANCE', + target: [ + { + type: 'CANVAS', + filter: 'Icons' + }, + { + type: 'FRAME', + filter: ['Tools', 'General'] + } + ] +}); +``` + +## `CollectNodesParams` + +- `log`: [`@neodx/log` Logger](../../../log/) instance or satisfying interface. +- [NodesExtractor](#nodesextractor) +- [SpecifiedCollectTarget](#specifiedcollecttarget) + +```ts +export interface CollectNodesParams { + log?: LoggerMethods<'debug' | 'error' | 'info' | 'warn'>; + /** + * List of the conditions to filter nodes hierarchy. + * @example { type: 'COMPONENT', filter: 'Button' } // filter all components named "Button" + * @example [ + * // get the "Home" canvas (page) + * { type: 'CANVAS', filter: 'Home' }, + * + * // get the "Header" and "Footer" frames + * { type: 'FRAME', filter: ['Header', 'Footer'] }, + * + * // get all component sets with "32" in the name and visible + * { type: 'COMPONENT_SET', filter: [/32/, node => node.source.visible !== false] }, + * + * // get all components with "Light" or "Dark" in names + * { type: 'COMPONENT', filter: ['Light', 'Dark'] }, + * ] + */ + target?: SpecifiedCollectTarget | SpecifiedCollectTarget[]; + /** + * When we're done with filtering nodes hierarchy, we can extract the nodes we want to export. + * Can accept a specific node type, custom function or array of them. + * @example (node) => node.registry.types.COMPONENT // export all components + * @example 'COMPONENT' // export all components too + * @example ['COMPONENT', 'FRAME'] // export all components and frames + * @default Extracts all `COMPONENT` nodes. + */ + extract?: NodesExtractor | NodeType | Array; +} +``` + +### `NodesExtractor` + +Should return a node or an array of nodes. + +```ts +export interface NodesExtractor { + (node: GraphNode): GraphNode | GraphNode[]; +} +``` + +### `SpecifiedCollectTarget` + +It's a complex type, but we can simplify it to: + +```ts +export interface SpecifiedCollectTarget { + /** + * Node type to filter. + * @example 'CANVAS' + * @example 'FRAME' + * @example 'COMPONENT' + * @example 'COMPONENT_SET' + */ + type: NodeType; + /** + * Node filter - string, regexp or custom function. + * @example 'Home' + * @example ['Header', 'Footer'] + * @example [/32/, node => node.source.visible !== false] + */ + filter: PredicateInput | PredicateInput[]; +} +``` diff --git a/apps/docs/figma/api/low-level/create-file-graph.md b/apps/docs/figma/api/low-level/create-file-graph.md new file mode 100644 index 0000000..eb04f7e --- /dev/null +++ b/apps/docs/figma/api/low-level/create-file-graph.md @@ -0,0 +1,86 @@ +--- +outline: [2, 3] +--- + +# `createFileGraph` + +Create a well-typed human-friendly graph for convenient access to the Figma document data. + +- `fileId` - Figma file id, can be parsed from the file link via [parseFileIdFromLink](./utils.md#parsefileidfromlink) +- `file` - [Figma API `GetFileResult`](https://www.figma.com/developers/api#get-files-endpoint) from our [Figma API client (.getFile)](../figma-api.md) +- [GraphNode](#graphnode) + +```typescript +import { DocumentNode } from '@neodx/figma'; + +declare function createFileGraph(fileId: string, file: GetFileResult): GraphNode; +``` + +## Usage + +You could use received graph in the following APIs: + +- [collectNodes](./collect-nodes.md) +- (no link) Export file API + +```ts +const graph = createFileGraph(fileId, myFigmaFile); + +// Every node contains a two subgraphs with equal structure but different meaning: +graph.children; // registry of direct child nodes +graph.registry; // registry of ALL nodes in the document (or any other node) +``` + +## Types + +### `GraphNode` + +Data structure for every node in the graph. + +Contains original node data from Figma API, children registry, aggregated registry of all descendant nodes, and computed styles. + +- `children` and `registry`: [GraphNodeRegistry](#graphnoderegistry) +- `styles`: [`ComputedStyleNode[]`](#computedstylenode) + +```ts +declare const node: GraphNode; + +node.id; // node id +node.type; // node type (TEXT, FRAME, etc.) +node.source; // node source data, original node data from Figma API +node.children; // GraphNodeRegistry; node children registry +node.registry; // GraphNodeRegistry; aggregated registry of all nodes inside node +node.parentId; // parent node id (if exists) +node.styles; // ComputedStyleNode[]; computed styles for node +``` + +### `GraphNodeRegistry` + +```ts +declare const registry: GraphRegistry; + +registry.types; // registry of nodes grouped by type +registry.types.TEXT; // array of all text nodes +registry.byId; // registry of nodes by id +registry.byId['xxx']; // node with id 'xxx' +registry.byId['xxx'].registry; // registry of nodes inside node with id 'xxx' +registry.list; // array of all nodes +registry.styles; // key-value object with computed styles (ComputedStyleNode) for all nodes +``` + +### `ComputedStyleNode` + +```ts +// "Style" is a original Figma API style object +interface ComputedStyleNode extends Style { + /** + * Style node id + */ + id: NodeID; + /** + * An array of paint styles (fills, strokes, etc.) + */ + styles: Paint[]; + textStyles?: TypeStyle; +} +``` diff --git a/apps/docs/figma/index.md b/apps/docs/figma/index.md new file mode 100644 index 0000000..f1f74dd --- /dev/null +++ b/apps/docs/figma/index.md @@ -0,0 +1,111 @@ +--- +title: '@neodx/figma' +outline: [2, 3] +--- + +# {{ $frontmatter.title }} + +The modern Figma integration tools, typed API, human-friendly files traversing, assets exporter, and more. + +- Flexible optimized [Export API](./api/export/) - the simple but powerful way to automate your design system + - [Exporting assets from file](./recipes/export-file-assets.md) + - [Exporting assets from published library components](./recipes/export-published-components-assets.md) +- Fully Typed [Figma API](./api/figma-api.md) and [common helpers](./api/low-level/utils.md) +- Brilliant human-friendly Figma [document graph traversing](./recipes/traverse-file-graph.md) + +## Installation + +::: code-group + +```bash [npm] +npm install -D @neodx/figma +``` + +```bash [yarn] +yarn add -D @neodx/figma +``` + +```bash [pnpm] +pnpm add -D @neodx/figma +``` + +::: + +## Getting started + +You can use the `@neodx/figma` in two ways: + +- [Export API](./api/export/) CLI - built-in automated flow for exporting assets from Figma files or published library components. +- [Node.js API](./api/low-level/) - a set of functions that you can use to build your own custom Figma integration tools. + +In this guide, we will use the [Export](./api/export/) CLI to export assets from Figma files. + +### Personal access token + +We are using the Figma API, so you need to provide a personal access token to access the API. + +The token can be obtained from the [Figma account settings](https://www.figma.com/developers/api#access-tokens) (Figma > Help and Account > Account Settings > Personal Access Tokens). + +You can provide the token via the `FIGMA_TOKEN` environment variable, the `--token` CLI argument, or the `token` option in the configuration file. + +::: code-group + +```bash [Environment variable] +FIGMA_TOKEN=xxxxx yarn figma export +``` + +```bash [CLI argument] +yarn figma export --token xxxxx +``` + +```js{3} [Configuration file (not recommended)] +// figma.config.js +module.exports = { + token: 'xxxxx' +}; +``` + +::: + +### Configure your project + +The simple config is just a file ID, output path and rules for collecting components (what exactly you want to export). + +We're using the [cosmiconfig](https://www.npmjs.com/package/cosmiconfig) package to load the configuration file, so you can use any supported format: +`figma.config.js`, `.figmarc.cjs`, etc. (we recommend using JS files for possible future extensions). + +Let's write it: + +```javascript figma.config.js +const { formatExportFileName } = require('@neodx/figma'); + +/** + * @type {import('@neodx/figma').Configuration} + */ +module.exports = { + export: { + fileId: 'YOUR_FILE_ID_OR_LINK', + output: 'assets/icons', + collect: { + target: [ + { + // First of all - select the "Icons" page + type: 'CANVAS', + filter: 'Icons' + }, + { + // Then select all components with names that starts with "32/" + type: 'COMPONENT', + filter: /32\/.*/ + } + ] + } + } +}; +``` + +We're highly recommended to check the [Configuration](#configuration) section to see all available options (There's a lot to see there!). + +::: danger Not ready +Work in progress... +::: diff --git a/apps/docs/figma/motivation.md b/apps/docs/figma/motivation.md new file mode 100644 index 0000000..706d83b --- /dev/null +++ b/apps/docs/figma/motivation.md @@ -0,0 +1,17 @@ +# Motivation + +I've been looking for a stable maintaining Figma API with built-in high-level structures, abstractions, and common features for implementing high-level tools for Figma. +But I didn't find anything that would suit me, [figma-js](https://github.com/jemgold/figma-js) and [figma-api](https://github.com/didoo/figma-api) both are not maintained, low-level API only and depends on the axios library, which is not suitable for me. + +Next, I found [figma-transformer](https://github.com/figma-tools/figma-transformer), nice project for creating a human-friendly data structure, but it's not a full-featured, not maintained, and written in **very** unsafe and untyped style. + +So I decided to create my own Figma API, which will be: + +- **Powerful CLI** solves the most common tasks +- **Fully typed** consistent Figma API and common helpers +- **Convenient high-level** Node.js API for working with Figma projects +- **Web API based** and not depend on specific third-party libraries +- **Safe** and **stable** as possible without strict value validation (via `zod`, `runtypes` or something like that) +- etc. + +In other words, the holistic high-level well-featured instrument. diff --git a/apps/docs/figma/recipes/traverse-file-graph.md b/apps/docs/figma/recipes/traverse-file-graph.md new file mode 100644 index 0000000..a47ef9d --- /dev/null +++ b/apps/docs/figma/recipes/traverse-file-graph.md @@ -0,0 +1,90 @@ +# Traverse file graph + +The Figma API is designed as a simple nested tree structure and not fit for high-level interactions. + +For example, every change in the real document will lead to a change in the tree structure from the API, you can't navigate through the tree structure, +you can't get all nodes of the same type or complex filters, etc. + +We're providing a powerful graph structure for easy traversing and accessing any data in the document. + +```ts +import { createFileGraph, createFigmaApi } from '@neodx/figma'; + +const fileId = 'xxx'; +const api = createFigmaApi({ + /* ... */ +}); +const file = await api.getFile({ id: fileId }); +const graph = createFileGraph(fileId, file); +// ... +``` + +## Collect specific components within the component sets + +```ts +import { collectNodes } from '@neodx/figma'; + +// All components in "Icons" page withing "32/..." component set +const icons32 = collectNodes(graph, { + target: [ + { + // First of all - select the "Icons" page + type: 'CANVAS', + filter: 'Icons' + }, + { + // Then select all components with names that starts with "32/" + type: 'COMPONENT', + filter: /^32\// + } + ] +}); +``` + +## Collect instances by multiple criteria + +```ts +import { collectNodes, extractNodeType } from '@neodx/figma'; + +const iconsInstances = collectNodes(graph, { + target: [ + { + type: 'CANVAS', + filter: ['Icons', 'Assets'] // Include 2 pages + }, + { + // Filter frames with names that contains "Colored", "Outlined" or "Filled" + type: 'FRAME', + filter: /Colored|Outlined|Filled/ + } + ], + extract: 'INSTANCE' // Get all instances +}); +``` + +## Get all text nodes + +```ts +const texts = graph.registry.types.TEXT.map(text => text.source.characters); +``` + +## Get defined colors + +```ts +import { getColor, isPaintSolid } from '@neodx/figma'; + +const filledColors = Object.values(graph.registry.styles).filter( + // remote colors are an external styles + ({ styleType, styles, remote }) => styleType === 'FILL' && !remote +); + +for (const { name, styles } of filledColors) { + const solid = styles.find(isPaintSolid); + + if (!solid) continue; + const key = name.toLowerCase().replaceAll(/[-\/\s]/g, '.'); + const color = getColor(solid.color).toHex(); + + console.log(name, color); +} +``` diff --git a/apps/docs/index.md b/apps/docs/index.md index ee4bc18..ee59392 100644 --- a/apps/docs/index.md +++ b/apps/docs/index.md @@ -17,11 +17,12 @@ features: details: Supercharge your icons
Well featured sprites generator with DX in mind - title: '@neodx/figma' icon: 🎨 + link: /figma/ details: The modern Figma integration tools, typed API, human-friendly files traversing, assets exporter, and more. - title: '@neodx/vfs' icon: 📁 - details: Missing virtual file system abstraction that makes working with the file system a breeze - - title: '@neodx/colors' - icon: 🌈 - details: Tiny colors for Node CLI + details: > + Missing virtual file system abstraction that makes working with the file system a breeze +
+ (coming soon...) --- diff --git a/apps/docs/svg/colors-reset.md b/apps/docs/svg/colors-reset.md index 7ba2d4f..7fe25d3 100644 --- a/apps/docs/svg/colors-reset.md +++ b/apps/docs/svg/colors-reset.md @@ -1,5 +1,14 @@ # Automatically reset colors +```typescript +svg({ + resetColors: { + // default, replace all colors with currentColor + replaceUnknown: 'currentColor' + } +}); +``` + Automate your icons and forget about colors management issues. ## Motivation From 22d62ee51ee03c7c11d4047096932758d1990fdb Mon Sep 17 00:00:00 2001 From: Dmitry Remezov Date: Sun, 30 Jul 2023 19:51:45 +0300 Subject: [PATCH 10/15] docs(figma): add recipes and export config reference --- apps/docs/.vitepress/config.ts | 18 ++- .../figma/api/export/export-file-assets.md | 67 +++++++++ .../api/export/export-published-components.md | 67 +++++++++ apps/docs/figma/api/figma-api.md | 3 +- apps/docs/figma/api/graph/index.md | 0 apps/docs/figma/index.md | 18 +-- apps/docs/figma/recipes/export-file-assets.md | 131 ++++++++++++++++++ .../recipes/export-published-components.md | 65 +++++++++ ...e-file-graph.md => traverse-figma-file.md} | 2 +- .../export-file-assets}/get-figma-token.png | Bin .../public/export-file-assets}/output.png | Bin .../public/export-file-assets}/source.png | Bin 12 files changed, 354 insertions(+), 17 deletions(-) create mode 100644 apps/docs/figma/api/export/export-file-assets.md create mode 100644 apps/docs/figma/api/export/export-published-components.md create mode 100644 apps/docs/figma/api/graph/index.md create mode 100644 apps/docs/figma/recipes/export-file-assets.md create mode 100644 apps/docs/figma/recipes/export-published-components.md rename apps/docs/figma/recipes/{traverse-file-graph.md => traverse-figma-file.md} (99%) rename {examples/figma-simple-export/docs => apps/docs/public/export-file-assets}/get-figma-token.png (100%) rename {examples/figma-simple-export/docs => apps/docs/public/export-file-assets}/output.png (100%) rename {examples/figma-simple-export/docs => apps/docs/public/export-file-assets}/source.png (100%) diff --git a/apps/docs/.vitepress/config.ts b/apps/docs/.vitepress/config.ts index 3fce6e7..140bfca 100644 --- a/apps/docs/.vitepress/config.ts +++ b/apps/docs/.vitepress/config.ts @@ -53,7 +53,14 @@ export default defineConfig({ { text: 'Motivation', link: '/figma/motivation' }, { text: 'Recipes', - items: [{ text: 'Traverse file graph', link: '/figma/recipes/traverse-file-graph' }] + items: [ + { text: 'Export File Assets', link: '/figma/recipes/export-file-assets' }, + { + text: 'Export Published Components', + link: '/figma/recipes/export-published-components' + }, + { text: 'Traverse Figma File', link: '/figma/recipes/traverse-file-graph' } + ] }, { text: 'API', @@ -61,7 +68,14 @@ export default defineConfig({ { text: 'Figma API', link: '/figma/api/figma-api' }, { text: 'Export API', - link: '/figma/api/export/' + link: '/figma/api/export/', + items: [ + { text: 'Export File Assets', link: '/figma/api/export/export-file-assets' }, + { + text: 'Export Published Components', + link: '/figma/api/export/export-published-components' + } + ] } ] }, diff --git a/apps/docs/figma/api/export/export-file-assets.md b/apps/docs/figma/api/export/export-file-assets.md new file mode 100644 index 0000000..6fff333 --- /dev/null +++ b/apps/docs/figma/api/export/export-file-assets.md @@ -0,0 +1,67 @@ +# Export file assets API Reference + +## CLI + +Configuration for `export` command in `.figma.config.js`. + +- [Basic configuration](#basic-configuration) + +```typescript +export interface ExportFileAssetsCliParams extends BasicConfiguration { + /** + * "file-assets" is using by default, so you don't need to specify it. + */ + type?: 'file-assets'; + /** + * Optional if you already defined `fileId` in root configuration. + */ + fileId?: string; + /** + * Path to the output directory of exported files (relative to the current working directory) + */ + output?: string; +} +``` + +## Node.js + +In Node.js, you can use `exportFileAssets` function to export assets from a Figma file. + +```typescript +declare function exportFileAssets(params: ExportFileAssetsParams): Promise; +``` + +- `ctx`: [ExportContext](../low-level/create-export-context.md#createexportcontextparams) +- [Basic configuration](#basic-configuration) + +```typescript +export interface ExportFileAssetsParams extends BasicConfiguration { + ctx: ExportContext; +} +``` + +## Basic configuration + +- `write`: [WriteDownloadedAssetsConfig](../low-level/write-downloaded-assets.md#writedownloadedassetsconfig) +- `collect`: [CollectNodesParams](../low-level/collect-nodes.md#collectnodesparams) (except `log`) +- `resolve`: [ResolveExportedAssetsConfig](../low-level/resolve-exported-assets.md#resolveexportedassetsconfig) +- `download`: [DownloadExportedAssetsConfig](../low-level/download-exported-assets.md#downloadexportedassetsconfig) + +```typescript +export interface BasicConfiguration { + write?: WriteDownloadedAssetsConfig>; + collect?: CollectNodesParams; + /** + * File nodes have their own optional user-defined export settings. + * To cover it, you could pass `resolve.exportAs: "export"` + * + * @example { + * resolve: { + * exportAs: "export", + * } + * } + */ + resolve?: ResolveExportedAssetsConfig; + download?: DownloadExportedAssetsConfig; +} +``` diff --git a/apps/docs/figma/api/export/export-published-components.md b/apps/docs/figma/api/export/export-published-components.md new file mode 100644 index 0000000..d818591 --- /dev/null +++ b/apps/docs/figma/api/export/export-published-components.md @@ -0,0 +1,67 @@ +# Export published components API Reference + +## CLI + +Configuration for `export` command in `.figma.config.js`. + +- [Basic configuration](#basic-configuration) + +```typescript +export interface ExportPublishedComponentsCliParams extends BasicConfiguration { + /** + * Required to be passed explicitly. + */ + type: 'published-components'; + /** + * Optional if you already defined `fileId` in root configuration. + */ + fileId?: string; + /** + * Path to the output directory of exported files (relative to the current working directory) + */ + output?: string; +} +``` + +## Node.js + +In Node.js, you can use `exportFileAssets` function to export assets from a Figma file. + +```typescript +declare function exportPublishedComponents(params: ExportPublishedComponentsParams): Promise; +``` + +- `ctx`: [ExportContext](../low-level/create-export-context.md#createexportcontextparams) +- [Basic configuration](#basic-configuration) + +```typescript +export interface ExportPublishedComponentsParams extends BasicConfiguration { + ctx: ExportContext; +} +``` + +## Basic configuration + +- `write`: [WriteDownloadedAssetsConfig](../low-level/write-downloaded-assets.md#writedownloadedassetsconfig) +- `collect`: [CollectNodesParams](../low-level/collect-nodes.md#collectnodesparams) (except `log`) +- `resolve`: [ResolveExportedAssetsConfig](../low-level/resolve-exported-assets.md#resolveexportedassetsconfig) +- `download`: [DownloadExportedAssetsConfig](../low-level/download-exported-assets.md#downloadexportedassetsconfig) + +```typescript +export interface BasicConfiguration { + /** + * Path to the cached file (relative to the output directory) + * @unstable May be changed in the future, use it at your own risk. + */ + cache?: string | false; + write?: WriteDownloadedAssetsConfig; + /** + * Filter components to export. + * @param {ComponentMetadata} component + * @example (component) => component.name.startsWith('Icon/') + */ + filter?: (component: ComponentMetadata) => boolean; + resolve?: ResolveExportedAssetsConfig; + download?: DownloadExportedAssetsConfig; +} +``` diff --git a/apps/docs/figma/api/figma-api.md b/apps/docs/figma/api/figma-api.md index 90b1fa3..eef2a1b 100644 --- a/apps/docs/figma/api/figma-api.md +++ b/apps/docs/figma/api/figma-api.md @@ -3,7 +3,8 @@ Basic API client for Figma. You can find some usage examples in these references: - [Export API](./export/) -- [Traverse file graph recipe](../recipes/traverse-file-graph.md) +- [Traverse file graph recipe](../recipes/traverse-figma-file.md) +- [] ```typescript declare function createFigmaApi(params: CreateFigmaApiParams): FigmaApi; diff --git a/apps/docs/figma/api/graph/index.md b/apps/docs/figma/api/graph/index.md new file mode 100644 index 0000000..e69de29 diff --git a/apps/docs/figma/index.md b/apps/docs/figma/index.md index f1f74dd..c81c22b 100644 --- a/apps/docs/figma/index.md +++ b/apps/docs/figma/index.md @@ -8,10 +8,10 @@ outline: [2, 3] The modern Figma integration tools, typed API, human-friendly files traversing, assets exporter, and more. - Flexible optimized [Export API](./api/export/) - the simple but powerful way to automate your design system - - [Exporting assets from file](./recipes/export-file-assets.md) - - [Exporting assets from published library components](./recipes/export-published-components-assets.md) + - [Exporting assets from file](recipes/export-file-assets.md) + - [Exporting assets from published library components](./recipes/export-published-components.md) - Fully Typed [Figma API](./api/figma-api.md) and [common helpers](./api/low-level/utils.md) -- Brilliant human-friendly Figma [document graph traversing](./recipes/traverse-file-graph.md) +- Brilliant human-friendly Figma [document graph traversing](./recipes/traverse-figma-file.md) ## Installation @@ -74,11 +74,9 @@ The simple config is just a file ID, output path and rules for collecting compon We're using the [cosmiconfig](https://www.npmjs.com/package/cosmiconfig) package to load the configuration file, so you can use any supported format: `figma.config.js`, `.figmarc.cjs`, etc. (we recommend using JS files for possible future extensions). -Let's write it: - -```javascript figma.config.js -const { formatExportFileName } = require('@neodx/figma'); +`figma.config.js`: +```javascript /** * @type {import('@neodx/figma').Configuration} */ @@ -103,9 +101,3 @@ module.exports = { } }; ``` - -We're highly recommended to check the [Configuration](#configuration) section to see all available options (There's a lot to see there!). - -::: danger Not ready -Work in progress... -::: diff --git a/apps/docs/figma/recipes/export-file-assets.md b/apps/docs/figma/recipes/export-file-assets.md new file mode 100644 index 0000000..dda1bdb --- /dev/null +++ b/apps/docs/figma/recipes/export-file-assets.md @@ -0,0 +1,131 @@ +# Export icons from the Community Weather Icons Kit + +::: tip +You could see [source code of this example here](https://github.com/secundant/neodx/tree/main/examples/figma-export-file-assets). +::: + +## Getting started + +Our point of interest is a [Community Weather Icons Kit](). + +This kit is designed as multiple component sets with different variants of the same component. + +I had declared the following requirements: + +- We're interested in the "icon" page +- All icons are placed under Component Sets (named group with different variants of a same component) +- All Component Set contains a `Color=On` and `Color=Off` variants +- We want to export the `Color=Off` variant only + +So, we need to collect all the Component Sets in the "icons" page, filter the `Color=Off` variants and name or exports based on the Component Set name. + +```javascript {.figma.config.js} +const { formatExportFileName } = require('@neodx/figma'); + +/** + * @type {import('@neodx/figma').Configuration} + */ +module.exports = { + export: { + fileId: + 'https://www.figma.com/file/H9kVbqMwzIxh579BpXKZbj/Weather--Icons-Kit-(Community)?type=design&node-id=0-1', + output: 'assets/icons', + write: { + getExportFileName({ format, value }, root) { + const parent = root.registry.byId[value.parentId]; + + return formatExportFileName( + `${parent.source.name.toLowerCase().replace('32/', '')}.${format}` + ); + } + }, + collect: { + target: [ + { + type: 'CANVAS', + filter: 'icon' + }, + { + type: 'COMPONENT_SET', + filter: /32/ + }, + { + type: 'COMPONENT', + filter: 'Color=Off' + } + ] + } + } +}; +``` + +This is the simplest configuration, you can find more details in [Configuration Reference](../api/export/export-file-assets.md#cli) + +Then, you can run `figma export` command to export assets from a Figma file. + +```shell +$ figma export +``` + +## Result + +### Source + +![source](/export-file-assets/source.png) + +### Output + +![result](/export-file-assets/output.png) + +## Usage in Node.js + +In Node.js, you can use `exportFileAssets` function to export assets from a Figma file. + +But you need to create an [export context](../api/low-level/create-export-context.md) first. + +Let's rewrite the previous example in Node.js. + +```typescript +import { exportFileAssets, createExportContext, createFigmaApi } from '@neodx/figma'; +import { createVfs } from '@neodx/vfs'; +import { resolve } from 'node:path'; + +const fileId = 'your-file-id'; +const api = createFigmaApi(); +const ctx = createExportContext({ + api, + vfs: createVfs(resolve(process.cwd(), 'output')) +}); + +await exportFileAssets({ + ctx, + fileId, + write: { + getExportFileName({ format, value }, root) { + const parent = root.registry.byId[value.parentId]; + + return formatExportFileName( + `${parent.source.name.toLowerCase().replace('32/', '')}.${format}` + ); + } + }, + collect: { + target: [ + { + type: 'CANVAS', + filter: 'icon' + }, + { + type: 'COMPONENT_SET', + filter: /32/ + }, + { + type: 'COMPONENT', + filter: 'Color=Off' + } + ] + } +}); +``` + +Additional configuration options are available in [Configuration Reference](../api/export/export-file-assets.md#nodejs) diff --git a/apps/docs/figma/recipes/export-published-components.md b/apps/docs/figma/recipes/export-published-components.md new file mode 100644 index 0000000..bfd6650 --- /dev/null +++ b/apps/docs/figma/recipes/export-published-components.md @@ -0,0 +1,65 @@ +# Export published components + +::: info +This recipe will be extended with more details and real-world example soon. +::: + +::: warning +Team libraries (and published components as a part of them) are available only in [Figma Professional plan](https://www.figma.com/pricing/) +::: + +Figma allows you to publish components to a team library, and you can use them in other files, but there are more benefits: + +- Published components have timestamps, so we can know if a component is updated or not and export only updated components +- In the opposite of local components, published components aren't included in the file; it's **significantly** faster to export + +## Usage in CLI + +First, you need to define export strategy in `.figma.config.js`: + +```javascript {.figma.config.js} +module.exports = { + export: { + type: 'published-components', + fileId: 'your-file-id', + output: './assets', + filter: component => component.name.startsWith('Icon/') + } +}; +``` + +This is the simplest configuration, you can find more details in [CLI Configuration Reference](../api/export/export-published-components.md#cli) + +Then, you can run `figma export` command to export assets from a Figma file. + +```shell +$ figma export +``` + +## Usage in Node.js + +In Node.js, you can use `exportFileAssets` function to export assets from a Figma file. + +But you need to create an [export context](../api/low-level/create-export-context.md) first. + +```typescript +import { exportPublishedComponents, createExportContext, createFigmaApi } from '@neodx/figma'; +import { createVfs } from '@neodx/vfs'; +import { resolve } from 'node:path'; + +const fileId = 'your-file-id'; +const api = createFigmaApi(); +const ctx = createExportContext({ + api, + vfs: createVfs(resolve(process.cwd(), 'output')) +}); + +await exportPublishedComponents({ + ctx, + fileId, + filter: component => component.name.startsWith('Icon/'), + ...otherOptions +}); +``` + +Additional configuration options are available in [Node.js Configuration Reference](../api/export/export-file-assets.md#nodejs) diff --git a/apps/docs/figma/recipes/traverse-file-graph.md b/apps/docs/figma/recipes/traverse-figma-file.md similarity index 99% rename from apps/docs/figma/recipes/traverse-file-graph.md rename to apps/docs/figma/recipes/traverse-figma-file.md index a47ef9d..ae2806e 100644 --- a/apps/docs/figma/recipes/traverse-file-graph.md +++ b/apps/docs/figma/recipes/traverse-figma-file.md @@ -1,4 +1,4 @@ -# Traverse file graph +# Traverse Figma File The Figma API is designed as a simple nested tree structure and not fit for high-level interactions. diff --git a/examples/figma-simple-export/docs/get-figma-token.png b/apps/docs/public/export-file-assets/get-figma-token.png similarity index 100% rename from examples/figma-simple-export/docs/get-figma-token.png rename to apps/docs/public/export-file-assets/get-figma-token.png diff --git a/examples/figma-simple-export/docs/output.png b/apps/docs/public/export-file-assets/output.png similarity index 100% rename from examples/figma-simple-export/docs/output.png rename to apps/docs/public/export-file-assets/output.png diff --git a/examples/figma-simple-export/docs/source.png b/apps/docs/public/export-file-assets/source.png similarity index 100% rename from examples/figma-simple-export/docs/source.png rename to apps/docs/public/export-file-assets/source.png From 1ef74c518581efdc57e7658d56c891a9c496e301 Mon Sep 17 00:00:00 2001 From: Dmitry Remezov Date: Sun, 30 Jul 2023 21:14:08 +0300 Subject: [PATCH 11/15] docs: add notes about new documentation and incomplete work --- apps/docs/.vitepress/config.ts | 2 +- apps/docs/api-examples.md | 55 --- apps/docs/figma/api/export/index.md | 18 +- apps/docs/figma/api/figma-api.md | 3 +- apps/docs/index.md | 3 +- apps/docs/log/child-and-fork.md | 4 + apps/docs/log/custom.md | 4 + apps/docs/log/index.md | 4 + apps/docs/log/json.md | 6 +- apps/docs/log/pretty-printing.md | 4 + apps/docs/markdown-examples.md | 85 ---- apps/docs/svg/frameworks-and-bundlers.md | 4 + apps/docs/svg/index.md | 4 + libs/figma/README.md | 488 +++-------------------- 14 files changed, 106 insertions(+), 578 deletions(-) delete mode 100644 apps/docs/api-examples.md delete mode 100644 apps/docs/markdown-examples.md diff --git a/apps/docs/.vitepress/config.ts b/apps/docs/.vitepress/config.ts index 140bfca..860b028 100644 --- a/apps/docs/.vitepress/config.ts +++ b/apps/docs/.vitepress/config.ts @@ -59,7 +59,7 @@ export default defineConfig({ text: 'Export Published Components', link: '/figma/recipes/export-published-components' }, - { text: 'Traverse Figma File', link: '/figma/recipes/traverse-file-graph' } + { text: 'Traverse Figma File', link: '/figma/recipes/traverse-figma-file' } ] }, { diff --git a/apps/docs/api-examples.md b/apps/docs/api-examples.md deleted file mode 100644 index 691df9c..0000000 --- a/apps/docs/api-examples.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -outline: deep ---- - -# Runtime API Examples - -This page demonstrates usage of some of the runtime APIs provided by VitePress. - -The main `useData()` API can be used to access site, theme, and page data for the current page. It works in both `.md` and `.vue` files: - -```md - - -## Results - -### Theme Data - -
{{ theme }}
- -### Page Data - -
{{ page }}
- -### Page Frontmatter - -
{{ frontmatter }}
-``` - - - -## Results - -### Theme Data - -
{{ theme }}
- -### Page Data - -
{{ page }}
- -### Page Frontmatter - -
{{ frontmatter }}
- -## More - -Check out the documentation for the [full list of runtime APIs](https://vitepress.dev/reference/runtime-api#usedata). diff --git a/apps/docs/figma/api/export/index.md b/apps/docs/figma/api/export/index.md index 71a6e79..0c847a9 100644 --- a/apps/docs/figma/api/export/index.md +++ b/apps/docs/figma/api/export/index.md @@ -1,16 +1,18 @@ # Export API -## Export file +## High-level API -::: danger Not ready -Work in progress... -::: +We're providing a built-in high-level APIs for the most critical export scenarios. -## Export published components +### Recipes -::: danger Not ready -Work in progress... -::: +- [Export File Assets](../../recipes/export-file-assets.md) +- [Export Published Components](../../recipes/export-published-components.md) + +### API Reference + +- [Export File Assets](./export-file-assets.md) +- [Export Published Components](./export-published-components.md) ## Assets export explained diff --git a/apps/docs/figma/api/figma-api.md b/apps/docs/figma/api/figma-api.md index eef2a1b..88e13ab 100644 --- a/apps/docs/figma/api/figma-api.md +++ b/apps/docs/figma/api/figma-api.md @@ -3,8 +3,7 @@ Basic API client for Figma. You can find some usage examples in these references: - [Export API](./export/) -- [Traverse file graph recipe](../recipes/traverse-figma-file.md) -- [] +- [Recipe: Traverse Figma File](../recipes/traverse-figma-file.md) ```typescript declare function createFigmaApi(params: CreateFigmaApiParams): FigmaApi; diff --git a/apps/docs/index.md b/apps/docs/index.md index ee59392..5aab14d 100644 --- a/apps/docs/index.md +++ b/apps/docs/index.md @@ -5,6 +5,7 @@ layout: home hero: name: 'Neodx' text: 'Modern solutions for great DX' + tagline: Documentation is under construction... features: - title: '@neodx/log' @@ -24,5 +25,5 @@ features: details: > Missing virtual file system abstraction that makes working with the file system a breeze
- (coming soon...) + Coming soon... --- diff --git a/apps/docs/log/child-and-fork.md b/apps/docs/log/child-and-fork.md index d47745e..75ed80a 100644 --- a/apps/docs/log/child-and-fork.md +++ b/apps/docs/log/child-and-fork.md @@ -1,5 +1,9 @@ # Children and fork +::: danger WIP +Documentation is under construction... +::: + ## Forking ```typescript diff --git a/apps/docs/log/custom.md b/apps/docs/log/custom.md index 3961410..3f26a71 100644 --- a/apps/docs/log/custom.md +++ b/apps/docs/log/custom.md @@ -1,5 +1,9 @@ # Creating your own logger +::: danger WIP +Documentation is under construction... +::: + ```typescript import { createLoggerFactory } from '@neodx/log'; diff --git a/apps/docs/log/index.md b/apps/docs/log/index.md index 8cd9188..7ee2bdd 100644 --- a/apps/docs/log/index.md +++ b/apps/docs/log/index.md @@ -1,5 +1,9 @@ # @neodx/log +::: danger WIP +Documentation is under construction... +::: + Powerful lightweight logger for new level of experience. ![preview](./preview-intro.png) diff --git a/apps/docs/log/json.md b/apps/docs/log/json.md index 4755630..3779309 100644 --- a/apps/docs/log/json.md +++ b/apps/docs/log/json.md @@ -1,5 +1,5 @@ # JSON logging -## Options - -## Files +::: danger WIP +Documentation is under construction... +::: diff --git a/apps/docs/log/pretty-printing.md b/apps/docs/log/pretty-printing.md index 6f9056a..8b631dc 100644 --- a/apps/docs/log/pretty-printing.md +++ b/apps/docs/log/pretty-printing.md @@ -1,5 +1,9 @@ # Pretty printing +::: danger WIP +Documentation is under construction... +::: + ```typescript import { createLogger, pretty } from '@neodx/log/node'; diff --git a/apps/docs/markdown-examples.md b/apps/docs/markdown-examples.md deleted file mode 100644 index 8e55eb8..0000000 --- a/apps/docs/markdown-examples.md +++ /dev/null @@ -1,85 +0,0 @@ -# Markdown Extension Examples - -This page demonstrates some of the built-in markdown extensions provided by VitePress. - -## Syntax Highlighting - -VitePress provides Syntax Highlighting powered by [Shiki](https://github.com/shikijs/shiki), with additional features like line-highlighting: - -**Input** - -```` -```js{4} -export default { - data () { - return { - msg: 'Highlighted!' - } - } -} -``` -```` - -**Output** - -```js{4} -export default { - data () { - return { - msg: 'Highlighted!' - } - } -} -``` - -## Custom Containers - -**Input** - -```md -::: info -This is an info box. -::: - -::: tip -This is a tip. -::: - -::: warning -This is a warning. -::: - -::: danger -This is a dangerous warning. -::: - -::: details -This is a details block. -::: -``` - -**Output** - -::: info -This is an info box. -::: - -::: tip -This is a tip. -::: - -::: warning -This is a warning. -::: - -::: danger -This is a dangerous warning. -::: - -::: details -This is a details block. -::: - -## More - -Check out the documentation for the [full list of markdown extensions](https://vitepress.dev/guide/markdown). diff --git a/apps/docs/svg/frameworks-and-bundlers.md b/apps/docs/svg/frameworks-and-bundlers.md index 48c0d25..36140b4 100644 --- a/apps/docs/svg/frameworks-and-bundlers.md +++ b/apps/docs/svg/frameworks-and-bundlers.md @@ -1,5 +1,9 @@ # Frameworks and bundlers +::: danger WIP +Documentation is under construction... +::: + We're using [unplugin](https://github.com/unjs/unplugin) to minimize additional efforts to integrate with popular bundlers. ## Vite diff --git a/apps/docs/svg/index.md b/apps/docs/svg/index.md index d3c09df..ecbea2c 100644 --- a/apps/docs/svg/index.md +++ b/apps/docs/svg/index.md @@ -1,5 +1,9 @@ # @neodx/svg +::: danger WIP +Documentation is under construction... +::: + Powerful lightweight logger for new level of experience. - TypeScript support out of box - generated types and information about your sprites diff --git a/libs/figma/README.md b/libs/figma/README.md index 4e0a225..e3b7d6a 100644 --- a/libs/figma/README.md +++ b/libs/figma/README.md @@ -2,10 +2,12 @@ The modern Figma integration tools, typed API, human-friendly files traversing, assets exporter, and more. - - npm - -license +
+ + npm + + license +
> **Warning** > This project is still in the development stage, under 0.x.x version breaking changes can be introduced in any release, but I'll try to make them loud. @@ -25,6 +27,31 @@ pnpm install -D @neodx/figma npm install -D @neodx/figma ``` +> **Note** We're migrating our documentation to the standalone website, so some parts of the current documentation may be outdated. +> +> Please visit the [https://neodx.pages.dev/](https://neodx.pages.dev/figma/api) for more information. + +- Recipes + - [Export File Assets](https://neodx.pages.dev/figma/recipes/export-file-assets) + - [Export Published Components](https://neodx.pages.dev/figma/recipes/export-published-components) + - [Traverse Figma File](https://neodx.pages.dev/figma/recipes/traverse-figma-file) +- [Figma API](https://neodx.pages.dev/figma/api/figma-api) +- Node API + - [createFileGraph](https://neodx.pages.dev/figma/api/low-level/create-file-graph) + - [collectNodes](https://neodx.pages.dev/figma/api/low-level/collect-nodes) +- [Export API](https://neodx.pages.dev/figma/api/export) + - [Export File Assets](https://neodx.pages.dev/figma/api/export/export-file-assets) + - [Export Published Components](https://neodx.pages.dev/figma/api/export/export-published-components) + - Low-level API + - [createExportContext](https://neodx.pages.dev/figma/api/low-level/create-export-context) + - [resolveExportedAssets](https://neodx.pages.dev/figma/api/low-level/resolve-exported-assets) + - [downloadExportedAssets](https://neodx.pages.dev/figma/api/low-level/download-exported-assets) + - [writeDownloadedAssets](https://neodx.pages.dev/figma/api/low-level/write-downloaded-assets) +- [Common utilities](https://neodx.pages.dev/figma/api/low-level/utils) + - [parseFileIdFromLink](https://neodx.pages.dev/figma/api/low-level/utils#parsefileidfromlink) + - [getColor](https://neodx.pages.dev/figma/api/low-level/utils#getcolor) + - ...more + ## Getting started We will start with the short example of the powerful export CLI: @@ -119,6 +146,8 @@ const allTexts = graph.registry.types.TEXT.map(text => text.source.characters); ## Traverse file graph +> See actual version in ["Traverse Figma File" recipe](https://neodx.pages.dev/figma/recipes/traverse-figma-file) + The Figma API is designed as simple nested tree structure and not fit for high-level interactions. For example, every change in the real document will lead to a change in the tree structure from the API, you can't navigate through the tree structure, @@ -129,24 +158,34 @@ We're providing powerful graph structure for easy traversing and accessing any d ```ts import { createFileGraph, createFigmaApi } from '@neodx/figma'; +const fileId = 'xxx'; const api = createFigmaApi({ /* ... */ }); -const file = await api.getFile({ id: 'xxx' }); - -const graph = createFileGraph('xxx', file); +const file = await api.getFile({ id: fileId }); +const graph = createFileGraph(fileId, file); // ... ``` ### Collect specific components within the components sets ```ts -import { collectNodes, extractNodeType } from '@neodx/figma'; +import { collectNodes } from '@neodx/figma'; // All components in "Icons" page withing "32/..." component set const icons32 = collectNodes(graph, { - CANVAS: 'Icons', - COMPONENT_SET: node => node.name.startsWith('32/') + target: [ + { + // First of all - select the "Icons" page + type: 'CANVAS', + filter: 'Icons' + }, + { + // Then select all components with names that starts with "32/" + type: 'COMPONENT', + filter: /^32\// + } + ] }); ``` @@ -155,9 +194,18 @@ const icons32 = collectNodes(graph, { ```ts import { collectNodes, extractNodeType } from '@neodx/figma'; -const complexCollected = collectNodes(graph, { - CANVAS: ['Icons', 'Assets'], // Include 2 pages - FRAME: /Colored|Outlined|Filled/, // Filter frames with names that contains "Colored", "Outlined" or "Filled" +const iconsInstances = collectNodes(graph, { + target: [ + { + type: 'CANVAS', + filter: ['Icons', 'Assets'] // Include 2 pages + }, + { + // Filter frames with names that contains "Colored", "Outlined" or "Filled" + type: 'FRAME', + filter: /Colored|Outlined|Filled/ + } + ], extract: 'INSTANCE' // Get all instances }); ``` @@ -171,116 +219,24 @@ const allTextNodes = graph.registry.types.TEXT.map(text => text.source.character ### Get defined colors ```ts -import { colord } from 'colord'; +import { getColor, isPaintSolid } from '@neodx/figma'; const filledColors = Object.values(graph.registry.styles).filter( - ({ styleType, styles, remote }) => styleType === 'FILL' && !remote // remote colors are an external styles + // remote colors are an external styles + ({ styleType, styles, remote }) => styleType === 'FILL' && !remote ); for (const { name, styles } of filledColors) { const solid = styles.find(isPaintSolid); if (!solid) continue; - const { r, g, b } = solid.color; - const key = name.toLowerCase().replaceAll(/[-\/\s]/g, '.'); - const color = colord({ - r: Math.round(r * 255), - g: Math.round(g * 255), - b: Math.round(b * 255) - }).toHex(); + const color = getColor(solid.color).toHex(); console.log(name, color); } ``` -## CLI API - -### Configuration - -The CLI API is configurable via the `figma.config.js` (or any supported by `cosmiconfig` form) file in the root of your project. - -The config file is optional if you want to use the default values and provide all settings via CLI arguments. - -All CLI arguments and config fields are optional, you can define only what you need. - -```javascript -/** - * @type {import('@neodx/figma').Configuration} - */ -module.exports = { - token: 'xxx', // Personal access token, can be defined via FIGMA_TOKEN env variable or `--token` CLI argument - /** - * Export configuration for the `figma export` command. - * Can be defined as array to support multiple export configurations for different files (export: [{ ... }, { ... }]) - */ - export: { - fileId: 'https://www.figma.com/file/xxx/yyy', // Figma file id, can be ID or the full file link that will be parsed via `parseFileIdFromLink` function - output: 'assets/icons', // Output directory, e.g. `--output ./assets` - downloadConcurrency: 5, // Images download concurrency - receiveExportsBatching: 100, // Batch size for the receiving images download urls (count of the node IDs in one request) - receiveExportsResolver: 'svg', // See details below - receiveExportsConcurrency: 3, // Image urls loading concurrency - optimize: {}, // Override images optimization config or disable it - /** - * Exported nodes can provide wrong built-in names, so we can override them here. - * - * @param item - Downloaded item - * @param root - Root node of the exported file - * - * @example ({ node, format }) => `${node.source.name}.${format}` - * @default Lowercased node name separated by "/" + scale postfix if scale > 1 - */ - getExportFileName({ format, node }, root) { - const parent = root.registry.byId[node.parentId]; - - return formatExportFileName(`${parent.source.name.toLowerCase()}.${format}`); - }, - // See details below - collect: { - /** - * Filter conditions for collecting nodes hierarchy. - * "type" is a node type, e.g. "CANVAS", "FRAME", "COMPONENT", etc. - * "filter" can be defined as RegExp, string, function or array of them (arrays are joined with OR operator). - * - * This example works as: - * 1. Take only "Icons" page - * 2. Take frames with names that contains "Colored", "Outlined" or "Filled" - * 3. Take components with "Light" and "Dark" names - */ - target: [ - { - type: 'CANVAS', - filter: 'Icons' // Include only "Icons" page - }, - { - type: 'FRAME', - filter: /Colored|Outlined|Filled/ // Include only frames with names that contains "Colored", "Outlined" or "Filled" - }, - { - type: 'COMPONENT', - filter: ['Light', 'Dark'] // Include components with "Light" or "Dark" name - } - ], - /** - * When we're done with filtering nodes hierarchy, we can extract the nodes we want to export. - * Can accept a specific node type, custom function or array of them. - * @example (node) => node.registry.types.COMPONENT // export all components - * @example 'COMPONENT' // export all components too - * @example ['COMPONENT', 'FRAME'] // export all components and frames - * @default Extracts all `COMPONENT` nodes. - */ - extract: 'INSTANCE' // Extract only instances - } - } -}; -``` - -- `export.collect` is an optional configuration for the [collectNodes API](#collectnodesroot-params). -- `export.receiveExportsResolver`, `export.receiveExportsBatching`, `export.receiveExportsConcurrency` - see [receiveExportsDownloadInfo](#receiveexportsdownloadinfo-api-fileid-target-logger-resolver-batching-concurrency-) -- `export.downloadConcurrency` - see [downloadExports](#downloadexports-items-fetch-logger-concurrency-) -- `export.optimize` - see [optimizeExport](#optimizeexportdownloaded-params) - ### `figma export` Export Figma file to the filesystem (file can be defined in the config) @@ -290,320 +246,6 @@ Export Figma file to the filesystem (file can be defined in the config) - `--dry-run` - Dry run mode, don't write any files, just show what will be done in the console - `--token, -t` - Figma personal access token, can be defined in the config -## Node API - -### `createFigmaApi(params)` - -Creates a Figma API client. All types, params and results are also exported from the package. - -```typescript -import { createFigmaApi } from '@neodx/figma'; - -const api = createFigmaApi({ - personalAccessToken: 'xxx' -}); - -const file = await api.getFile({ - id: 'xxx' -}); - -console.log(file); -``` - -You can find the API documentation [in the official Figma docs](https://www.figma.com/developers/api). - -Parameters: - -```ts -interface CreateFigmaApiParams { - /** - * The base URL of the Figma API (with version). - * @default 'https://api.figma.com/v1' - */ - baseUrl?: string; - /** - * You can provide your own fetch implementation. - */ - fetch?: typeof fetch; - logger?: LoggerMethods<'info' | 'error' | 'debug'>; - /** - * The personal access token of the Figma API. - */ - personalAccessToken?: string; - /** - * The oAuth access token. - */ - accessToken?: string; -} -``` - -Returns an object with the API methods: - -#### Files - -- `getFile({ id, ...params }: GetFileParams)`: `GetFileResult` - GET /v1/files/:key -- `getFileNodes({ id, ...params }: GetFileNodesParams)`: `GetFileNodesResult` - GET /v1/files/:key/nodes -- `getImage({ id, ...params }: GetImageParams)`: `GetImageResult` - GET/v1/images/:key -- `getImageFills({ id }: GetImageFillsParams)`: `GetImageFillsResult` - GET/v1/files/:key/images - -#### Comments - -- `getComments({ id }: GetCommentsParams)`: `GetCommentsResult` - GET/v1/files/:key/comments -- `postComments({ id, ...body }: PostCommentsParams)`: `PostCommentResult` - POST/v1/files/:file_key/comments -- `deleteComments({ id, comment_id }: DeleteCommentsParams)`: `void` - DELETE/v1/files/:file_key/comments/:comment_id - -#### Users - -- `getMe()`: `GetUserMeResult` - GET/v1/me - -#### Versions - -- `getVersions({ id }: GetVersionsParams)`: `GetVersionsResult` - GET/v1/files/:key/versions - -#### Teams and projects - -- `getTeamProjects({ team_id }: GetTeamProjectsParams)`: `GetTeamProjectsResult` - GET/v1/teams/:team_id/projects -- `getProjectFiles({ project_id }: GetProjectFilesParams)`: `GetProjectFilesResult` - GET/v1/projects/:project_id/files - -#### Components and styles - -- `getTeamComponents({ team_id }: GetTeamComponentsParams)`: `GetTeamComponentsResult` - GET/v1/teams/:team_id/components -- `getFileComponents({ id }: GetFileComponentsParams)`: `GetFileComponentsResult` - GET/v1/files/:file_key/components -- `getComponent({ key }: GetComponentParams)`: `GetComponentResult` - GET/v1/components/:key -- `getTeamComponentSets({ team_id }: GetTeamComponentSetsParams)`: `GetTeamComponentSetsResult` - GET/v1/teams/:team_id/component_sets -- `getFileComponentSets({ id }: GetFileComponentSetsParams)`: `GetFileComponentSetsResult` - GET/v1/files/:file_key/component_sets -- `getComponentSet({ key }: GetComponentSetParams)`: `GetComponentSetResult` - GET/v1/component_sets/:key -- `getTeamStyles({ team_id }: GetTeamStylesParams)`: `GetTeamStylesResult` - GET/v1/teams/:team_id/styles -- `getFileStyles({ id }: GetFileStylesParams)`: `GetFileStylesResult` - GET/v1/files/:file_key/styles -- `getStyle({ key }: GetStyleParams)`: `GetStyleResult` - GET/v1/styles/:key - -### `createFileGraph(fileId, file): GraphNode` - -Create a well-typed human-friendly graph for convenient access to the Figma document data. - -- `fileId` - Your Figma file id, can be parsed from the file link via [`parseFileIdFromLink`](#parsefileidfromlinklink-string) function -- `file` - Figma file data from [`api.getFile`](https://www.figma.com/developers/api#get-file-endpoint) - -```ts -const graph = createFileGraph(fileId, myFigmaFile); - -// Every node contains a two subgraphs with equal structure but different meaning: -graph.children; // registry of direct child nodes -graph.registry; // registry of ALL nodes in the document (or any other node) -``` - -#### `GraphNode` - -```ts -declare const node: GraphNode; - -node.id; // node id -node.type; // node type (TEXT, FRAME, etc.) -node.source; // node source data, original node data from Figma API -node.children; // GraphNodeRegistry; node children registry -node.registry; // GraphNodeRegistry; aggregated registry of all nodes inside node -node.parentId; // parent node id (if exists) -node.styles; // ComputedStyleNode[]; computed styles for node -``` - -#### `GraphNodeRegistry` - -```ts -declare const registry: GraphRegistry; - -registry.types; // registry of nodes grouped by type -registry.types.TEXT; // array of all text nodes -registry.byId; // registry of nodes by id -registry.byId['xxx']; // node with id 'xxx' -registry.byId['xxx'].registry; // registry of nodes inside node with id 'xxx' -registry.list; // array of all nodes -registry.styles; // key-value object with computed styles (ComputedStyleNode) for all nodes -``` - -#### `ComputedStyleNode` - -```ts -// "Style" is a original Figma API style object -interface ComputedStyleNode extends Style { - /** - * Style node id - */ - id: NodeID; - /** - * An array of paint styles (fills, strokes, etc.) - */ - styles: Paint[]; - textStyles?: TypeStyle; -} -``` - -### `collectNodes(root, params)` - -Function for hierarchical filtering, collecting and extracting nodes from the Figma document. - -```ts -collectNodes(myGraph, { - extract: 'INSTANCE', - target: [ - { - type: 'CANVAS', - filter: 'Icons' - }, - { - type: 'FRAME', - filter: ['Tools', 'General'] - } - ] -}); -``` - -- `root`: `GraphNode` - root node for collecting -- `params.target`: `CollectTarget | CollectTarget[]` - ordered list of target nodes for collecting -- `params.extract`: `NodesExtractor | NodeType | Array` - nodes extractor, can be a node type ("INSTANCE"), custom function or array of them - -In the result, you will get an array of nodes. - -### Export API - -#### `exportFile(params)` - -Top-level function that aggregates all the export logic: - -1. Collect exported nodes -2. Receive download urls for the collected nodes -3. Download images -4. Optimize and save images to the filesystem - -```ts -interface ExportFileParams { - api: FigmaApi; - vfs: VFS; - target: GraphNode; - logger?: FigmaLogger; - optimize?: false | OptimizeExportParams; - collect?: CollectNodesParams; - downloadConcurrency?: number; - receiveExportsResolver?: ReceiveExportsDownloadInfoParams['resolver']; - receiveExportsBatching?: number; - receiveExportsConcurrency?: number; - /** - * Exported nodes can provide wrong built-in names, so we can override them here. - * - * @param item - Downloaded item - * @param root - Root node of the exported file - * - * @example ({ node, format }) => `${node.source.name}.${format}` - * @default Lowercased node name separated by "/" + scale postfix if scale > 1 - */ - getExportFileName?(item: DownloadedItem, root: GraphNode): string; -} -``` - -Parameters description: - -- `api` - Figma API instance -- `vfs` - [@neodx/vfs](https://www.npmjs.com/package/@neodx/vfs) instance -- `target`: [GraphNode](#graphnode) - document node for export -- `logger` - [Logger](https://www.npmjs.com/package/@neodx/log) -- `collect` - see [collectNodes](#collectnodesroot-params) -- `receiveExportsResolver`, `receiveExportsBatching`, `receiveExportsConcurrency` - see [receiveExportsDownloadInfo](#receiveexportsdownloadinfo-api-fileid-target-logger-resolver-batching-concurrency-) -- `downloadConcurrency` - see [downloadExports](#downloadexports-items-fetch-logger-concurrency-) -- `optimize` - see [optimizeExport](#optimizeexportdownloaded-params) - -#### `receiveExportsDownloadInfo({ api, fileId, target, logger?, resolver?, batching?, concurrency? })` - -Collect all download links for the passed `target` nodes in `fileId` document. - -Returns an array of [DownloadableItem](#downloadableitem) objects, which can be passed to the [downloadExports](#downloadexports-items-fetch-logger-concurrency-) - -- `api` - Figma API instance -- `fileId` - Figma file id -- `target`: [GraphNode[]](#graphnode) - array of nodes for export -- `logger` - [Logger](https://www.npmjs.com/package/@neodx/log) -- `batching` - batching for downloading (how much IDs will be requested at the same time), default: `50` -- `concurrency` - concurrency for downloading, default: `3` -- `resolver` - [ExportResolver | ExportResolver[]](#ExportResolver). By default, the `svg` strategy is used. - -##### `ExportResolver` - -The exports strategy, can be one of the following: - -- `"svg"/"png"/"pdf"/"jpg"` - Export nodes as images with the specified format -- `"exports"` - Download specified nodes as it is defined in the "Export" tab in the Figma UI -- Custom function - `(node: GraphNode) => ExportSetting[]` - - ```javascript - const example = node => [ - { - format: node.source.name.includes('picture') ? 'png' : 'svg', - suffix: '', - constraint: { - type: ConstrainType.SCALE, - value: 1 - } - } - ]; - ``` - -##### `DownloadableItem` - -```ts -interface DownloadableItem { - setting: ExportSetting; - format: 'svg' | 'png' | 'jpg' | 'pdf'; - scale: number; - node: GraphNode; - url: string; -} -``` - -#### `downloadExports({ items, fetch?, logger?, concurrency? })` - -Simple abstraction for downloading Figma nodes exports. - -- `items` - array of nodes for export from [receiveExportsDownloadInfo](#receiveexportsdownloadinfo-api-fileid-target-logger-resolver-batching-concurrency-) -- `fetch` - custom fetch function, default: `globalThis.fetch` -- `logger` - [Logger](https://www.npmjs.com/package/@neodx/log) -- `concurrency` - concurrency for downloading, default: `5` - -#### `optimizeExport(downloaded, params?)` - -Optimize downloaded exports if it's possible. - -Returns an optimized content (string) or the original content if optimization is not possible. - -- `downloaded`: `DownloadedNode` - target downloaded node from [downloadExports](#downloadexports-items-fetch-logger-concurrency-) -- `params`: `{ svgoConfig?: SVGO.Config }` - custom params - -### Helpers - -#### `parseFileIdFromLink(link: string)` - -Parse file id from Figma file link. - -```ts -import { parseFileIdFromLink, createFigmaApi } from '@neodx/figma'; - -const api = createFigmaApi({ - personalAccessToken: process.env.FIGMA_TOKEN -}); - -const fileId = parseFileIdFromLink('https://www.figma.com/file/xxx/yyy'); // 'xxx' -const file = await api.getFile({ id: fileId }); -``` - -#### `getColor(color: Color)` - -Wrapper around [colord](https://github.com/omgovich/colord) for getting high-level color manipulation API. - -```ts -import { getColor } from '@neodx/figma'; - -const color = getColor(myTextNode.fills[0].color); - -color.toHex(); // '#ffffff' -``` - ## Motivation I've been looking for a stable maintaining Figma API with built-in high-level structures, abstractions and common features for implementing high-level tools for Figma. From 674c3224443f92a7a26298a923073be45ab0abea Mon Sep 17 00:00:00 2001 From: Dmitry Remezov Date: Sun, 30 Jul 2023 21:19:39 +0300 Subject: [PATCH 12/15] feat(figma): rework Export API, add published components export --- .../__tests__/export.low-level-api.test.ts | 121 ++++++------ libs/figma/src/__tests__/testing-utils.ts | 2 +- libs/figma/src/cli.ts | 107 ++++++----- libs/figma/src/config.ts | 58 ++++-- libs/figma/src/core/create-figma-api.ts | 21 ++- .../figma/src/export/create-export-context.ts | 86 +++++++++ libs/figma/src/export/download-exports.ts | 43 ----- libs/figma/src/export/export-file-assets.ts | 77 ++++++++ libs/figma/src/export/export-file.ts | 105 ----------- .../src/export/export-published-components.ts | 118 ++++++++++++ .../export/images/download-exported-assets.ts | 39 ++++ .../optimize-downloaded-assets.ts} | 11 +- .../export/images/resolve-exported-assets.ts | 173 ++++++++++++++++++ .../export/images/write-downloaded-assets.ts | 65 +++++++ libs/figma/src/export/index.ts | 40 +++- .../export/receive-exports-download-info.ts | 150 --------------- libs/figma/src/graph/collect-nodes.ts | 10 +- libs/figma/src/graph/create-nodes-graph.ts | 2 + libs/figma/src/index.ts | 25 +-- libs/figma/src/shared.ts | 4 +- libs/figma/src/utils.ts | 8 +- 21 files changed, 809 insertions(+), 456 deletions(-) create mode 100644 libs/figma/src/export/create-export-context.ts delete mode 100644 libs/figma/src/export/download-exports.ts create mode 100644 libs/figma/src/export/export-file-assets.ts delete mode 100644 libs/figma/src/export/export-file.ts create mode 100644 libs/figma/src/export/export-published-components.ts create mode 100644 libs/figma/src/export/images/download-exported-assets.ts rename libs/figma/src/export/{optimize-export.ts => images/optimize-downloaded-assets.ts} (70%) create mode 100644 libs/figma/src/export/images/resolve-exported-assets.ts create mode 100644 libs/figma/src/export/images/write-downloaded-assets.ts delete mode 100644 libs/figma/src/export/receive-exports-download-info.ts diff --git a/libs/figma/src/__tests__/export.low-level-api.test.ts b/libs/figma/src/__tests__/export.low-level-api.test.ts index c8b1054..095e2d4 100644 --- a/libs/figma/src/__tests__/export.low-level-api.test.ts +++ b/libs/figma/src/__tests__/export.low-level-api.test.ts @@ -1,8 +1,10 @@ /* eslint-disable @typescript-eslint/require-array-sort-compare */ import { identity, uniq } from '@neodx/std'; +import { createTmpVfs } from '@neodx/vfs/testing-utils'; import { describe, expect, test } from 'vitest'; import type { AnyNode, FigmaApi } from '../core'; -import { downloadExports, receiveExportsDownloadInfo } from '../export'; +import { createExportContext, downloadExportedAssets, resolveExportedAssets } from '../export'; +import { fileGraphResolversMap, getGraphNodeDownloadableMeta } from '../export/export-file-assets'; import type { GraphNode } from '../graph'; import { collectNodes } from '../graph'; import { getGraphNodeName } from '../utils'; @@ -12,7 +14,6 @@ import { createMockNodes, getNodesIds, testFigmaLogger, - testFileIds, testGraphs } from './testing-utils'; @@ -113,36 +114,42 @@ describe('export low-level API', async () => { }); describe('get image urls', async () => { - const createImagesMockApi = () => { + const createImagesMockApi = async () => { const { api, fetch } = createMockApi(); + const mockApi = { + ...api, + getImage: async params => { + await api.getImage(params); + return { + images: {} + }; + } + } as FigmaApi; + const ctx = createExportContext({ + api: mockApi, + vfs: await createTmpVfs(), + log: testFigmaLogger + }); return { fetch, - api: { - ...api, - getImage: async params => { - await api.getImage(params); - return { - images: {} - }; - } - } as FigmaApi + api: mockApi, + ctx }; }; test('should return image urls', async () => { - const { api, fetch } = createImagesMockApi(); + const { ctx, fetch } = await createImagesMockApi(); const exports = collectNodes(testGraphs.weather); - const items = await receiveExportsDownloadInfo({ - api, - target: exports, - fileId: testFileIds.weather, - logger: testFigmaLogger, - batching: 10 + const items = await resolveExportedAssets({ + ctx, + items: exports, + batching: 10, + getItemMeta: getGraphNodeDownloadableMeta }); expect(fetch).toHaveBeenCalledTimes(Math.ceil(exports.length / 10)); - expect(items.map(item => item.node.id).sort()).toEqual(exports.map(node => node.id).sort()); + expect(items.map(item => item.value.id).sort()).toEqual(exports.map(node => node.id).sort()); }); test.each([ @@ -150,50 +157,56 @@ describe('export low-level API', async () => { [90, 20, 5], [90, 1, 90] ])(`should batch %i items by %i in %i requests`, async (length, batching, expected) => { - const { api, fetch } = createImagesMockApi(); + const { ctx, fetch } = await createImagesMockApi(); const exports = createMockNodes(length, 'COMPONENT'); - const items = await receiveExportsDownloadInfo({ - api, - target: exports, - logger: testFigmaLogger, - fileId: testFileIds.weather, + const items = await resolveExportedAssets({ + ctx, + items: exports, + getItemMeta: getGraphNodeDownloadableMeta, batching }); expect(fetch).toHaveBeenCalledTimes(expected); expect(items.length).toBe(length); - expect(items.map(item => item.node.id).sort()).toEqual(exports.map(node => node.id).sort()); + expect(items.map(item => item.value.id).sort()).toEqual(exports.map(node => node.id).sort()); }); }); test('should download content for all downloadable nodes and return it in the correct order', async () => { - const fetch = createMockFetch(req => `content for ${new URL(req.url).searchParams.get('id')}`); const exports = createMockNodes(120, 'COMPONENT'); - const items = await receiveExportsDownloadInfo({ + const ctx = createExportContext({ api: { + __: { + fetch: createMockFetch( + req => `content for ${new URL(req.url).searchParams.get('id')}` + ) as any + }, async getImage({ ids }) { return { images: Object.fromEntries(ids.map(id => [id, `https://foo.com/download?id=${id}`])) }; } } as FigmaApi, - target: exports, - logger: testFigmaLogger, - fileId: testFileIds.weather, + vfs: await createTmpVfs(), + log: testFigmaLogger + }); + const items = await resolveExportedAssets({ + ctx, + items: exports, + getItemMeta: getGraphNodeDownloadableMeta, batching: 50, concurrency: 10 }); - const downloaded = await downloadExports({ + const downloaded = await downloadExportedAssets({ + ctx, items, - fetch, - logger: testFigmaLogger, concurrency: 10 }); expect(items).toEqual( exports.map(node => expect.objectContaining({ - node, + id: node.id, url: `https://foo.com/download?id=${node.id}` }) ) @@ -201,19 +214,14 @@ describe('export low-level API', async () => { expect(downloaded).toEqual( items.map(item => expect.objectContaining({ - node: item.node, - content: `content for ${item.node.id}` + value: item.value, + content: `content for ${item.value.id}` }) ) ); }); test('should download multiple exports for same node in "export" resolving mode', async () => { - const fetch = createMockFetch(req => { - const { id, format, scale } = Object.fromEntries(new URL(req.url).searchParams); - - return `content for ${id} - ${format.toLowerCase()} x${scale}`; - }); const exportsSchema = [ ['PNG', 1], ['PNG', 2], @@ -236,8 +244,15 @@ describe('export low-level API', async () => { })) } })) as GraphNode[]; - const items = await receiveExportsDownloadInfo({ + const ctx = createExportContext({ api: { + __: { + fetch: createMockFetch(req => { + const { id, format, scale } = Object.fromEntries(new URL(req.url).searchParams); + + return `content for ${id} - ${format.toLowerCase()} x${scale}`; + }) as any + }, async getImage({ ids, format, scale }) { return { images: Object.fromEntries( @@ -249,17 +264,21 @@ describe('export low-level API', async () => { }; } } as FigmaApi, - target: exportNodes, - resolver: 'export', - logger: testFigmaLogger, - fileId: testFileIds.weather, + vfs: await createTmpVfs(), + log: testFigmaLogger + }); + const items = await resolveExportedAssets({ + ctx, + items: exportNodes, + exportAs: 'export', + resolversMap: fileGraphResolversMap, + getItemMeta: getGraphNodeDownloadableMeta, batching: 15, concurrency: 5 }); - const downloaded = await downloadExports({ + const downloaded = await downloadExportedAssets({ + ctx, items, - fetch, - logger: testFigmaLogger, concurrency: 10 }); diff --git a/libs/figma/src/__tests__/testing-utils.ts b/libs/figma/src/__tests__/testing-utils.ts index 8477916..16feaa0 100644 --- a/libs/figma/src/__tests__/testing-utils.ts +++ b/libs/figma/src/__tests__/testing-utils.ts @@ -58,7 +58,7 @@ export const createMockApi = () => { fetch, api: createFigmaApi({ personalAccessToken: 'test', - logger: testFigmaLogger, + log: testFigmaLogger, fetch }) }; diff --git a/libs/figma/src/cli.ts b/libs/figma/src/cli.ts index 119ff55..df36e87 100644 --- a/libs/figma/src/cli.ts +++ b/libs/figma/src/cli.ts @@ -1,13 +1,13 @@ import { pretty } from '@neodx/log/node'; -import { truncateString } from '@neodx/std'; +import { omit, truncateString } from '@neodx/std'; import { createVfs } from '@neodx/vfs'; import { Command } from 'commander'; import { resolve } from 'pathe'; import * as process from 'process'; import { resolveNormalizedConfiguration } from './config'; import { createFigmaApi } from './core'; -import { exportFile } from './export'; -import { createFileGraph } from './graph'; +import { exportFileAssets, exportPublishedComponents } from './export'; +import { createExportCache, createExportContext } from './export/create-export-context'; import { figmaLogger, formatTimeMs } from './shared'; export function createFigmaCli() { @@ -23,52 +23,73 @@ export function createFigmaCli() { .action(async ({ dryRun, verbose, ...cliConfig }) => { const startedAt = Date.now(); const cwd = process.cwd(); - const config = await resolveNormalizedConfiguration(cwd, cliConfig); - const logger = figmaLogger.fork({ - level: verbose ? 'debug' : 'info' - }); - const api = createFigmaApi({ - logger, - personalAccessToken: config.token + const log = figmaLogger.fork({ + level: verbose ? 'debug' : 'done' }); - logger.debug( - { - ...config, - token: truncateString(config.token, 10), - cwd - }, - 'Configuration loaded' - ); + try { + const config = await resolveNormalizedConfiguration(cwd, cliConfig); + const api = createFigmaApi({ + log, + personalAccessToken: config.token + }); + const cache = createExportCache(); + + log.debug( + { + ...config, + token: truncateString(config.token, 10), + cwd + }, + 'Configuration loaded' + ); - for (const { fileId, output, ...exportOptions } of config.export) { - logger.info('Starting export file "%s" to "%s"', fileId, output); - const startedGraphAt = Date.now(); - const vfs = createVfs(resolve(cwd, output), { - dryRun, - log: logger.child('fs', { - target: pretty({ - displayLevel: false + for (const exportConfig of config.export) { + const { fileId, type, output } = exportConfig; + log.info('👉 Starting export file "%s" to "%s"', fileId, output); + const vfs = createVfs(resolve(cwd, output), { + dryRun, + log: log.child('fs', { + target: pretty({ + displayLevel: false + }) }) - }) - }); - const file = await api.getFile({ id: fileId }); - const target = createFileGraph(fileId, file); + }); + const ctx = createExportContext({ + api, + vfs, + cache, + log + }); - logger.info('Document loaded in %s', formatTimeMs(Date.now() - startedGraphAt)); - await exportFile({ - api, - vfs, - target, - logger, - ...exportOptions - }); - logger.info('Writing files...'); - await vfs.formatChangedFiles(); - await vfs.applyChanges(); - } + switch (exportConfig.type) { + case 'file-assets': + await exportFileAssets({ + ctx, + fileId, + ...omit(exportConfig, ['type', 'fileId', 'output']) + }); + break; + case 'published-components': + await exportPublishedComponents({ + ctx, + fileId, + ...omit(exportConfig, ['type', 'fileId', 'output']) + }); + break; + default: + throw new Error(`Unknown export type "${type}"`); + } + log.info('Writing files...'); + await vfs.formatChangedFiles(); + await vfs.applyChanges(); + } - logger.info('All done in %s', formatTimeMs(Date.now() - startedAt)); + log.done('👋 All done in %s', formatTimeMs(Date.now() - startedAt)); + } catch (error) { + log.error(error); + process.exit(1); + } }); return cli; diff --git a/libs/figma/src/config.ts b/libs/figma/src/config.ts index 1c2758a..9492124 100644 --- a/libs/figma/src/config.ts +++ b/libs/figma/src/config.ts @@ -1,6 +1,7 @@ import { invariant, toArray } from '@neodx/std'; import { cosmiconfig } from 'cosmiconfig'; -import type { ExportFileParams } from './export'; +import type { ExportFileAssetsParams } from './export'; +import type { ExportPublishedComponentsParams } from './export/export-published-components'; import { isFigmaLink, parseFileIdFromLink } from './utils'; export async function resolveNormalizedConfiguration( @@ -16,6 +17,7 @@ export async function resolveNormalizedConfiguration( const fileId = cliConfig.fileId ?? item.fileId!; return { + type: 'file-assets', ...item, output: cliConfig.output ?? item.output, fileId: isFigmaLink(fileId) ? parseFileIdFromLink(fileId) : fileId @@ -33,7 +35,7 @@ export async function resolveNormalizedConfiguration( return { token, - export: exportConfig as NormalizedExportConfigurationItem[] + export: exportConfig as NormalizedExportFileConfigurationItem[] }; } @@ -45,12 +47,24 @@ export async function findConfiguration(cwd: string): Promise { export interface NormalizedConfiguration { token: string; - export: NormalizedExportConfigurationItem[]; + export: NormalizedExportConfigItem[]; } -export interface NormalizedExportConfigurationItem - extends Omit, - Required> {} +export type NormalizedExportConfigItem = + | NormalizedExportFileConfigurationItem + | NormalizedExportPublishedComponentsConfigurationItem; + +export interface NormalizedExportFileConfigurationItem + extends Omit, + Required> { + type: 'file-assets'; +} + +export interface NormalizedExportPublishedComponentsConfigurationItem + extends Omit, + Required> { + type: 'published-components'; +} export interface CliConfiguration { token?: string; @@ -67,19 +81,29 @@ export interface Configuration { /** * Export configuration */ - export?: ExportConfigurationItem | ExportConfigurationItem[]; + export?: AnyExportConfigItem | AnyExportConfigItem[]; +} + +export type AnyExportConfigItem = ExportFileConfiguration | ExportPublishedComponentsConfiguration; + +export interface ExportFileConfiguration extends Omit { + /** + * Default export type + */ + type?: 'file-assets'; + /** + * URL or ID of the file to export from + */ + fileId?: string; + /** + * Path to the output directory of exported files (relative to the current working directory) + */ + output?: string; } -export interface ExportConfigurationItem - extends Pick< - ExportFileParams, - | 'receiveExportsResolver' - | 'receiveExportsBatching' - | 'receiveExportsConcurrency' - | 'getExportFileName' - | 'downloadConcurrency' - | 'collect' - > { +export interface ExportPublishedComponentsConfiguration + extends Omit { + type: 'published-components'; /** * URL or ID of the file to export from */ diff --git a/libs/figma/src/core/create-figma-api.ts b/libs/figma/src/core/create-figma-api.ts index f435dbb..267fb82 100644 --- a/libs/figma/src/core/create-figma-api.ts +++ b/libs/figma/src/core/create-figma-api.ts @@ -1,6 +1,7 @@ /* eslint-disable @typescript-eslint/naming-convention */ import type { LoggerMethods } from '@neodx/log'; import { addSearchParams, createRelativeUrl, invariant } from '@neodx/std'; +import process from 'process'; import { figmaLogger, logRequest } from '../shared'; import type { AnyNode } from './figma.h'; import type { @@ -50,8 +51,12 @@ export interface CreateFigmaApiParams { * @default 'https://api.figma.com/v1' */ baseUrl?: string; + /** + * The fetch function to use. + * @deprecated Will be replaced with our fetcher + */ fetch?: typeof fetch; - logger?: LoggerMethods<'info' | 'error' | 'debug'>; + log?: LoggerMethods<'info' | 'error' | 'debug'>; accessToken?: string; /** * The personal access token of the Figma API. @@ -62,12 +67,12 @@ export interface CreateFigmaApiParams { export type FigmaApi = ReturnType; export function createFigmaApi({ - personalAccessToken, + personalAccessToken = process.env.FIGMA_TOKEN, accessToken, - logger = figmaLogger, + log = figmaLogger, baseUrl = 'https://api.figma.com/v1/', fetch = globalThis.fetch -}: CreateFigmaApiParams) { +}: CreateFigmaApiParams = {}) { invariant(personalAccessToken || accessToken, 'accessToken or personalAccessToken is required'); async function fetchJson( path: string, @@ -85,12 +90,12 @@ export function createFigmaApi({ 'Content-Type': 'application/json' }, options?.headers, - personalAccessToken + accessToken ? { - 'X-Figma-Token': personalAccessToken + Authorization: `Bearer ${accessToken}` } : { - Authorization: `Bearer ${accessToken}` + 'X-Figma-Token': personalAccessToken } ) }); @@ -103,7 +108,7 @@ export function createFigmaApi({ const contentType = response.headers.get('content-type'); invariant(contentType?.includes('application/json'), 'Content-Type must be application/json'); - logRequest(logger, options?.method ?? 'GET', url, Date.now() - startTime); + logRequest(log, options?.method ?? 'GET', url, Date.now() - startTime); return (await response.json()) as Promise; } diff --git a/libs/figma/src/export/create-export-context.ts b/libs/figma/src/export/create-export-context.ts new file mode 100644 index 0000000..e602503 --- /dev/null +++ b/libs/figma/src/export/create-export-context.ts @@ -0,0 +1,86 @@ +import type { VFS } from '@neodx/vfs'; +import type { DocumentNode, FigmaApi, GetFileResult } from '../core'; +import type { GraphNode } from '../graph'; +import { createFileGraph } from '../graph'; +import type { FigmaLogger } from '../shared'; +import { figmaLogger } from '../shared'; + +export interface ProcessedFileResult { + file: GetFileResult; + graph: GraphNode; +} + +export interface CreateExportContextParams { + api: FigmaApi; + vfs: VFS; + cache?: ExportCache; + log?: FigmaLogger; +} + +export type ExportCache = ReturnType; +export type ExportContext = ReturnType; + +export function createExportContext({ + api, + vfs, + cache = createExportCache(), + log = figmaLogger +}: CreateExportContextParams) { + const getNewFile = async (id: string) => { + const file = await api.getFile({ id }); + const graph = createFileGraph(id, file); + + return { + file, + graph + }; + }; + + return { + api, + vfs, + log, + getFile(id: string) { + return cache.getFileOrElse(id, () => getNewFile(id)); + }, + /** + * @internal + */ + async createCache(file: string | false | null) { + if (file) { + await vfs.write(file, (await vfs.tryRead(file)) || '{}'); + } + return { + async get(key: string, fallback: () => T) { + if (!file) return fallback(); + const cached = await vfs.readJson>(file); + + return cached[key] ?? fallback(); + }, + async set(key: string, value: T) { + if (!file) return; + const cached = await vfs.readJson>(file); + + await vfs.write(file, JSON.stringify({ ...cached, [key]: value })); + } + }; + } + }; +} + +export function createExportCache() { + const cache = new Map>(); + + return { + getFileOrElse(id: string, fallback: () => Promise) { + if (cache.has(id)) { + return cache.get(id)!; + } + + const promise = fallback(); + + cache.set(id, promise); + return promise; + } + }; +} diff --git a/libs/figma/src/export/download-exports.ts b/libs/figma/src/export/download-exports.ts deleted file mode 100644 index b7d5409..0000000 --- a/libs/figma/src/export/download-exports.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { concurrently } from '@neodx/std'; -import type { FigmaLogger } from '../shared'; -import { figmaLogger, logRequest } from '../shared'; -import type { DownloadableItem } from './receive-exports-download-info'; - -export interface DownloadExportsParams { - items: DownloadableItem[]; - fetch?: typeof fetch; - logger?: FigmaLogger; - concurrency?: number; -} - -export interface DownloadedItem extends DownloadableItem { - content: string; -} - -export function downloadExports({ - items, - fetch = globalThis.fetch, - logger = figmaLogger, - concurrency = 5 -}: DownloadExportsParams): Promise { - async function downloadItem(item: DownloadableItem) { - const { url, format, scale, node } = item; - const time = Date.now(); - const res = await fetch(url); - const blob = await res.blob(); - - logRequest( - logger, - 'GET', - `${node.source.name} - ${format} x${scale} (${url})`, - Date.now() - time - ); - return { - ...item, - content: await blob.text() - }; - } - - logger.debug('Downloading %i items...', items.length); - return concurrently(items, downloadItem, concurrency); -} diff --git a/libs/figma/src/export/export-file-assets.ts b/libs/figma/src/export/export-file-assets.ts new file mode 100644 index 0000000..c56735f --- /dev/null +++ b/libs/figma/src/export/export-file-assets.ts @@ -0,0 +1,77 @@ +import type { DocumentNode } from '../core'; +import type { CollectNodesParams, GraphNode } from '../graph'; +import { collectNodes } from '../graph'; +import type { AnyGraphNode } from '../graph/create-nodes-graph'; +import { formatTimeMs } from '../shared'; +import type { ExportContext } from './create-export-context'; +import { + downloadExportedAssets, + type DownloadExportedAssetsConfig +} from './images/download-exported-assets'; +import type { ResolveExportedAssetsConfig } from './images/resolve-exported-assets'; +import { + defaultExportSettingsResolvers, + resolveExportedAssets +} from './images/resolve-exported-assets'; +import type { WriteDownloadedAssetsConfig } from './images/write-downloaded-assets'; +import { writeDownloadedAssets } from './images/write-downloaded-assets'; + +export interface ExportFileAssetsParams { + ctx: ExportContext; + fileId: string; + write?: WriteDownloadedAssetsConfig>; + collect?: CollectNodesParams; + resolve?: ResolveExportedAssetsConfig; + download?: DownloadExportedAssetsConfig; +} + +export async function exportFileAssets({ + ctx, + write, + fileId, + collect, + resolve, + download +}: ExportFileAssetsParams) { + const { getFile, log } = ctx; + const { graph } = await getFile(fileId); + + log.info('Exporting file "%s" (ID: %s)...', graph.source.name, graph.fileId); + const startedAt = Date.now(); + const collected = collectNodes(graph, { + ...collect, + log + }); + const downloadable = await resolveExportedAssets({ + ctx, + items: collected, + resolversMap: fileGraphResolversMap, + getItemMeta: getGraphNodeDownloadableMeta, + ...resolve + }); + const downloadedItems = await downloadExportedAssets({ + ctx, + items: downloadable, + ...download + }); + + await writeDownloadedAssets({ + ctx, + items: downloadedItems, + getFileNameCtx: () => graph, + ...write + }); + log.info('Exported successfully in %s', formatTimeMs(Date.now() - startedAt)); +} + +export const getGraphNodeDownloadableMeta = (node: AnyGraphNode) => ({ + fileId: node.fileId, + name: node.source.name, + id: node.id +}); + +export const fileGraphResolversMap = { + ...defaultExportSettingsResolvers, + export: (node: AnyGraphNode) => + 'exportSettings' in node.source ? node.source.exportSettings : [] +}; diff --git a/libs/figma/src/export/export-file.ts b/libs/figma/src/export/export-file.ts deleted file mode 100644 index dad0edd..0000000 --- a/libs/figma/src/export/export-file.ts +++ /dev/null @@ -1,105 +0,0 @@ -import { concurrently } from '@neodx/std'; -import type { VFS } from '@neodx/vfs'; -import type { DocumentNode, FigmaApi } from '../core'; -import type { CollectNodesParams, GraphNode } from '../graph'; -import { collectNodes } from '../graph'; -import { type FigmaLogger, figmaLogger, formatTimeMs } from '../shared'; -import { type DownloadedItem, downloadExports } from './download-exports'; -import type { OptimizeExportParams } from './optimize-export'; -import { optimizeExport } from './optimize-export'; -import { - receiveExportsDownloadInfo, - type ReceiveExportsDownloadInfoParams -} from './receive-exports-download-info'; - -export interface ExportFileParams { - api: FigmaApi; - vfs: VFS; - target: GraphNode; - logger?: FigmaLogger; - optimize?: false | OptimizeExportParams; - collect?: CollectNodesParams; - downloadConcurrency?: number; - receiveExportsResolver?: ReceiveExportsDownloadInfoParams['resolver']; - receiveExportsBatching?: number; - receiveExportsConcurrency?: number; - /** - * Exported nodes can provide wrong built-in names, so we can override them here. - * - * @param item - Downloaded item - * @param root - Root node of the exported file - * - * @example ({ node, format }) => `${node.source.name}.${format}` - * @default Lowercased node name separated by "/" + scale postfix if scale > 1 - */ - getExportFileName?(item: DownloadedItem, root: GraphNode): string; -} - -export async function exportFile({ - api, - vfs, - target, - logger = figmaLogger, - collect, - optimize = {}, - receiveExportsResolver = 'svg', - receiveExportsBatching, - receiveExportsConcurrency, - getExportFileName = getDefaultExportFileName, - downloadConcurrency -}: ExportFileParams) { - logger.info('Exporting file "%s" (ID: %s)...', target.source.name, target.fileId); - const startedAt = Date.now(); - const collected = collectNodes(target, { - ...collect, - logger - }); - - logger.info('Collected %d nodes, receiving exports info...', collected.length); - const downloadable = await receiveExportsDownloadInfo({ - api, - logger, - fileId: target.fileId, - target: collected, - resolver: receiveExportsResolver, - batching: receiveExportsBatching, - concurrency: receiveExportsConcurrency - }); - - logger.info('Received %d exported files, downloading...', downloadable.length); - const downloadedItems = await downloadExports({ - items: downloadable, - fetch: api.__.fetch, - logger, - concurrency: downloadConcurrency - }); - - logger.info('Downloaded %d files, saving...', downloadedItems.length); - await concurrently( - downloadedItems, - async item => { - const fileName = getExportFileName(item, target); - const content = optimize ? optimizeExport(item, optimize) : item.content; - - await vfs.write(fileName, content); - logger.debug('Saved "%s" at %s', item.node.source.name, fileName); - }, - 10 - ); - logger.info('Exported successfully in %s', formatTimeMs(Date.now() - startedAt)); -} - -/** - * Formats file name as lower-cased string with replaced spaces and special characters to dashes. - * @example "File.svg" -> "file.svg" - * @example "Common/Animals and Plants/Cat_sleeping.svg" -> "common/animals-and-plants/cat_sleeping.svg" - * @example "print: 32/copy&pasted.svg" -> "print-32/copy-pasted.svg" - */ -export const formatExportFileName = (fileName: string) => - fileName.toLowerCase().replaceAll(/[^a-z0-9-_./]+/g, '-'); - -const getDefaultExportFileName = ({ node, format, scale }: DownloadedItem) => { - const scalePostfix = scale > 1 ? `.x${scale}` : ''; - - return formatExportFileName(`${node.source.name}${scalePostfix}.${format}`); -}; diff --git a/libs/figma/src/export/export-published-components.ts b/libs/figma/src/export/export-published-components.ts new file mode 100644 index 0000000..9c5cb9d --- /dev/null +++ b/libs/figma/src/export/export-published-components.ts @@ -0,0 +1,118 @@ +/* eslint-disable @typescript-eslint/naming-convention */ +import { pick, shallowEqual, True } from '@neodx/std'; +import type { ComponentMetadata } from '../core'; +import { formatTimeMs } from '../shared'; +import type { ExportContext } from './create-export-context'; +import { + downloadExportedAssets, + type DownloadExportedAssetsConfig +} from './images/download-exported-assets'; +import { + resolveExportedAssets, + type ResolveExportedAssetsConfig +} from './images/resolve-exported-assets'; +import { + writeDownloadedAssets, + type WriteDownloadedAssetsConfig +} from './images/write-downloaded-assets'; + +export interface ExportPublishedComponentsParams { + ctx: ExportContext; + cache?: string | false; + write?: WriteDownloadedAssetsConfig; + fileId: string; + filter?: (component: ComponentMetadata) => boolean; + resolve?: ResolveExportedAssetsConfig; + download?: DownloadExportedAssetsConfig; +} + +export interface ExportPublishedComponentsState { + ctx: ExportContext; + components: { + all: ComponentMetadata[]; + changed: ComponentMetadata[]; + included: ComponentMetadata[]; + }; +} + +export type ExportedCache = Partial>; +export interface CachedComponent extends ReturnType { + content: string; +} + +export async function exportPublishedComponents({ + fileId, + ctx, + write, + cache: cacheFile = '.cache.json', + filter = True, + resolve, + download +}: ExportPublishedComponentsParams) { + ctx.log.info('Exporting published components from file "%s"...', fileId); + const startedAt = Date.now(); + const { meta: { components = [] } = {} } = await ctx.api.getFileComponents({ id: fileId }); + const cache = await ctx.createCache(cacheFile); + const cached = await cache.get(`published-components:${fileId}`, () => ({})); + + ctx.log.info('Found %d components', components.length); + + const included = components.filter(filter); + const changed = included.filter(component => { + const cachedComponent = cached[component.key]; + + return ( + !cachedComponent || !shallowEqual(getCacheEntry(cachedComponent), getCacheEntry(component)) + ); + }); + + ctx.log.debug( + `%d components are included, only %d will be exported`, + components.length, + changed.length + ); + + const resolvedAssets = await resolveExportedAssets({ + ctx, + items: changed, + getItemMeta: component => ({ + fileId: component.file_key, + name: component.name, + id: component.node_id + }), + ...resolve + }); + const downloadedAssets = await downloadExportedAssets({ + ctx, + items: resolvedAssets, + ...download + }); + const downloadedAssetByKey = Object.fromEntries( + downloadedAssets.map(asset => [asset.value.key, asset]) + ); + + await writeDownloadedAssets({ + ctx, + items: downloadedAssets, + getFileNameCtx: () => ({ fileId }), + ...write + }); + + await cache.set( + `published-components:${fileId}`, + Object.fromEntries( + included.map(component => [ + component.key, + { + ...getCacheEntry(component), + content: cached[component.key]?.content ?? downloadedAssetByKey[component.key].content + } + ]) + ) + ); + ctx.log.info('Exported successfully in %s', formatTimeMs(Date.now() - startedAt)); +} + +const getCacheEntry = ( + component: Pick +) => pick(component, ['name', 'node_id', 'created_at', 'updated_at']); diff --git a/libs/figma/src/export/images/download-exported-assets.ts b/libs/figma/src/export/images/download-exported-assets.ts new file mode 100644 index 0000000..2119888 --- /dev/null +++ b/libs/figma/src/export/images/download-exported-assets.ts @@ -0,0 +1,39 @@ +import { concurrently } from '@neodx/std'; +import { logRequest } from '../../shared'; +import type { ExportContext } from '../create-export-context'; +import type { DownloadableAsset } from './resolve-exported-assets'; + +export interface DownloadExportedAssetsParams extends DownloadExportedAssetsConfig { + ctx: ExportContext; + items: DownloadableAsset[]; +} + +export interface DownloadExportedAssetsConfig { + concurrency?: number; +} + +export interface DownloadedAsset extends DownloadableAsset { + content: string; +} + +export function downloadExportedAssets({ + ctx, + items, + concurrency = 5 +}: DownloadExportedAssetsParams): Promise[]> { + async function downloadItem(item: DownloadableAsset) { + const { url, format, scale, name } = item; + const time = Date.now(); + const res = await ctx.api.__.fetch(url); + const blob = await res.blob(); + + logRequest(ctx.log, 'GET', `${name} - ${format} x${scale} (${url})`, Date.now() - time); + return { + ...item, + content: await blob.text() + }; + } + + ctx.log.debug('Downloading %i assets [concurrency: %i]', items.length, concurrency); + return concurrently(items, downloadItem, concurrency); +} diff --git a/libs/figma/src/export/optimize-export.ts b/libs/figma/src/export/images/optimize-downloaded-assets.ts similarity index 70% rename from libs/figma/src/export/optimize-export.ts rename to libs/figma/src/export/images/optimize-downloaded-assets.ts index 965b1b4..40ceeab 100644 --- a/libs/figma/src/export/optimize-export.ts +++ b/libs/figma/src/export/images/optimize-downloaded-assets.ts @@ -1,14 +1,14 @@ import type { Config } from 'svgo'; import { optimize } from 'svgo'; -import type { DownloadedItem } from './download-exports'; +import type { DownloadedAsset } from './download-exported-assets'; -export interface OptimizeExportParams { +export interface OptimizeDownloadedAssetsParams { svgoConfig?: Config; } -export function optimizeExport( - { format, content }: DownloadedItem, - { svgoConfig = defaultConfig }: OptimizeExportParams +export function optimizeDownloadedAssets( + { format, content }: DownloadedAsset, + { svgoConfig = defaultConfig }: OptimizeDownloadedAssetsParams ) { if (format !== 'svg') return content; return optimize(content, svgoConfig).data; @@ -31,6 +31,7 @@ const defaultConfig: Config = { params: { attrs: [ '(class|style)', + 'href', 'xlink:href', 'aria-labelledby', 'aria-describedby', diff --git a/libs/figma/src/export/images/resolve-exported-assets.ts b/libs/figma/src/export/images/resolve-exported-assets.ts new file mode 100644 index 0000000..6b3c4a6 --- /dev/null +++ b/libs/figma/src/export/images/resolve-exported-assets.ts @@ -0,0 +1,173 @@ +import { chunk, concurrently, entries, groupBy, sum, toArray, uniq } from '@neodx/std'; +import type { ExportSetting, GetImageParams } from '../../core'; +import { ConstrainType, ImageType } from '../../core'; +import { getConstraintScale, imageTypeToFormat } from '../../utils'; +import type { ExportContext } from '../create-export-context'; + +export interface ResolveExportedAssetsParams + extends ResolveExportedAssetsConfig { + ctx: ExportContext; + items: T[]; + /** + * Required item meta information extractor. + */ + getItemMeta: (item: T) => DownloadableAssetMeta; + resolversMap?: Resolvers; +} + +export interface ResolveExportedAssetsConfig { + exportAs?: ExportResolverInput; + batching?: number; + concurrency?: number; +} + +export interface DownloadableAsset extends DownloadableAssetInput { + url: string; +} + +export interface DownloadableAssetInput extends DownloadableAssetMeta { + value: T; + scale: number; + format: GetImageParams['format']; +} + +export interface DownloadableAssetMeta { + id: string; + name: string; + fileId: string; +} + +/** + * Resolve download links for exported assets. + * @example + * const assets = await resolveExportedAssets({ + * ctx, + * items: myNodes, + * getItemMeta: node => ({ + * id: node.id, + * name: node.name, + * fileId: node.fileId + * }), + * exportAs: ['svg', () => [{ + * format: 'png', + * constraint: { + * type: 'SCALE', + * value: 2 + * } + * }]] + * }); + */ +export async function resolveExportedAssets({ + ctx, + items, + exportAs = 'svg' as keyof Resolvers, + batching = 50, + concurrency = 3, + getItemMeta, + resolversMap = defaultExportSettingsResolvers as Resolvers +}: ResolveExportedAssetsParams): Promise[]> { + ctx.log.info('Collecting assets to download from %i elements...', items.length); + + const resolvers = toArray(exportAs).map>(resolver => + typeof resolver === 'function' + ? resolver + : (resolversMap[resolver] as ExportSettingsResolver) + ); + const resolvedInputs = items.flatMap>(node => + uniq(resolvers.flatMap(resolver => resolver(node))).map(setting => ({ + format: imageTypeToFormat(setting.format), + scale: getConstraintScale(setting.constraint), + value: node, + ...getItemMeta(node) + })) + ); + const itemsBySettings = groupBy(resolvedInputs, ({ fileId, format, scale }) => + JSON.stringify({ fileId, format, scale }) + ); + + const chunkedExports = entries(itemsBySettings).flatMap(([serialized, value]) => { + const { fileId, format, scale } = JSON.parse(serialized) as Omit< + DownloadableAssetInput, + 'value' + >; + + return chunk(value, batching).map(chunk => ({ + ids: chunk.map(item => item.id), + scale: Number(scale), + chunk, + format, + fileId + })); + }); + + ctx.log.info( + 'Loading %i exported assets images URLs for %i source elements...', + sum(chunkedExports.map(({ ids }) => ids.length)), + items.length + ); + const imageResults = await concurrently( + chunkedExports, + async ({ fileId, ids, format, scale }) => { + const { images } = await ctx.api.getImage({ + id: fileId, + ids, + scale, + format, + svg_include_id: true + }); + + return { + images, + format, + scale + }; + }, + concurrency + ); + const imageUrlById = Object.assign( + {}, + ...imageResults.map(({ images, format, scale }) => + Object.fromEntries(entries(images).map(([id, url]) => [`${id}-${format}-${scale}`, url])) + ) + ); + + return chunkedExports.flatMap(({ chunk, format, scale }) => + chunk.map>(({ id, name, value, fileId }) => ({ + fileId, + format, + scale, + value, + name, + url: imageUrlById[`${id}-${format}-${scale}`], + id + })) + ); +} + +export const defaultExportSettingsResolvers = { + svg: () => [createExportSettings(ImageType.SVG)], + png: () => [createExportSettings(ImageType.PNG)], + pdf: () => [createExportSettings(ImageType.PDF)], + jpg: () => [createExportSettings(ImageType.JPG)] +} satisfies Record>; + +const createExportSettings = (format: ImageType): ExportSetting => ({ + format, + suffix: '', + constraint: { + type: ConstrainType.SCALE, + value: 1 + } +}); + +export type DefaultResolvers = typeof defaultExportSettingsResolvers; +export interface ExportSettingsResolver { + (value: T): ExportSetting[]; +} + +export type ExportResolverInputItem = + | keyof Resolvers + | ExportSettingsResolver; +export type ExportResolverInput = + | ExportResolverInputItem + | ExportResolverInputItem[]; diff --git a/libs/figma/src/export/images/write-downloaded-assets.ts b/libs/figma/src/export/images/write-downloaded-assets.ts new file mode 100644 index 0000000..714213a --- /dev/null +++ b/libs/figma/src/export/images/write-downloaded-assets.ts @@ -0,0 +1,65 @@ +import { concurrently } from '@neodx/std'; +import type { ExportContext } from '../create-export-context'; +import type { DownloadedAsset } from './download-exported-assets'; +import { + optimizeDownloadedAssets, + type OptimizeDownloadedAssetsParams +} from './optimize-downloaded-assets'; + +export interface WriteDownloadedAssetsParams extends WriteDownloadedAssetsConfig { + ctx: ExportContext; + items: DownloadedAsset[]; + getFileNameCtx: (item: DownloadedAsset) => Ctx; +} + +export interface WriteDownloadedAssetsConfig { + optimize?: OptimizeDownloadedAssetsParams | false; + concurrency?: number; + /** + * Exported nodes can provide wrong built-in names, so we can override them here. + * + * @param item - Downloaded item + * @param ctx - Export context (depends on the export type) + * + * @example ({ node, format }) => `${node.source.name}.${format}` + * @default Lowercased node name separated by "/" + scale postfix if scale > 1 + */ + getExportFileName?: (item: DownloadedAsset, ctx: Ctx) => string; +} + +export async function writeDownloadedAssets({ + ctx, + items, + optimize = {}, + concurrency = 10, + getFileNameCtx, + getExportFileName = getDefaultExportFileName +}: WriteDownloadedAssetsParams) { + ctx.log.info('Downloaded %d files, saving...', items.length); + await concurrently( + items, + async item => { + const fileName = getExportFileName(item, getFileNameCtx(item)); + const content = optimize ? optimizeDownloadedAssets(item, optimize) : item.content; + + await ctx.vfs.write(fileName, content); + ctx.log.debug('Saved "%s" at %s', item.name, fileName); + }, + concurrency + ); +} + +/** + * Format file name as lower-cased string with replaced spaces and special characters to dashes. + * @example "File.svg" -> "file.svg" + * @example "Common/Animals and Plants/Cat_sleeping.svg" -> "common/animals-and-plants/cat_sleeping.svg" + * @example "print: 32/copy&pasted.svg" -> "print-32/copy-pasted.svg" + */ +export const formatExportFileName = (fileName: string) => + fileName.toLowerCase().replaceAll(/[^a-z0-9-_./]+/g, '-'); + +const getDefaultExportFileName = ({ name, format, scale }: DownloadedAsset) => { + const scalePostfix = scale > 1 ? `.x${scale}` : ''; + + return formatExportFileName(`${name}${scalePostfix}.${format}`); +}; diff --git a/libs/figma/src/export/index.ts b/libs/figma/src/export/index.ts index 7e84601..c6201a8 100644 --- a/libs/figma/src/export/index.ts +++ b/libs/figma/src/export/index.ts @@ -1,11 +1,31 @@ -export type { DownloadedItem, DownloadExportsParams } from './download-exports'; -export { downloadExports } from './download-exports'; -export type { ExportFileParams } from './export-file'; -export { exportFile, formatExportFileName } from './export-file'; -export { optimizeExport, type OptimizeExportParams } from './optimize-export'; export type { - DownloadableItem, - GetNodeExportSettings, - ReceiveExportsDownloadInfoParams -} from './receive-exports-download-info'; -export { exportsResolvers, receiveExportsDownloadInfo } from './receive-exports-download-info'; + CreateExportContextParams, + ExportContext, + ProcessedFileResult +} from './create-export-context'; +export { createExportContext } from './create-export-context'; +export type { ExportFileAssetsParams } from './export-file-assets'; +export { exportFileAssets } from './export-file-assets'; +export { exportPublishedComponents } from './export-published-components'; +export type { + DownloadedAsset, + DownloadExportedAssetsParams +} from './images/download-exported-assets'; +export { downloadExportedAssets } from './images/download-exported-assets'; +export { + optimizeDownloadedAssets, + type OptimizeDownloadedAssetsParams +} from './images/optimize-downloaded-assets'; +export type { + DefaultResolvers, + DownloadableAsset, + DownloadableAssetInput, + DownloadableAssetMeta, + ExportResolverInput, + ExportResolverInputItem, + ExportSettingsResolver, + ResolveExportedAssetsConfig, + ResolveExportedAssetsParams +} from './images/resolve-exported-assets'; +export { resolveExportedAssets } from './images/resolve-exported-assets'; +export { formatExportFileName, writeDownloadedAssets } from './images/write-downloaded-assets'; diff --git a/libs/figma/src/export/receive-exports-download-info.ts b/libs/figma/src/export/receive-exports-download-info.ts deleted file mode 100644 index 8d790a9..0000000 --- a/libs/figma/src/export/receive-exports-download-info.ts +++ /dev/null @@ -1,150 +0,0 @@ -import { chunk, concurrently, entries, groupBy, sum, toArray, uniq } from '@neodx/std'; -import type { AnyNode, ExportSetting, FigmaApi, GetImageParams } from '../core'; -import { ConstrainType, ImageType } from '../core'; -import type { GraphNode } from '../graph'; -import type { FigmaLogger } from '../shared'; -import { figmaLogger } from '../shared'; - -export interface ReceiveExportsDownloadInfoParams { - api: FigmaApi; - fileId: string; - target: GraphNode[]; - logger?: FigmaLogger; - /** - * Strategy to resolve export settings for each node. - * 'svg' - export every node as SVG - * 'export' - use node's export settings (annotation in Figma) - * function - custom resolver - * @default 'svg' - */ - resolver?: ExportResolver | ExportResolver[]; - batching?: number; - concurrency?: number; -} - -export interface DownloadableItem { - setting: ExportSetting; - format: GetImageParams['format']; - scale: number; - node: GraphNode; - url: string; -} - -export type ExportResolver = BuiltInExportResolverName | GetNodeExportSettings; -export type BuiltInExportResolverName = keyof typeof exportsResolvers; - -export interface GetNodeExportSettings { - (node: GraphNode): ExportSetting[]; -} - -export async function receiveExportsDownloadInfo({ - api, - fileId, - target, - logger = figmaLogger, - resolver = 'svg', - batching = 50, - concurrency = 3 -}: ReceiveExportsDownloadInfoParams): Promise { - const resolvers = toArray(resolver).map(resolver => - typeof resolver === 'function' ? resolver : exportsResolvers[resolver] - ); - - if (resolvers.includes(exportsResolvers.export)) { - analyzeExportsAreDefined(target, logger); - } - const exportsByType = groupBy( - target.flatMap(node => - uniq(resolvers.flatMap(resolver => resolver(node))).map(setting => ({ setting, node })) - ), - ({ - setting: { - format, - constraint: { type, value } - } - }) => `${format.toLowerCase()}-${type === ConstrainType.SCALE ? value : 1}` // we don't support other constraints yet - ); - const chunkedExports = entries(exportsByType).flatMap(([key, value]) => { - const [format, scale] = key.split('-') as [GetImageParams['format'], string]; - - return chunk(value, batching).map(part => ({ - ids: part.map(({ node }) => node.id), - scale: Number(scale), - chunk: part, - format - })); - }); - - logger.info( - 'Receiving %i exports images urls from %i nodes...', - sum(chunkedExports.map(({ ids }) => ids.length)), - target.length - ); - const imageResults = await concurrently( - chunkedExports, - async ({ ids, format, scale }) => { - const { images } = await api.getImage({ - id: fileId, - ids, - scale, - format, - svg_include_id: true - }); - - return { - images, - format, - scale - }; - }, - concurrency - ); - const imageUrlById = Object.assign( - {}, - ...imageResults.map(({ images, format, scale }) => - Object.fromEntries(entries(images).map(([id, url]) => [`${id}-${format}-${scale}`, url])) - ) - ); - - return chunkedExports.flatMap(({ chunk, format, scale }) => - chunk.map(({ setting, node }) => ({ - setting, - format, - scale, - node, - url: imageUrlById[`${node.id}-${format}-${scale}`] - })) - ); -} - -export const createExportSetting = (format: ImageType): ExportSetting => ({ - format, - suffix: '', - constraint: { - type: ConstrainType.SCALE, - value: 1 - } -}); - -export const exportsResolvers = { - svg: () => [createExportSetting(ImageType.SVG)], - png: () => [createExportSetting(ImageType.PNG)], - pdf: () => [createExportSetting(ImageType.PDF)], - jpg: () => [createExportSetting(ImageType.JPG)], - export: (node: GraphNode) => - 'exportSettings' in node.source ? node.source.exportSettings : [] -}; - -function analyzeExportsAreDefined(nodes: GraphNode[], logger: FigmaLogger) { - for (const node of nodes) { - const original = node.source; - - if (!('exportSettings' in original)) { - logger.debug( - 'Exports analyzing - no export settings for "%s" (id: %s)', - original.name, - original.id - ); - } - } -} diff --git a/libs/figma/src/graph/collect-nodes.ts b/libs/figma/src/graph/collect-nodes.ts index 111dc43..bd332e2 100644 --- a/libs/figma/src/graph/collect-nodes.ts +++ b/libs/figma/src/graph/collect-nodes.ts @@ -1,9 +1,10 @@ -import type { LoggerMethods } from '@neodx/log'; import { isEmpty, toArray, True, uniq } from '@neodx/std'; import type { AnyNode, DocumentNode, NodeByType, NodeType } from '../core'; +import type { FigmaLogger } from '../shared'; import type { GraphNode } from './create-nodes-graph'; export interface CollectNodesParams { + log?: FigmaLogger; /** * List of the conditions to filter nodes hierarchy. * @example { type: 'COMPONENT', filter: 'Button' } // filter all components named "Button" @@ -24,7 +25,6 @@ export interface CollectNodesParams { * @default Extracts all `COMPONENT` nodes. */ extract?: NodesExtractor | NodeType | Array; - logger?: LoggerMethods<'debug'>; } export type SpecifiedCollectTarget = { @@ -51,16 +51,16 @@ export type PredicateFn = (node: T) => boolean; */ export function collectNodes( root: GraphNode, - { logger, extract = 'COMPONENT', target = [] }: CollectNodesParams = {} + { log, extract = 'COMPONENT', target = [] }: CollectNodesParams = {} ) { const extractors = toArray(extract).map(extractor => typeof extractor === 'string' ? extractNodeType(extractor) : extractor ); - logger?.debug('Collecting nodes...'); + log?.debug('Collecting nodes...'); const collected = collectByConditions(root, toArray(target)); - logger?.debug('Collected %s nodes', collected.length); + log?.debug('Collected %s nodes', collected.length); return uniq(collected.flatMap(node => extractors.flatMap(extractor => extractor(node)))); } diff --git a/libs/figma/src/graph/create-nodes-graph.ts b/libs/figma/src/graph/create-nodes-graph.ts index a16c07b..1b4946a 100644 --- a/libs/figma/src/graph/create-nodes-graph.ts +++ b/libs/figma/src/graph/create-nodes-graph.ts @@ -91,6 +91,8 @@ const createEmptyRegistry = (): GraphNodeRegistry => ({ styles: {} }); +export type AnyGraphNode = GraphNode; + export interface GraphNode { id: NodeID; type: NodeType; diff --git a/libs/figma/src/index.ts b/libs/figma/src/index.ts index 72393fe..2de2452 100644 --- a/libs/figma/src/index.ts +++ b/libs/figma/src/index.ts @@ -1,22 +1,17 @@ -export type { Configuration, ExportConfigurationItem } from './config'; +export type { Configuration, ExportFileConfiguration } from './config'; export { createFigmaApi, type CreateFigmaApiParams, type FigmaApi } from './core'; export * from './core/figma.h'; // not "export type * from" because there are enums export type * from './core/figma-api.h'; -export type { - DownloadableItem, - DownloadedItem, - DownloadExportsParams, - ExportFileParams, - GetNodeExportSettings, - OptimizeExportParams, - ReceiveExportsDownloadInfoParams -} from './export'; +export type { ExportFileAssetsParams, OptimizeDownloadedAssetsParams } from './export'; export { - downloadExports, - exportFile, + createExportContext, + downloadExportedAssets, + exportFileAssets, + exportPublishedComponents, formatExportFileName, - optimizeExport, - receiveExportsDownloadInfo + optimizeDownloadedAssets, + resolveExportedAssets, + writeDownloadedAssets } from './export'; export type { CollectNodesParams, @@ -28,7 +23,7 @@ export type { PredicateInput, PredicateInputValue } from './graph'; -export { collectNodes, createFileGraph, createNodesGraph, extractNodeType } from './graph'; +export { collectNodes, createFileGraph, createNodesGraph } from './graph'; export { getColor, getGraphNodeName, diff --git a/libs/figma/src/shared.ts b/libs/figma/src/shared.ts index 3151119..d46d4ce 100644 --- a/libs/figma/src/shared.ts +++ b/libs/figma/src/shared.ts @@ -11,12 +11,12 @@ export const figmaLogger = createLogger({ }); export const logRequest = ( - logger: LoggerMethods<'debug'>, + log: LoggerMethods<'debug'>, method: string | undefined, url: URLInit, time: number ) => { - logger.debug( + log.debug( 'Done in %s - %s %s', formatTimeMs(time), method ?? 'GET', diff --git a/libs/figma/src/utils.ts b/libs/figma/src/utils.ts index ba990f9..ffd7970 100644 --- a/libs/figma/src/utils.ts +++ b/libs/figma/src/utils.ts @@ -3,9 +3,11 @@ import { colord } from 'colord'; import type { AnyNode, Color, + Constrain, Effect, EffectBlur, EffectShadow, + GetImageParams, NodeByType, NodeType, Paint, @@ -13,7 +15,7 @@ import type { PaintImage, PaintSolid } from './core'; -import { EffectType, PaintType } from './core'; +import { EffectType, ImageType, PaintType } from './core'; import type { GraphNode } from './graph'; export const isFigmaLink = (link: string) => /^https:\/\/www\.figma\.com\/file\/[^/]+/.test(link); @@ -25,6 +27,10 @@ export const parseFileIdFromLink = (link: string) => { return id; }; +export const imageTypeToFormat = (type: ImageType) => + type.toLowerCase() as GetImageParams['format']; +export const getConstraintScale = ({ type, value }: Constrain) => (type === 'SCALE' ? value : 1); + export const getGraphNodeName = (node: GraphNode) => node.source.name; export const getColor = ({ r, g, b, a }: Color) => From e17ef30b1a51c67cc4c3042ccce4e157ba1f7482 Mon Sep 17 00:00:00 2001 From: Dmitry Remezov Date: Sun, 30 Jul 2023 21:22:02 +0300 Subject: [PATCH 13/15] docs: update examples --- .github/workflows/release.yaml | 1 + README.md | 2 +- .../.eslintrc.cjs | 0 .../README.md | 32 +++-- .../assets/icons/blizzard.svg | 0 .../assets/icons/blowing-snow.svg | 0 .../assets/icons/clear-night.svg | 0 .../icons/cloudy-clear-at-times-night.svg | 0 .../assets/icons/cloudy-clear-at-times.svg | 0 .../assets/icons/cloudy.svg | 0 .../assets/icons/drizzle-night.svg | 0 .../assets/icons/drizzle-sun.svg | 0 .../assets/icons/drizzle.svg | 0 .../assets/icons/fog.svg | 0 .../assets/icons/hail.svg | 0 .../assets/icons/heavy-rain.svg | 0 .../assets/icons/humidity.svg | 0 .../assets/icons/partly-cloudy-night.svg | 0 .../assets/icons/partly-cloudy.svg | 0 .../assets/icons/rain-night.svg | 0 .../assets/icons/rain-sun.svg | 0 .../assets/icons/rain-thunderstorm.svg | 0 .../assets/icons/rain.svg | 0 .../assets/icons/scatterad-showers-night.svg | 0 .../assets/icons/scatterad-showers.svg | 0 .../assets/icons/scatterad-thunderstorm.svg | 0 .../assets/icons/sever-thunderstorm.svg | 0 .../assets/icons/sleet.svg | 0 .../assets/icons/snow.svg | 0 .../assets/icons/sunny.svg | 0 .../assets/icons/wind.svg | 0 .../docs/get-figma-token.png | Bin 0 -> 116252 bytes .../figma-export-file-assets/docs/output.png | Bin 0 -> 204996 bytes .../figma-export-file-assets/docs/source.png | Bin 0 -> 449086 bytes .../figma.config.cjs | 12 +- .../package.json | 0 .../.eslintrc.cjs | 6 + .../figma-export-published-assets/README.md | 3 + .../assets/icons/.cache.json | 25 ++++ .../assets/icons/size-lg.svg | 1 + .../assets/icons/size-md.svg | 1 + .../assets/icons/size-sm.svg | 1 + .../assets/wolf/.cache.json | 1 + .../figma.config.cjs | 21 ++++ .../package.json | 34 +++++ .../svg-magic-with-figma-export/README.md | 2 +- .../public/general.svg | 2 +- .../public/tool-windows.svg | 2 +- examples/svg-vite/package.json | 1 - .../{postcss.config.js => postcss.config.mjs} | 0 examples/svg-vite/public/common.76103a6c.svg | 1 - examples/svg-vite/public/common.7854f9b0.svg | 1 + examples/svg-vite/public/flags.49fa86bc.svg | 1 - examples/svg-vite/public/flags.def2b6af.svg | 1 + examples/svg-vite/public/logos.6c76e8cd.svg | 1 + examples/svg-vite/public/logos.bab17578.svg | 1 - .../svg-vite/src/shared/ui/icon/sprite.gen.ts | 6 +- examples/svg-vite/vite.config.ts | 2 +- libs/log/package.json | 2 +- package.json | 2 +- yarn.lock | 116 ++++++++++++++++-- 61 files changed, 243 insertions(+), 38 deletions(-) rename examples/{figma-simple-export => figma-export-file-assets}/.eslintrc.cjs (100%) rename examples/{figma-simple-export => figma-export-file-assets}/README.md (77%) rename examples/{figma-simple-export => figma-export-file-assets}/assets/icons/blizzard.svg (100%) rename examples/{figma-simple-export => figma-export-file-assets}/assets/icons/blowing-snow.svg (100%) rename examples/{figma-simple-export => figma-export-file-assets}/assets/icons/clear-night.svg (100%) rename examples/{figma-simple-export => figma-export-file-assets}/assets/icons/cloudy-clear-at-times-night.svg (100%) rename examples/{figma-simple-export => figma-export-file-assets}/assets/icons/cloudy-clear-at-times.svg (100%) rename examples/{figma-simple-export => figma-export-file-assets}/assets/icons/cloudy.svg (100%) rename examples/{figma-simple-export => figma-export-file-assets}/assets/icons/drizzle-night.svg (100%) rename examples/{figma-simple-export => figma-export-file-assets}/assets/icons/drizzle-sun.svg (100%) rename examples/{figma-simple-export => figma-export-file-assets}/assets/icons/drizzle.svg (100%) rename examples/{figma-simple-export => figma-export-file-assets}/assets/icons/fog.svg (100%) rename examples/{figma-simple-export => figma-export-file-assets}/assets/icons/hail.svg (100%) rename examples/{figma-simple-export => figma-export-file-assets}/assets/icons/heavy-rain.svg (100%) rename examples/{figma-simple-export => figma-export-file-assets}/assets/icons/humidity.svg (100%) rename examples/{figma-simple-export => figma-export-file-assets}/assets/icons/partly-cloudy-night.svg (100%) rename examples/{figma-simple-export => figma-export-file-assets}/assets/icons/partly-cloudy.svg (100%) rename examples/{figma-simple-export => figma-export-file-assets}/assets/icons/rain-night.svg (100%) rename examples/{figma-simple-export => figma-export-file-assets}/assets/icons/rain-sun.svg (100%) rename examples/{figma-simple-export => figma-export-file-assets}/assets/icons/rain-thunderstorm.svg (100%) rename examples/{figma-simple-export => figma-export-file-assets}/assets/icons/rain.svg (100%) rename examples/{figma-simple-export => figma-export-file-assets}/assets/icons/scatterad-showers-night.svg (100%) rename examples/{figma-simple-export => figma-export-file-assets}/assets/icons/scatterad-showers.svg (100%) rename examples/{figma-simple-export => figma-export-file-assets}/assets/icons/scatterad-thunderstorm.svg (100%) rename examples/{figma-simple-export => figma-export-file-assets}/assets/icons/sever-thunderstorm.svg (100%) rename examples/{figma-simple-export => figma-export-file-assets}/assets/icons/sleet.svg (100%) rename examples/{figma-simple-export => figma-export-file-assets}/assets/icons/snow.svg (100%) rename examples/{figma-simple-export => figma-export-file-assets}/assets/icons/sunny.svg (100%) rename examples/{figma-simple-export => figma-export-file-assets}/assets/icons/wind.svg (100%) create mode 100644 examples/figma-export-file-assets/docs/get-figma-token.png create mode 100644 examples/figma-export-file-assets/docs/output.png create mode 100644 examples/figma-export-file-assets/docs/source.png rename examples/{figma-simple-export => figma-export-file-assets}/figma.config.cjs (69%) rename examples/{figma-simple-export => figma-export-file-assets}/package.json (100%) create mode 100644 examples/figma-export-published-assets/.eslintrc.cjs create mode 100644 examples/figma-export-published-assets/README.md create mode 100644 examples/figma-export-published-assets/assets/icons/.cache.json create mode 100644 examples/figma-export-published-assets/assets/icons/size-lg.svg create mode 100644 examples/figma-export-published-assets/assets/icons/size-md.svg create mode 100644 examples/figma-export-published-assets/assets/icons/size-sm.svg create mode 100644 examples/figma-export-published-assets/assets/wolf/.cache.json create mode 100644 examples/figma-export-published-assets/figma.config.cjs create mode 100644 examples/figma-export-published-assets/package.json rename examples/svg-vite/{postcss.config.js => postcss.config.mjs} (100%) delete mode 100644 examples/svg-vite/public/common.76103a6c.svg create mode 100644 examples/svg-vite/public/common.7854f9b0.svg delete mode 100644 examples/svg-vite/public/flags.49fa86bc.svg create mode 100644 examples/svg-vite/public/flags.def2b6af.svg create mode 100644 examples/svg-vite/public/logos.6c76e8cd.svg delete mode 100644 examples/svg-vite/public/logos.bab17578.svg diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 36dbdc2..1e2df2f 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -35,5 +35,6 @@ jobs: version: yarn release-version env: + AUTOBUILD_FORCE_FLATTEN: true GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/README.md b/README.md index 53d7ddf..6376286 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ So, `@neodx/figma` is an attempt to create it. Currently, we have the following See our examples for more details: - [SVG sprite generation on steroids with Figma export](./examples/svg-magic-with-figma-export) - Integrated showcase of the `@neodx/svg` and `@neodx/figma` packages with real application usage! -- [Export icons from the Community Weather Icons Kit](./examples/figma-simple-export) - A simple step-by-step example of how to use the `@neodx/figma` to export icons. +- [Export icons from the Community Weather Icons Kit](./examples/figma-export-file-assets) - A simple step-by-step example of how to use the `@neodx/figma` to export icons. We have a some ideas for future development, so stay tuned and feel free to request your own! 🚀 diff --git a/examples/figma-simple-export/.eslintrc.cjs b/examples/figma-export-file-assets/.eslintrc.cjs similarity index 100% rename from examples/figma-simple-export/.eslintrc.cjs rename to examples/figma-export-file-assets/.eslintrc.cjs diff --git a/examples/figma-simple-export/README.md b/examples/figma-export-file-assets/README.md similarity index 77% rename from examples/figma-simple-export/README.md rename to examples/figma-export-file-assets/README.md index e9726a3..049921d 100644 --- a/examples/figma-simple-export/README.md +++ b/examples/figma-export-file-assets/README.md @@ -41,17 +41,33 @@ const { formatExportFileName } = require('@neodx/figma'); */ module.exports = { export: { - fileId: 'https://www.figma.com/file/H9kVbqMwzIxh579BpXKZbj/Weather--Icons-Kit-(Community)', + fileId: + 'https://www.figma.com/file/H9kVbqMwzIxh579BpXKZbj/Weather--Icons-Kit-(Community)?type=design&node-id=0-1', output: 'assets/icons', - getExportFileName({ format, node }, root) { - const parent = root.registry.byId[node.parentId]; - - return formatExportFileName(`${parent.source.name.toLowerCase()}.${format}`); + write: { + getExportFileName({ format, value }, root) { + const parent = root.registry.byId[value.parentId]; + + return formatExportFileName( + `${parent.source.name.toLowerCase().replace('32/', '')}.${format}` + ); + } }, collect: { - componentSet: /32/, - component: 'Color=Off', - page: 'icon' + target: [ + { + type: 'CANVAS', + filter: 'icon' + }, + { + type: 'COMPONENT_SET', + filter: /32/ + }, + { + type: 'COMPONENT', + filter: 'Color=Off' + } + ] } } }; diff --git a/examples/figma-simple-export/assets/icons/blizzard.svg b/examples/figma-export-file-assets/assets/icons/blizzard.svg similarity index 100% rename from examples/figma-simple-export/assets/icons/blizzard.svg rename to examples/figma-export-file-assets/assets/icons/blizzard.svg diff --git a/examples/figma-simple-export/assets/icons/blowing-snow.svg b/examples/figma-export-file-assets/assets/icons/blowing-snow.svg similarity index 100% rename from examples/figma-simple-export/assets/icons/blowing-snow.svg rename to examples/figma-export-file-assets/assets/icons/blowing-snow.svg diff --git a/examples/figma-simple-export/assets/icons/clear-night.svg b/examples/figma-export-file-assets/assets/icons/clear-night.svg similarity index 100% rename from examples/figma-simple-export/assets/icons/clear-night.svg rename to examples/figma-export-file-assets/assets/icons/clear-night.svg diff --git a/examples/figma-simple-export/assets/icons/cloudy-clear-at-times-night.svg b/examples/figma-export-file-assets/assets/icons/cloudy-clear-at-times-night.svg similarity index 100% rename from examples/figma-simple-export/assets/icons/cloudy-clear-at-times-night.svg rename to examples/figma-export-file-assets/assets/icons/cloudy-clear-at-times-night.svg diff --git a/examples/figma-simple-export/assets/icons/cloudy-clear-at-times.svg b/examples/figma-export-file-assets/assets/icons/cloudy-clear-at-times.svg similarity index 100% rename from examples/figma-simple-export/assets/icons/cloudy-clear-at-times.svg rename to examples/figma-export-file-assets/assets/icons/cloudy-clear-at-times.svg diff --git a/examples/figma-simple-export/assets/icons/cloudy.svg b/examples/figma-export-file-assets/assets/icons/cloudy.svg similarity index 100% rename from examples/figma-simple-export/assets/icons/cloudy.svg rename to examples/figma-export-file-assets/assets/icons/cloudy.svg diff --git a/examples/figma-simple-export/assets/icons/drizzle-night.svg b/examples/figma-export-file-assets/assets/icons/drizzle-night.svg similarity index 100% rename from examples/figma-simple-export/assets/icons/drizzle-night.svg rename to examples/figma-export-file-assets/assets/icons/drizzle-night.svg diff --git a/examples/figma-simple-export/assets/icons/drizzle-sun.svg b/examples/figma-export-file-assets/assets/icons/drizzle-sun.svg similarity index 100% rename from examples/figma-simple-export/assets/icons/drizzle-sun.svg rename to examples/figma-export-file-assets/assets/icons/drizzle-sun.svg diff --git a/examples/figma-simple-export/assets/icons/drizzle.svg b/examples/figma-export-file-assets/assets/icons/drizzle.svg similarity index 100% rename from examples/figma-simple-export/assets/icons/drizzle.svg rename to examples/figma-export-file-assets/assets/icons/drizzle.svg diff --git a/examples/figma-simple-export/assets/icons/fog.svg b/examples/figma-export-file-assets/assets/icons/fog.svg similarity index 100% rename from examples/figma-simple-export/assets/icons/fog.svg rename to examples/figma-export-file-assets/assets/icons/fog.svg diff --git a/examples/figma-simple-export/assets/icons/hail.svg b/examples/figma-export-file-assets/assets/icons/hail.svg similarity index 100% rename from examples/figma-simple-export/assets/icons/hail.svg rename to examples/figma-export-file-assets/assets/icons/hail.svg diff --git a/examples/figma-simple-export/assets/icons/heavy-rain.svg b/examples/figma-export-file-assets/assets/icons/heavy-rain.svg similarity index 100% rename from examples/figma-simple-export/assets/icons/heavy-rain.svg rename to examples/figma-export-file-assets/assets/icons/heavy-rain.svg diff --git a/examples/figma-simple-export/assets/icons/humidity.svg b/examples/figma-export-file-assets/assets/icons/humidity.svg similarity index 100% rename from examples/figma-simple-export/assets/icons/humidity.svg rename to examples/figma-export-file-assets/assets/icons/humidity.svg diff --git a/examples/figma-simple-export/assets/icons/partly-cloudy-night.svg b/examples/figma-export-file-assets/assets/icons/partly-cloudy-night.svg similarity index 100% rename from examples/figma-simple-export/assets/icons/partly-cloudy-night.svg rename to examples/figma-export-file-assets/assets/icons/partly-cloudy-night.svg diff --git a/examples/figma-simple-export/assets/icons/partly-cloudy.svg b/examples/figma-export-file-assets/assets/icons/partly-cloudy.svg similarity index 100% rename from examples/figma-simple-export/assets/icons/partly-cloudy.svg rename to examples/figma-export-file-assets/assets/icons/partly-cloudy.svg diff --git a/examples/figma-simple-export/assets/icons/rain-night.svg b/examples/figma-export-file-assets/assets/icons/rain-night.svg similarity index 100% rename from examples/figma-simple-export/assets/icons/rain-night.svg rename to examples/figma-export-file-assets/assets/icons/rain-night.svg diff --git a/examples/figma-simple-export/assets/icons/rain-sun.svg b/examples/figma-export-file-assets/assets/icons/rain-sun.svg similarity index 100% rename from examples/figma-simple-export/assets/icons/rain-sun.svg rename to examples/figma-export-file-assets/assets/icons/rain-sun.svg diff --git a/examples/figma-simple-export/assets/icons/rain-thunderstorm.svg b/examples/figma-export-file-assets/assets/icons/rain-thunderstorm.svg similarity index 100% rename from examples/figma-simple-export/assets/icons/rain-thunderstorm.svg rename to examples/figma-export-file-assets/assets/icons/rain-thunderstorm.svg diff --git a/examples/figma-simple-export/assets/icons/rain.svg b/examples/figma-export-file-assets/assets/icons/rain.svg similarity index 100% rename from examples/figma-simple-export/assets/icons/rain.svg rename to examples/figma-export-file-assets/assets/icons/rain.svg diff --git a/examples/figma-simple-export/assets/icons/scatterad-showers-night.svg b/examples/figma-export-file-assets/assets/icons/scatterad-showers-night.svg similarity index 100% rename from examples/figma-simple-export/assets/icons/scatterad-showers-night.svg rename to examples/figma-export-file-assets/assets/icons/scatterad-showers-night.svg diff --git a/examples/figma-simple-export/assets/icons/scatterad-showers.svg b/examples/figma-export-file-assets/assets/icons/scatterad-showers.svg similarity index 100% rename from examples/figma-simple-export/assets/icons/scatterad-showers.svg rename to examples/figma-export-file-assets/assets/icons/scatterad-showers.svg diff --git a/examples/figma-simple-export/assets/icons/scatterad-thunderstorm.svg b/examples/figma-export-file-assets/assets/icons/scatterad-thunderstorm.svg similarity index 100% rename from examples/figma-simple-export/assets/icons/scatterad-thunderstorm.svg rename to examples/figma-export-file-assets/assets/icons/scatterad-thunderstorm.svg diff --git a/examples/figma-simple-export/assets/icons/sever-thunderstorm.svg b/examples/figma-export-file-assets/assets/icons/sever-thunderstorm.svg similarity index 100% rename from examples/figma-simple-export/assets/icons/sever-thunderstorm.svg rename to examples/figma-export-file-assets/assets/icons/sever-thunderstorm.svg diff --git a/examples/figma-simple-export/assets/icons/sleet.svg b/examples/figma-export-file-assets/assets/icons/sleet.svg similarity index 100% rename from examples/figma-simple-export/assets/icons/sleet.svg rename to examples/figma-export-file-assets/assets/icons/sleet.svg diff --git a/examples/figma-simple-export/assets/icons/snow.svg b/examples/figma-export-file-assets/assets/icons/snow.svg similarity index 100% rename from examples/figma-simple-export/assets/icons/snow.svg rename to examples/figma-export-file-assets/assets/icons/snow.svg diff --git a/examples/figma-simple-export/assets/icons/sunny.svg b/examples/figma-export-file-assets/assets/icons/sunny.svg similarity index 100% rename from examples/figma-simple-export/assets/icons/sunny.svg rename to examples/figma-export-file-assets/assets/icons/sunny.svg diff --git a/examples/figma-simple-export/assets/icons/wind.svg b/examples/figma-export-file-assets/assets/icons/wind.svg similarity index 100% rename from examples/figma-simple-export/assets/icons/wind.svg rename to examples/figma-export-file-assets/assets/icons/wind.svg diff --git a/examples/figma-export-file-assets/docs/get-figma-token.png b/examples/figma-export-file-assets/docs/get-figma-token.png new file mode 100644 index 0000000000000000000000000000000000000000..a0e807b53b427c2d700a2f873a42928a1e156e52 GIT binary patch literal 116252 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

8A%i-IHml0 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ⅇwc&)Pl8>2spPg&ui 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

8KkC+rs-gFK% zj!2U`;#`7iKL*(3zr{Ns%6ySNVEB@fGtnz( zx4z#5&49%x{&Oq(_{1+&NwfE@PSZU0C688$*4j$`+`pz}r^=~28%l%D53J-9GwaK& z&)c-Xbp#vThBdgrB@Yz7S&n6MLal8i;Vr|apn&1Ac=~k*vtYTc`Ma_DR^tcD6(>Kb zd4Xlz@up_pW#`r`6z35G*%v+L_R4OVhigj5Yn34bgZ()Ax?R@OvouvU*6q|%W*W1R zQ_-ljt{|H#8Y13-m9G|^w@FGiEo58CO2|QdMm!y&ogJ2rIt$>5ZtAL=w9m`;d7cf9 zTOIgt#|?ZQ#{rH;hln(nAettIt5-*iR#TLbv_@!Tf`VqUtRCkf!jB{2J#wHoV+EfR z%+9$XgDYKa@zQQzNdo=R_vtBUznMd{Yj%2t5D4edkv>+JOR`W4cgT^}g-gE?&F83t zBdS~3pU|7n&Q9m|>$e)WDPsz3?mj}}efSXI^(u@w@cs=Jy6;j?$C#^ZS%nvCO|ONL z7}%gKOvP7*NsD8UP>12ln9+%9Sku|h(&bL~p#4C(dC4tOTL&!4;~^|?JI2dK!=Axb zwYwTBcoI+Q^B`61nD{(*X_r1VBm~6v0gsp_kqYYtS<1#OLJwVhw`GtOd{l9a(vkt^ zO+FDzyuP)fwbM>B3cxFE3Nju(n7f^=iB^JxF>9WzDC8>Ae2nsNXnl@q%4>1+Z9O+m19i0!b^Bo{P3xvc^eeDo;F(>-hWQt(27E>|rst8gt*ay_@#Go09}y z)O#|{=<3-yod}2%G=y6wlCWIdIjC?xYTBW}X3hnZa5i@+k<~ms)$vJMbdNa>$g-Hu z&||Y|20yucH(k0kpPv12IEPZ8^h^)hJj)H`PMXzonCh5uy;ARzwG@~1{(%oUW4$B} zT@q`{W3$6)Mim-f6gXl~8EeiionPc~d7`ft=RTUK*yV92tT&bLE@s@Pj0H^@Ye9Q# zrEuqQH3Tgcs_P@{Nuzav7*-Qg`O5B|ou#!)E2i zK|PesK`d+6n(jX3TA~VpY^QQrh3pVS$}o1ZX*}aT$z^^RQO0RwDeE#f-yr>DeWN0( zoC*$(H5;FzkQ#kcv-*+i6k7rzG+&b|x6!l6f~4fb^C2ZX^)rMsgV|*w6C%T9xB~d2 zzkw!D&u&6gY9laO8*hkM!sA=G!YT{V@VnZLw)N?re2ZIoOTr?3950s`t|qTX;(~Bz zjIPU#SV7b{7GUMy?;h&vi=zx14W+ck-)*5Rrn3pD+MtUSLs|g2LVvR^6B15ojQ$~G z{bsj?0Fj{echU$|8nMKmE+h+^r95TsJaz<)us4L^#YbiRPM4Q3Fpdj>gDHJuCm>$9 zBaC9*-@BaKZgUq|=- z_l*t+Ra(b3zh;ReC|n|$SEMj-ohxw_Yi{g&TQih!J1Sa#Zn)w!x+Tk=vgDcv_YB>g z%N+XB^=_wbs97a^P5gE1+|XD;;zq>LN|G90#^8Obt?)<*EfLH_u>&uh9)K z3eE_hnRB%CE?|q#5nU9BOKIHq&jG88+uV*L06}pSvSBTKn`f*pzY0}D?XOc&zTdgt zava(<%{LD13kBjA_se=pc1A&JFG$1!**)uvKdg@!`6n-N;{TE~hC^iFUA1GstYM&^ zd)hI+@~JbM;@W)@khmJe?)s{*x`}A0Z-3=Ipy-HaJ}^CN^9Wf0hUl<{D<5OpN%MuD@-3g-kp>*fsk~lkhvAf!DYfq_Rn((F^C8BiZ!S@^Q*z3OwtrU~{1g(Fy z>oH$!is@aCR-DS|GR9&q#I})^=963*@5yQ1&5We456CW;WXFW6ft=w2L%3`?UuLeC zaqU8NKN&FyoQWrUUo$#osJy6mrPe=Zp*Nqi9@Ih&=vJ_m{!$w|Tlb9Pe17^h29CfW zptF|{VWZ7D5;iM}B4T}qPNEQL5nBj|lK0XN@8R}pI?OstX~=7y!m(T1v>M$oy`C(c zqZF{ot`Ae)ezji_U@}l5w9@f-Z(TeG$j4fDChNaoyA~TcR%BPP%{D3;oaVKlNgc!g z;6anf=w8@zHy@ptp;db`-(_mo<9ATTEP0g>sZ@w4p;??^TF`Cpc&HZ75}YUw+)8?T zJM#2-fe1Ag4HkI8Gv0yhs-!{-70fm2xy?ICJt|%8bB=!cWijv2`h#xzg8rhRKsx{p zwb{SNfc03to=3?U-roz0gc z?vBAOmCykqh#Lh~R7ESR%5vNEYXu3xBS`Gn6RjVM^bD}p@mSh0>fGwfoT<(L%N)Uf zNSsE~Gw3oN8u29(z+!oQzXl%}nA5r(HmHA&*8Ag0i}{P_yN2#QS!<)w0Jl6xmZL}Q z3GC}ryR$>{=$Tuu=sd+|B}vxEvWK4Ht*zjQ4GN$|3r~cGx{20e?SnPYpCyq+!1OMe z8`!xQYl^KYm5HfdgZS_1G=rZr_8N`5KAgYa%LAX@vBFcN#fi*4>h>YOLvd`QHdU9! zONyS#gA6p%bJ5B!zYOQC$zC{8FyL#BT(l)6EX3xC-^V zi;mvmK%^R@_T2(IW7IQgeg_+6^{Hg2OWHkEB@kSApQt@OTKgoamu8+|>;xOz=q=i8 zU;Tb#12cSFIwyv9!b>GTzKP)k-*vCT!pbIlQKEyLuT%dKIs-UU@uLC7wnL;cdAz!* z+)dAOxVhlxaz?mTvxdA+e3o&t?-BRJt`{CX+j3eiSrxK}CQNj3>#dj*D3h~)2>XsK zcE`bZ$XV6zQX#09TO&e%DF#E!tlqq&P_jWpBg9`ZhmSzs_4D~F{C!P6L0_Dg zR{0L;hJlzq?Nr#N6Z6k)7wTv03vL>0)*IuS$sD5qZ!79tE<;VVfM=pVfMwh z?P$a#HfsS}x4!k|Qh|sy3FQ=Rn}9s{D3>3N>9oQjKV&#$0W;E1?EAzDVzG|Hz=QM7 zR`?U5(TGO7Y@t{PUmF3C=o}(P>{yU!%i}$9ILm?j>BNua|B?CwtpP(p_R9B^lZJi(;0Li)~# zp*b_VN=ii)rbsz9_MksCoYEDk+6kk6<;7_YgY=!bylMZub<^xLr%su`_*^-5m`;NZ zORIa?-9FPacg{42n|mSt^8vV`Hn{n)i$5@Jz}bufq04CFhOFx4VjOie&IY65h%SfV zVo9_0dfqI5E{kA*e2xO)cA5E-h?R$vmZxF2e6NH|=OelB?E3)n2WA+fiHI?LA`j+= z#Kmd?ZYzJ%Z^lLpaY8Ft#aqwD+XQCH=ouRG(GnxOo~VZUTOx;L#uD~h=hR0%b1hG3 z!zpiawbkj6|1b95GPexC_e8+76An1pjwBv|_6o<(o*JB5^~Tj&cs89iof^DW z8$x~LZ>5m>$Sir5ScWqTAG_zU8`b-TcK)uEc@5H0Y^pfI3t1f`2x;lmO)M!BmB6P~ z9HGF*#&Z}zkR_s|3%7E%;Dg*1nAJTeSa0T#aCOawY4g!yscern_tP%I&7^BDAg3zK z*~`|?!&K<2fk|0kcbickaK`!}r*zBG+N)LT>^DEp(idd~a+)eW1c*VF<0nflFh@EnfD9?Qm}-9AaZ|Eb zY@VT-!uESC0ViVNC&2|OL1d^x2_r$L)sFlyM3gFbsQtmwFoJxMfwHj~K-E|x z$b$ss^mG<;0*=~;6g{G~ zbebb!(l1_7SE46ae#b59$&Z)w*qjg*v=85taQ#Tdqzno(@gLOetBoA&9h`PB9$9eW zo%mFoK96%_wFPmD-&e>b9hPy;$ts*Nh%1UF+At2(}8vTl(vJS_3EV-gKFV28a&%!BMqz!#hb&`* zvpq>1?oRcybNk_!=jRQUmrku(TlIu3IOpTf(k_n-a@dF7|m5%U?s2y=E z2Olvp4SKP;ody*j1P)OI{eyI5<cs6scLz>IH3Jqgy10 zNX1v9%i(61wdVPq)OL711tnRcXkJ_q@S^n7l%OyB*dm!D8R6{w&O^LfQADVfVhLb_R?qe-%n|jQgdjT^qlhu0&$-sEA6-XVG5| z8d>>>`L)u0VXEv zYh4@f?@0*;+y3gQE7RT2dOiCLsaG8p`ozQ>ouxdD!%y=z=1R$Cg@SPwd2Z!;+uOrk{Mc}K)5YJawb zMm_4J*B|Omu^vES11boGSA~KkwJ4~iw)IIUa;#pNskuj`oTufI-gJ}XLGpQYeYv0y z9pL8)x$=zv6Q|2H7hUElPb@Fm_=f)ebZaL~$#pSMk4TLbs7I8j;Pgz6!#@3tpl5Y8 z5yiDaNh4M>k40gEU@{c?XtIc=*{G-w<_dN#+H?j9t5&BLPy<}5mUHs??|==~LHU(U?!?wGikvLnoLb#j}??Z}@Rs|9Uv zK-Zm)6MU0IU> z$BwMB5KB8xZfcWSvq+$AskHV1haAN;j84>U#w@nYz65Ry0_ zp(-6s+PI4&eEBj|j1!b#yTge)Iv4l&5AE(h5}G*@bswL~np(VgV6*Au4-;nmXS8L4syl8BTB(K5`u(Vam^Y+rtJ(G!{v*jlV= zguZL1Xc1D`^Q)9Rt^muoY&i+H3 zSn>f_^6a12EcV{Su%=M<+~{;fs0V2+*L@r}*SP1{n$Ies<_j*q)I3~d9=Eyvjz-() z=5QbDP}?9o0N-%(nng1@sdJp9-1YviZvEot*{Sn#D9eVFy_Sp7nYf4@BsCJ_(`Vq(QGix&|3E`G0yJvYC7 zkZG77bOtTkDS?(Ep(NBFtzUAR)#MB;7VZa1&Z2-e8%Bn@G#Pm*PH7Usfb+PgU~mdplXq5JoJl4YII*Six~- zqIx?ExA@K|4B4juO*+N#^4xq<*FXxhFQgajZ2S4NA)kTI6!IC0xyfe#)_r~XFg{c) zlDA8CyCL=}?&O`0@YiX-r}4CkGUyD5+07r!((k+Gb!}=-zDN3fi0!GB%F(tZTBt>2 zE-@Nal=s`QRxMjuV&KjFEe+*qAO=RF0lUeIs6qXpLg8Hnojt)Bh>jC5smDx{Lr}oS z(%Wk|3=xeVqdciK_w;B+lSgNfd~8YUlE@N&e1NsSH)MuO^1E(&>g1)G%Q9uO+w4m1 z*XqUzG1BzwCEOpQfUWS6%FQ701yWxmq|3tThi-^%py@jq+*8j|U5_?maT>KS0iJGq zppi!2vv{D9#`J0Q3oZxPRUznFOzd)8i|wwtTp===HL@6J;KC%h)%^mK+Zj0+htr3% z9Zz|nqAQHE5P<~$4yfu^lRt2Jqs^BqQX9&qYFQA28UUr8h73|Gq-hs%S}x=(zRj8s z-g#@g%w+n7dklwNnTyTOlZ4FFm8cA{ywBdB*HVQ8(H&8+h+yUBsVcUf#E7F~3Pa(L zc2697?g(+`J-ehi#mXC?8GEa5`sDFlELo6`S!sdL!KV{Pn*+X@6--dQz{6zmT>E*+ zZD^TgGmK2L<*oL2Sh`SlyE{l;I8~`b-cL$YBD{x(%^9U%FzfuH&s4&G50)1na6Wi3 z#2uH=Ow&0oMbqTtf&2(-PM6StmKeU2+u|6hwd@lSP)73=SqyV2-P&~0_#>GT0#2A} zDXr1$76(1Mz7>^@l!v9TBaZ$4cyGukJFE{cv?ycB5OLsMmTZH%Ez25hx8FFkd}VUl z6w8*sRP@Pw(d>v5R-qLe6EDoGb7;`^+L z2yW?n_ti~FgO^c#3qJkL$?tT7FC11cMN>@6(?mX%$l0$fowGRNigBXfyI9$;U&w9> zU{Ca%1Hu%C%AQPYs(7crj9ghYqYA~N%W^*K6Ia=z9xONp;AGFZq4tr7!~Q-Pk3)cY zb8J3@5Z0wtAIXzw$qKIBDW-0r)NXuqDGpyOw$ao2#bxq{{6IP5z$#>$ZM`hFe{`lb zpE()#s*OtLVl2HDex_OVuXs3>cD+$}L&ZI8C%9bS5zxujH4s6-!th2j#2SFSnn^K8 zIw$5z(Me{Z>{LI7PZhALQM^)d;FZR7e3hRmC(WQgD5R(%fKH-YbLMleP=6K^MWocJ z6nH;WM|Lk>@*BG4nCK z6LS7p_c&mF%}Oz_Ir>ao`s&8iHs|K^mnQwi`Z6*aMFA5PEDvsZ%vP+MI+d|S*h+L% zfj9oX8Jz9!jbcdZvPmUAbbX`fsUZ5=)KWejF4bLvLXxTwi>ZB~6+>%;JVMLgld&~c zj4qxcF7is!mBj6sL;}0MXw$N)f%AGSqX|lUhpcpaXyx!i!)}O`NV!)+M~oI%=#E`m znjvLXdOkr2b;vy&taXU}C=hw7VE$HaB(JAd=8Yl5;Hq?q0+X?-6T&2QJjAh1ZzM{3 zlTi^8s+^L*`HlE`wQ-(K_K0Dm*CEanir;p+=NaWIB^3T$>h-hT#ie|Yk8`euab zkB#m$Jy3wiLARh0*75n@<(+Yp5P&;O5}XR}o7O*qL`TcDX|8&ojOM z;KZ{bz7T}vmNZ;8#lfbu5arxW_F^GsnkocOlze;w5Fvc3=fC}-L1>B{KTU34^gr)? ztRjo9^!XtQAdGcnu$h9yoU`gyVk&ofO2Xh}c5J+(HWat2Er&GSJ0WkS%%coVSEP_3 zmWZU)Wae&-CX;spMXGsmCRH2>Q`iA(Mm>1RI#&&De`mWYX`p zX2zhb+}H!h*}t2g9?&E8Btp6@QU$D3EYHLM3Fs**!{F3P+0tkRXq*WbqVJ>-m6h6N zRuvXy{aIAy9j5Q!#ZoGY0^%5ecBQ$XtQ)P3=HJ;2zb{bQsu7M#UpMKNueEixK2TTf zHoxuo;5>4Gs*1gz;o#)faOx^-Q>%BX*oR&Xa#}mG0JHUbJV2$h>SI=wKaQ@9JZ8G$ zQ)Rrs*Bxj48;f5@!rHy7*#%k^aOX`>rN~)cB_NkcHOec4Zmwz@?c7hnri>pa+UsQC zw0xZ`Nb{u2R2I_~2UhS<_?uy}XQ|PiZDocTt#^3Dh-plo)hm=Hwhvj+ z+*Q~OLF2RH7@C!3zT3NpcX-Il(VZ2nQHSinb?{UTn&I%H5(v@ufvM@rJX205BfYUZ z&7urzeA2K`T1!n3*#`ydZg`7xR6AjJx^equ6Hc>u{>T9>8!!}l1)C@imMb*3QDlgZM?i{%EjVRX0O0hP=6#>VhzFxhFaL2?xTFr z!RS(_$k{)zS0LCbNE_0q^aGHt2Ib@9GN z!7+h>2DHAilIZ*tMv@3rG9%NE_3%aRW#cD#bbt`8Wo$WqjI~}Ki@7@TB;b5+Thw{N z0{Y&F9Cv56LON1S*708B-g%3|7XEyJ1ztE2SWxkH-V&W8Rtc*EJQoVPt4guCf+ZHx zkVaEChh~t{aeebPb~5YVGB3fG7=09!7VDV}I}Deykt#5j5R8*^DDs(aZIS5395Cza z3cr_d$xG3XO+cDlp;{$SVY7p!?*JN0h-UQ<&$LP-Tc%EaW!njx|6T?#)e84|FjGa? zDn2Nm%+DndgYlLtTGT(u;)@>vO2#|A3HLD_!{%q3aYDsM4*AvW6F5@Pz(>mTXCelR zz<+_R>UV+n`&_Q@7g){S@7?*2Vw&J2)hr>NWYQ6&STns$wu-o*&uE?dR?LBi28%v` z1;Afw{{7gosd&nnIAe@9>Fl75{`Xn(Kwa~{pt4rmumhSNoT;dj8Vif|@4p&2D4$dw zszN_`C9Y))W~hY05(g6A`mOX%mgG_k%69%eCP~+~Yyxg&#L}m$8{pe4bRS#mBix|79jiqjU0={y&4yI+=hklxQ4%NIs$5m>uq`#Krt% zGKB4e>Tz;-Z(|AkKGb6)1MMIN+*r?0zBpI-Nfr`2h4U+ioAkn9b;p0f7l%(cs=^)% z=r__0nDJ`8rB;^HJD-U?sangQYdVhdy9V|Wv z32qv3@iRNM+2zka0*83FyYb2ubnXy#gzC5T(mNnH)1nBSc3Sn*JES|TD<{| zj;cYVaIcg?7as<)T;4SJXz~q$oXNMH9DyCwuzy0EkXCGnN26}%tqjhmF;>8 z8WS8iX*C7tEA_riA18(I5|!t30Jp^e9V^fNlT+{EHs4~mBz{wE`I!1pDk*9bHaDeL zxuXu|D3QROV21whE>B;Jfjr39VuEO%wJHGiDNA;nY@?OAKWgc{b)B}B0vd_G%S6Er zGr0l7KHYtWLm7k9ikT?^YL&n&5k0c2$z}R#THSApNGjAfeorOe`MAtRc$5=Kn_y1c z2~Rg+FweUV<>MPNoQ;z7Bn;1J4^L<-gG{eJ(U@gR=A{^NhEKmlRj%G6b&YLY{OGwa zqt`ndUOd<}(_{QKQ{yz(*K>0DE>^k9n~tMUxb!su!crEm0S*=_Cp`r^a8E=%!fWf%kIkj`;v3S&5;_tAc48v{qf5_oa6R zw1@uWJJS|^^+0$oAAkf^)UqY+Q|vIhZ%}3-xfu&_4Xfj>mldHwk4Gg5Vgs+M+P@-nbkg&8yJcoNydY5I$d=@D1lQCX&b*2 zON(rY+Vujs0!GRg6qCJ9qOIIkLIKN<&8UF5M)`pyR~_i!jYjdKgSYoLC%B^FEOQ(` z6jeZ@)R1c`0e{HJzgWes%t)3u=^>U^7blhnG-aSo_(_+#^5HnYj7bk?6L31)cxs6t zrT5Qtt2I{N=iDnJ;VJ*S*i4{(Iq@Ohf^h{Ja%5vOiqUEn(xuXMa}>8BrA68Qi+oy& zY0?(E4tEs}-E`3;RrD*Zx@#@7u2*L&x<@03NJ1wmh@yhvhPqia z^V(t^o?0x1+JuHSkt>TDf3G;2RkaV^yQ%C>V@HNs-Ow^RQK;8@S+-&9P_&q|(&Eqq z>h-+j&Px$g+Hjf}X{TqVE$A%P4aNjv_Q5Es=&x$ZvIHnfXA6IUhMjHkylB!V%NvK@ zXT@>I^i*BUI(9Y*%HZU7;=n{CC2p@4o!!Zjo{y)hz=)Bc0IKxj{@hNEy}?%soeYGW z1cCNX8-C$e%hlyQkc~nM3@oS@A${R$X*>fA3LIs5exvVhCuL$PcLLIes{?6fCI*8y zX&&B}yDOXTZy;JW$30{1UbvrP4UZKHMtMG5I&5@`3ZNy^&-)wfm-$~j)*4BMDXNo= zG28-~MoiV+V2q-%Tl+xnH-y&alj}8>-{v?nsZ3@H=iAocY$adwi#`|{MGzQJm}w09 zQbfc zQFo8lX{^o)jX@uz(#&iI=uMT~l$s^tC}|ymFtOn|y>ep9Y2MJGKYXa~h(lvQWq5Ed z+#|WeSo#mnaW8E&jX&QTNAOBS?&ynM(@R6py5*J$W~%tMo{+`TILd<7H{bb2*Ri!u zq4o8@?De?ZxN#h7X6U4zDXd<;gpkP zQnHRnGi+)9U=K2lL3QbsN~z(@6cb%OMNgl~QW-~`D|W`T=a@^sB%}U04R~7$fi2aX zLM?X=8{jx8>zo$La1!cG!D4HfSz@UHhE^39d&{e+Q+Jaf8^z)TRQ@oD0!|1D>;|cu zH|xj860qEK%w=Mn#9<2>q%{3hV#ay(|nc9eI!7AGquIZ+o!T)n@eH91t&27Xc2BQDW zy|>ALe;;*6Ed3+J46H^TV{o9$WFV^i`>B6If!_ge!q@+3jQfKgXodqrQYx%G^E*QN zy`&?+OWJyg&-mwq{7yH%jt8Hb;xi*rziw1dem!V5`1kCmB%1%?5}zUj@`uJFQC0t> z6FeN?3@Zl~%Nyl?c{5^Qlr_VvDu{kfs$ZGN6*BPXZ@2hP{mYv%fg`&3icG41c~D94 z?~+gwZNKNvuQw|d1{T*;29*imrvLR5_+NAf+NuKq0h>8~)xW&i?@!Q62BA3Ol%kjK zaYPd%HGVpo8y{13hV;kSFA!C})jIInqoOsEW`H-8LGh&ec&Yu?GEc1a0ff`~hs$7^}4>@zCQp7wH$ zheN%i`8>eIEhz3Xlq&UPj{_lSAsjBpiHs8=e>I(iW?ahkA2_Mz3-BOCfQ!54E01fj z>=ur~v-VTH6!gdTQY*W6+ncZZ&}5+plO8>l8kts-<$L(>rKy=D3cc5a5m#5uF48XR zT}i{38^hMF9LTF#p1CE~t>SlQp#L#&4b#Afw=eJHmN-v}{Nml3kFPkwS7SS>?HEC& z1(Qiy5@zmw!1%z>CAKlHKKVHsFSr!5Sk4-wdbY5qwT<6oDHK09%s@MNyvBArDb^W! zJI!X3?uGtGAsd6mi;sQD4fJ?6G;+82lv>Eu48%X@1T{WDs{DCG7zYsl1r>lk{Xzw5 z4*#2|;BM2Vql2Y^jPmjH8`6`XpRXkoy!nwy;KJ(`NUVs{4ctDS7d942C9T}XBu!TK}utkm>K7GeIWnhLdf+7ersrd>j zSsb>bs+GB~O|Ko#=nGQLf(z$drJ@q>r)$tF_)Ns-MaBdlvLb{cSb#(|x6tdmOvIn- z>a`ts-Pm<*1cvYZlP4%XGOmB>342|R48^2Xmc^h?EaB#}AaEO6-@jwI?oEO0Llxr58UQ`YDStU6qsC_pT$+u6xI>?eNaJD4E@nwKBNS^;7U4~)y|4EiWs&|lW;^( zge0*e#Vp<`m>Urb8IPQ;5E(p+2mo3c6pEAxhesuGy7?}JSHBC22oEHHmP>QRNkKJJ>-n_jetRx8^ku_c{ zrYJ)InptbxgEr;o;B6asVzD@5OX8+)7dobjLhj}i!)_l)d?9~mE-U^vR;}3*6}V{# z_MpoE>a4I|xrQYsFvxyYD7*K<-58DYs5g2%gq$B?&fzFPld*v>>MSd8NM#}JM59p6 zNTl^u+z}xG5x(ki<5F-YIhx4uh&t+^^ zTHT*8HIgezyq=`y^niyN);&zvuE;z3|IaY&rfV~ut(vBTik{|?NrH?A(lgz<#SepC zWz*WN!0ks(50_!Dvb?3Q+LlJKi9_bs^tW3*DD1ql$lJGTEeqW0QfhKkb3Su;l};Ku za0!{%Zl`V%XuY`bO07Ld)J4<#n^GK$J!cU13z=X6w?#~~TF&v>W7TrGqQht#eN4+- z!QKt*mN@mG7#*uGnTq_s8_}Br2dSs>vB>(xi-3JO2%Dbu7N928JC}B#>G!uqX3hq> zSPFQI3)R;A8ne*6HQZ5~9vzwZA5Fix-XHlY_w3~gTH#c<)&IqWRpU39g)>$*#d-0| zfqQx!y^4zDMQuPgN*K|M`x}CM1w#zcU5mx73VWq#tip-Z09M$p6nVC0t7Fe6G_-+y(@>M zM0!32WDyxF&++B*?%d{mE80(PQtH4zxB zx;ehEpE1_vG@}|aQU~CpgiAa5c}~2O?2wR3_!8nNA3-Mi+QnV3oMcsdWX7xV7byXH zt^Xz^aWka7)eas^*Z$lVVSSbrYsL;vC%L|Q@NxFinx|3ii~HXWQmjO(q7r*zGJ@%>#BN6JxrbbkDc%z9K1YFkm|n{+YQ-vr*sTlT>xA-kqQ3kujF zI^(!^qNl_5u>3Jmfc|9?rJ{eBO0~nMifw7NLPPV+sPGR>daUoA%@3i8U7N5|&%7t- z&`y=&OO!Syi>@i`9!t-cWf=17&f)i;#4vH~qHJ7yE!}FKFO<2m z%2v(OU-nV<;S+D*PHuGN2HhT9X(nhMXR}m>UGyV@dru5IfoxOXT8>;ZF55+6TAu4q z(nD1Y%}7W}4!@MXa>YheRBdE+?C7!0 zSR>N1c=waw2q(_o(1J~vD1%vL&k9*3h?PP)V_X=kpOcwnftXhPya6j_m}JtgOQ#WV z=qxD##j+Tn{}&9I8g>a_KV`ex2%)pWWu%mAV`Vk#49k0MnJ7iAYTOvHr~)D_wO;7_ z%Db7yVEttNYxL_1(Yv}WTsbQ1Il|sya8^=7#HjmS?dzcjGPzz9VKvflTo5-KHt zQqJOdPM2yu&arc0K{txdZJwA!L{PY4_;&wyEdbdu!2j56yGCf=`8)v*da@jSoxR}_ zpBR2VhkI0Fs&8{vXTL&}Pu}8P+`NK>*SUy#;*=w^3SNFbvJdrrei}lor2*LwFof6$ z219}SGcK#4;%iN6Q|M$e@k}y?`PCC2V@$cstKYX zjo-W@hf5SVYzw8gld2b!vo_n#XJQUcaubVn61%OStP5TgJWxUeI&;+Zoa@-kpnkJm z{_j|j(=QgZUA0OQtkNofpUz}f#>l$nib3-ABEo%ZZM_a~7JP+wj9pPXV(ex6G{i<< zo$Sn=hcpjNz;cz!uX*D8O_{tMMVwHs_f;2DsjFerPNlZfMph)sCkDu64t;0q?lU?S z$Udf?5Fe>qD(bXoY&{C?T9M1@lq{D1W=Pgt&fl@yJSGx8V%G&w>r{%(LrwBb8#;`y zf15{rXLChtGjIUv>^I452;y|QK}fby@nAGeZC{)Ck*U=E_8X+ev$p#LZjq^=Os>Wrwn3~xViUT zwwSAuT=%=6>(3eLY%7V9<&w+&J^=PYabKofD?dZf2czDJ`ehhJ)k2n%IgaVWv22)g zT9Wpc4x+n$Y-;}pyrg>Y123^Q{f(CdOMl{}0T5;7&F{wL2PD9Ku>uH_ue~_|I)qpZA*G=B%?zCHF-7;^TbM!_-jINc)G*1MDybm zQ0aD;Dv>k2w(4)9$YCaVgkx@J&J0AW59t0T+i zDt`q1L_@0SAgpcu-Fb8G0zfWZA%T?kYH*Jz|Jn0_QI)=va(XxQ&Mis&ONSqBIvp76 zoL_FbHQIgJ8`~>^yUN=%xkk1+zf8rbncU@NHkc9m0y_Z;1U6UF+Ip z;geAYy+K+JaUU6q;yfYh8rwSVC%Y(u;LEg+-pODJJea?Q3W{$)$rKAk;&wAo^43rU zwxyZ#oRqmj%ZD5l+Y@?;Dq^3zxlm~Q&DAv^!-{0!xa3uR-lA*_L8moFjJaSpE$f?@ zJOJ!O>Wv%xM+ZLZpxs}V;3@*&U7Xo4Nuz$n_EZB6G6n;A5m2X8&h2yR(j7S_N!OY1 zQxil^^AxIL5vkac>G1JHKhKVQp42}3W~b-#7$}Q+)%kjo3qxf&t6=+Eiv|Cf11aY! z=>%|%lb;0c`Xf6dmgRTO%jCd?Kk7eU_<^)w%Qb3I=GSTp1Nx0qxAPSjrQ0-B&$|~e zO@0rfaNkMf4LJzIvnbvK(-x{L^3AzuX0e>bR=~3d@#UQSHo<8CLxNs`&wZaLev5Ap z-~KfzzreNMY^dyo(!DzCd`7FKWfuesUFH6{G8&Lq<1uAi(`=uLU_M1& zIz3o~P$DGv^5)A0X+xRmr&^}MpoaHs_ZP&g34?N+0_B(kx2Ker6!k0T zT(C{@KTT%n(%Gj=qLGw~uar&nb@sXq=h}c*0j%-sm7Vy7aPpWAt2a|PN;?$rr^KPv zc{bU7c>}SNhy=O}GPj{ujcfNz-Xgm44ik5lZ+kZ&0d@x~Um74=I`=EcuLiP)-%Ru~ zH3h-t8dQMxuvDBMn2y}`UbfQ2Q|Emh!pIu?{-G?{wO;-8)LGmHF}X>S9L8*ycmA;K zHs$jiHs=kd4$7-|k6wOtizVTq60>+|^D4f)K!RIpvRmWTjv>JA$`|;>^@cB&UP%J( zI*9<0Z=kbVZ9yVg_WigcF+JKqv+1D{7l9GQC<@A#{%m46HJ?*G zQ&z%w3cBg=;Mo#pv`vnSooh`?g0;)u?}{M8W1HTf&rh?CH&(u9j78?gNy4{f(+vj? z)>C$l``cBD)|;3MIF+4jT)(I7Tj`6<=}7$Cd{)qXj&k&e4-64?AFUquq2bh$PsJ@|o{qiFBU91) z->=AKi3M52l>ZuHlkM|GwP7V^T4aP6iY@lB}S@v(srjnWJeAs;C4MX^;AhmQ8Ki^B-3BdZ284L z^AZpM6tymRu>pF-w``TP(iwEm-)M2oP9(N%YfZKkadOgU@g6{+Ez9HApZJ|KKL2i| zQ$~VQtz$+v;IKE|`qM3iPi*CCVv%U{Ia+GY`pu%?2KP^{3GM;|~_5ap)rPK`e zU42X`{1@L<{=fBIeW}3iSu^Mf3-8*EL=Y8(+DiK;`ojMw`bz!J=qt3_wARq!=s^(q ztgB~YZN&+7aIUQcyIJ6zMc@)EbZ|jC0mC)}`+;q+$b8hkiAiw8YXkc3nV;10{zz4w zgX9l)Q!eYs7lJa^6CErhifBA&L^qw8m2b@79<=Ep0J{DM;*!Vj)qf zLJ9rB>n%!AEmg~3MC1S*n>$^L?AwCR!r!(h_U-@5_LMjA+xFyk3?KJu&clc~IplVn zuuGU}x^p15kJqt+^lMO{TD(3>9*g-?A|N$}%v>TX=F$%Jvb2V<%n->~UJmejCNJyTN09`q~- zTCdlNsA`SgFVbC3YsNPJ^Y;hVrT6M({Rpu!^Do^#dpc3CxY1w4a9Un`e{+4+dvk`o zzoqIZ+WyydGvp~gjkptAt->t3-9A`)=$_z-ChRgSmy}%F=N-9=(h<=)<%* z$4Ior?8lg;#EKL>`4KuU@PQ2ozUkOLH-Mv@p;SVp#&b0KkO0vklT3y*eFn3T)9LE! zIn$#JNOb}z1{|89en_j)?#V2|oyNhnV6ZH>ArM7I?B}V2Wl8mH@69_?q^jx>?cyTl z``Qxc(Z#>En}HDC!WX~>76uG_D8M+ba6D1tH@I-;_OMfZM)BO(FN26_bj2P;Cx0DO zt;X>P)!LnC_SR$~8Y%X3NkAXp!4CqlLI>tGCtF{QfxL1XE7+&g6x&36s49ug-3j*T z^nw7Njv>9viF{Iog83@sIm=`y3vNhBz*A3L{2%{B+IxV==(mIw{NOXcoNUG(_98It zUqEhJ<7pq>bv%|RZoP6QrCe-zA59IQr`N^c^mVb1q!&<8d8rw9DUuxvFuFgZF_Y9j z7V&=>E3@34zFFh2`o#3(o!18^nib2O7!p=Grtc$fM8X8YQPFE=Fk@uyc%Sh*=Z^am zJ6OblN5#>ekLBm=`u(5(-yi&9bU)HR{|lpJ{+TE040~%j5BCmMSGM+%%?5EaDv1}6 zpuj~$QU2r>zrN7`xONDdqcqdRi?yx<2>&mj_i?hq$5-93}smQ!I}uV;*nOoU3;#>Mo^ZaIE!Z z|6&jJO25o_x}zo%+_rPI)h%ihf%A_CDFR!~j95gdsPRJYCI82zAx7 z4{C(yas~c;U?%Vb?;QurH0ou3T0Y7Xieh+EG|v!=t^{f4=r51Uizm>P$5!(kaQI zn9zK9(|_Q^-*w-DI3ehvBKQ@X`(jRdEhtq`^U&c6lA#)BktV#ij?dNh?r*c|sMT2r zvMy|;7}x+Kz$ zS0vfDTIamOAM(fNn*}z2C8i2#3+op#NIrELEFAtBEV2}#XseD<0waXJ1>|sp>UW-l zSb23P{u472At$?nUbR9p7YV7wt5HODK?`oJ{T~2l*|o ziUoOQfGzaLOB^i%s)FU_b(%s%caPeUltCv~Qbk-&2U)uIPa5wg#6qSrw%bKVUXY>< zUMnd_YJ?M0aXLL9d?PXYgh_@M-KvE`NR1WCj!d@h&GDRmd3$y91t+)*ck#+``X*4t zOS?A~MX@X!w8H1L*a>L4#~lD!3Mq(;Svp%Z2>I0G__J6=T2KCYrh)-YL*$mtV#Tc# zRx9;fNB@z}jh0@oprFMOVS9fupRHyTnwgYPkUzNAaF-1@B}21VWR^5Q9m^R|F-IFdSq* zG+_(h<#f>K>|~HCE?`{WmxWLUTkK5PcwyF|=Q>-PvCK#=YAS}#wXR+7&iR_37x9lr zmBRmR@Hv@6$tvyN4~M4d5<8kZ#u!Vc*ttx7R~SQ-y148nY_!SMl(7l!L;%bg+-0!r zZaF}wVNbX!0Q+ja*AOWA3Vpy~FHnlEhA-+kDxiN5!npoTNwARY6|?^Ln1G0{*16%s z*gmLRN9z&^^(T(_CWY9&PJ12|YNwh)d@%mB^Y!;{VYBwye4aivb_A6r7y~BtXE<2};QI!FQPX!{-+O+B*^BZoP=?X{gL2 z+js;a?XW(#tp-xh#4ERGy8IbZ8uY>m>Mf6TCk zvoSk=gwtFPhU!l`<vUx-y)4GRn^Nr{X8%!{(O5go#*drrXwpNV10#LQ1 zpHwYK$cDv{fbAahmrn?Uu?THs0yYYD$BS|*FPzZk|I$HRN~oqnN`dJ^sm0U&GL~awp#zx+GJ#p zd`X4y7aW~xwhB|FgOZc|`3B;%ELhhY|dP${Wr7(0-@keG-c1S4zn8Hfk&`h^{H%?t69pk+80MXH@cZ>2!kUG>~bn0+!hC9b5t zq%@XScu>WpTW{bN%0-vzfoqS!?Ik1^sWX)lj;^1aK`se;v;s zT#FyfwYYw8t>18M(#b#t4A;aC|A1>^2IUvGDe|}^Kex%(G~l}@jStoG3l|NwR)u}B z*dRBSv83S!Pm=hFG{Q*}wYMg95%T%yD!G-uVSro40ejBL!#BBDkksY65~wB%6a?wL zn_+Z2-si63a`uZeK6*^$#62Z8>kQ%^)K@gd#sX(J*N~o>_3fc_g|t`5YaB4omdvN! zr^+n8S6l28iTc}RByWu~pfDX25uu$oHTDU^+rD&kG794O#D6oe#bYueI1bLbf*AM|TLxWNO$-AVOL$RwA=nA;kQUOwS_ zuIObbHAuQ5FA`QY{z`LXdxDF^UEW<*k18}0 zyktJ)`j9$jFmyTpom2v&D6soYyZe0F#aks&WGCV9qfhhl_yPDIfg}i%AO^{-@dT~W z9?G-u?yySjJ`Ak(Wr7(!sU`ug#vXN4thPMwpm=RouwN_EXj5?WVLb9>wHZen$v*z! z6a9q+oWlln>GkPfh^u$cFT9kyV(2pH*&$0Xj(+fy;K?OFWd1;6S0`3Z&F~3=zl6kX>R@%>VyWosFpR%zd(LcX>|xfcQfFzmej z&h2ZrS5E&@A&Y2yV)OQTa3NH&*17Gec(Lzx?+Ee+V+!!1O8PGNzZOzy`4?E39^D3MIBml~Qw!7TldIy@NTPF*F{#A`L zcH+u?_ly$FATv#3^!rUE0m(OZ>LqKTnxsn6$GjZAEFLA8W=r_^t~TS{85u*ZD%-`A zEx7jOqXqvM4(oIs8KFdCv?kRFiDn$cc0A&HZJDZK)GC3Vv2M_8c?aaD!Kja_LBYaO z7bM=X;h8H244=wm$A?;y=KwqR>v zMBc;{oAWV-&L!r;K+zhfIe4y;`1=H!O(aIwP6dsJNtYfxc`&usC3$u72R0;ri{zJA z8`-Y`i0DqBCR=f@|WgFOISbiU5{cz&%#niELdQpL4$-3X;s)6j0>&>6xs=0;8f?LcO zm~Pww7q7G{0g6|yln05L`>f>X=gy}56#@IMP(KkDH6PGa<#YO3S6tq{&i(u=rR;9c z4?Y7KRiGsm{(HL@N~Z*nr2%m=bMA5jg!ID(p@$|4{m2J-Kh-8prn za!lC-;`tl^I{2iKt>gG`S8LPR|YxWqou}w71W{L>op50K$?Ohw~ya?w_{kF>-*FZMh z;VdCln4#~mf6t|V{To&tgXOQsR&xjeV}KcsF&5h*!TaLX>GG;v7R^IP&_7|7!2cLl z#gk6Q87oh$>#J3TA97bcVR?r|a-nf{zG-9u)Ya=HFI4NSXrQ_VN~?Q){*pz@UiU~x z9446kNQayj*s`~t`|P>e=$v;MhaRc`7jz)ztt?gLnn{1B+<5jK^>0>lNMOS$93BspYAQtw|T>7y(K z?qrHBXk<~b2VEQS4%ZmM!E9Y1U|gyb6f-&ZN6 z3wiFOR0x2SLHT)%J;h4-A~sT~Rep`WjqP8*@@d``Sz%wUx`vS;bQ7FfJ(vfVFOsMg z-<~GyvPBy%CWJ{(@B_9gY@qXMN;Dl+EXNAY-js9CoUF$sS?*)XaiwDuf|`AK&;j$^ z$g4BA?d)frA#rHy#<<e40)BVTyAVCw(cl9PN&?1&&PP` zO&QN9kgwTDHInAjtwo*uaYnpsCp3IHK;2@YmxMeJgdwaiKC);B+4Pl^zk`Kh^qqF| zT8US0i)FkhvXQuFzfDudFni{c(B9%ZyCg%0gWsO9EvA4(3^~rLU|$hvzQt`yKXLGK z^!$`nuQRXvQd}bpA9Kb!jDA#TW3F8r+%jtKnCRF%Zh zg1B@K+)V}JouT~>`p#MsYdBLI{iN?~(KRd4ISxb9Nu=LWBTbv&a*|C5`XsmLMQpu9 zxzoBm=gn=RLrQH@s4(7MyWbLhh#6jDEiib7pU?)>5`fNN4+sLISq8C%T^I zsjQAjghlI7_kQJK$jz;kD=l&!s*EB6ks}m}82s?%hFc%8#Lm5>%sS~j|D}uQSiNDT z=+gOp4{Jkll$LIZnD$tG-2&E z$C`7@F+Srv$C9TpoWzBqx;$#-a#nHvxWWuI_)YY(^y{gh$)$-+fpe`H`$y;Ap_{Y< z=-FEdhvBX&)A=)TEgf~o>}Qx&WwAjyhOSi8-YMDldWI`4)ntV!(^ogH^Pdx5=Sq^E z=2CNBA$7s2yBwur$L5EOER-GEHK0!TKKiOxm-B@t%Fu5P|SK}@(^6JnefU>m{vJKMT2 z>DkF2xhbcyN$7s&%hZ+Kl!S&T&kfq$tJ^QTBML9TixTrv>l8a?k|6tjE{o+4<(p2V zLVLESw~{!8=p}l5eL3{vMq33Zcvp^wS}2+Vve~fXELR~#_#GQRk@fucy83ggpywzg z+%v#y=Y1{k{81NDzr#0Vsz>7&FYstgr5KBt^ml>t=t$tyTa!()twsFuDus6a`gYr9 zkD~3OTGNC>mGl?V0x*5V$~%kO@|NJyLs_70Ew>Clj^=sBMxU3&Mq_}ZK)6g_YLC&u zc{Vr>@CHSS?R^cGpF0L~@Wpm&5AT;?5eH+4gg{78VShn|ecF8gX(h~ll8$?@{R4I~ zMh&7~TRN>mVhSrGg?Hdd{yF^%4+~)ru>p(=ub0+extFgVOLXfyIPQC9d1>?XM2%-1 z5gNN5vUyw6#j)BJCIl1Mf>Uh&(qTK*c<3gUV-%#7mGX{$VX@pLo}PM_Zb(grlr@7i zxyD<%$HWnZ``w&|6>knJw9$6+oe^1K@vOKAD2J{RE4owIY@+hoTdgrPVZ7^_ztJ`L zmStwh$J|chMQ3~*XS=NZhV4;L)K;Nn@miI|MZ2s?r}oPlVffbfhv)-CPy=J68Crrt zNei#URv)!9YwBq_9ZzKsta8>|Rp$>A2r#bGZmBd1+Bafpn)78f&J8(P1)p67G1?IU zEA|mISO>@>hirk*R z%c9~ah@CtL@w&oD;c==7ph-D>9B1Vyc#Zn}ofm?$QR zArEgs<&V{pTM?`h!}UQN@B3pd?+|^K3Q3gRS)GA=<6zy?#Pk@6%ptTaqBJi0@C|Q_ zR^VYu*QXZhxbT=iK}@y~tm{@%e6kgJ(#Uw1InPkI zW(D90u!C5NPGF3@^E#H5en8b%CAMCVA@HFV`@bb!la@%)kD|QQX6bD2(T-W`kQB)D z_Z^fYd1H@k8=d5(Qe(mXIy-YH6C0@L@iRshue(Q_NEWoW3{qxCVvB&&Aa>lKdy=wW z)K$&#G-m0HXqzJ?Ws8h09=LFd`7S^^2|oY1gRVU7pfyB&DlZseAhdOFL)AOdq!CC7 zNh+@7Npq4if*ZPXloe{v3tWt4=cMrk^_a?1y?iaBn%?U;HK?qRZ1P!1TY7QNGhT^2 zCw!aYHnYQ0x=?vldF}I3!0n~LJA${V=G~C_?X(e3iyRYCf|dV3y~sc8oFtXUosO3- zf=*PLmd%iXJVQNKI>x65p)-5K?K$x;d-wAKzV>S&i5~aU&BBok=Tu%nzfuzW5Ev5B z5nUqSTqduEM&j)D>ClmcEH`98>>3Ua5{vNH(vg0S3}+CKk`(#$!#5!wZk@ zFB-`_w60g#71;C~>n>pJmkDEk+2ZIE@E7pyZ6ZH^{2A|$av2x@bX9>AnvInm=*w1n z1ZM)&7%H`?!Sy+&q#wB%AH`SIVV=C#7hT{lBL<$l;h)bZU1Gp3#>vNgCHOh2r;YsS1A&lgZvIw) z@uy+_TstoAFK=#LHPyl3e_hz^B{q*+YYW%AnK%Es@c-pEO+Pcw1`SFR&pydfY)Va@ zne>dIv3TH8sXaQ#sk>kvXGOZJi;5z{l4f zF}YGoY(m$`MpY00WB9+IKmmVwdu9lf;rJqUCm+x*EFQ4ho?APma_-8X|L9+WTTAHh zJ*%%yK5fZ2>C;>ogxO{?4Rnd=BCBs&^lK_CzVrRpL-;}a^mN<83qgKv)p}}g-sE`Y zEgp`ps_t`GqO7^h27(tIpVOAw4mW_I=W9ub%lvB;j;+70560n`xt2oRs~vHFr+alK zaDfx)@byw_uO%N2BhE36jr2eoa^~xoHh+Q`^9L(0?pYmzKeK@_O!8@QM@9EOUz17K zyeRSMj;6;NR4t3eMWNg-@b*B2(pz6Bf8k*w@Zq|Fj7?Oh|9sq(cZe2CiV)X{0AXt0)VxUH zKY#OFDTc3^3Z<}o=l+`5c=oFx=Txr3+sN0GrJFO86a?pYsW!OJeTu8U*~cc}cc{`B zuYNV}jT|$r#A{OXUDkov-#jMzXU=|Md|G8Dy!6{nmS0@oJc=23Qy?%MTZJ7IwVIXX z1J{zdx$9cEGPs6ve*6qW{bpN9aVbB^r^>>HAjl!u@xi_?jMJ_zjX0w-5kyzbTw~MfaU2`FgpdsrA{(oFdocq%)D|Cp^K{QJh#WGZIL=l`R z(z0W+I#v%*c_6}jFC>-FTxBL(_!1LYNP0BK*<#AXxj&1R6cI@{Tzuu=RQGHSPE8Os z&7iq40DCp3aMbZp+3jm~5m7#l9R43iRyp)kN088WtW{r4v&;9@FEdY3w+^K?pwrE1<-OFK+#}OsEcC(lKy7Q>8tJx6 z^rd)*VTXiJh)W|8u>$bMu=d3Ry|>l`s3`epNbe(6Uyi8S+oDzzan|-s3_yiWQG0*p zJ$YYjWXhuw+__PL1^7m7{ z)&pF{1f|n*CXS{*j#vQW8MJTIvGxHnBB|0a6sPMbqm_pZTSy31oOn)xTb=4{u_a|+KaZ|-dS6m25(WBjeqXDhz?h64`=pP5Ak4W*%@dN z4HItn7vgq&@QCD(sE$0@7oIrEJj;0L*?6`A;i@_HZH&cey?UsvJSw3{{UiNL;jP0G zdERE2yG)|INvd2hn#hue4kx&R>}ixcQU6R+IKY1{(?l7QGQZ@zEb#eO8K^y3))rf_ z9TqYpF;@K-8_Z0A??%GVirRd&-9pa0F-jw}iNP_x%^Bel$Qf5fF#4IxB1AEpD%_(n zbD%AW34OqHBQZayfe7!+I{sUw0XPdXdcJmpU@7xiNI+<_&RUcf?tg1xIR#246%J7{cr`4Y9kgkd(lU5jotysPWEsXDA@ok1^c3$1wnlF{6 zLW+9u`)QSl!Hyg-%l0uJe}~pE#i{XT956NvWV}C{F18S`F{XiLrrQv&v{mTWBNu$K z8e^12!*HvD+j}V@vzGlSEmS!+=Ux_x6oB^Q$(^e(r-~K(gH5{!yMZ^;S+NGsU9C<$ zoEMsys#(8mzHi_Lzec8thYwCU;oXCiEx@~{aE(MqK{8INoU#LZmG8+MSXG(buHVqrPg>gPFS-B?tOz!u#;72&Ets4$H@wlS5|wf zL%UzYRaR)OV@%BlBZZl6&-wdGO)@%0=C`{Rt&gU&mz67X2BFoe#QU?1y+eDitQ;Va z$&%G$Xu%4Z7k6iWUBUmp-yZ}(K6oThQZ|x_=tqG)Y0Mc)76`Yx+yl8jlz@~JAHx%B z(}d1sOTAeH3K<+|pb-!gl`^=poh!9kz-XA9#9{|F=Ckjq-yrrlhozn30 z0@^B>nWaE%BLzU2q}t!~p$cRS4=$fBT5_kO#bhl$c z3D#NCB7&`MXSzqH;?En7E=o{uIEo(m4TpwwHJpCOafs%mK#b_S`b8UF_{Rrq#{DKY zm$lCoDW0`B*87Im>b7s<>Rv?mZFcp)M;%M0!Ykm*0kOJ{R1?dYv4#>EeSmA^Ti9Q{ zqxmYpeidB>y3D%_L52eYYD{Ldkw};4HZY{VdP58=#kL5NxZJ9w#Si6U8I!u zS#vLQ8vZu97d7Uam=B6&@(|V1E*KXPvx?VFHhSwldKOv9EG+0)@;H^K&W`$D$D@$q zWp1no89yXDFNG3TZt3A5oBgwt#DJx=A~3Vu_Lc_5cZ#p5ZLn=ce?|ReBg>89)+TTc z#^^NB|Ak@NlwQI{&7`pc`?a96jDhxXU=0E8*w|veCljAp1c8kE`(imhSv*^(<25zo zX&j%|vM?+8KW-mh0OK-innSlv@CUnRzF-|(9piE(1f3T(?xyqB2e3T0uLxh|RCn~$ zY&nWb)cbdoIy7UKvTQDR%>m<-5bMA9sSfj-K4jExv>}3S>ATpIj@-vNH6(Ci^gF`P zMc~-Ao1h(I-AM|IO{hLLy|k|(rv(K?&7RWVY()PKlpHUgm7D92?oq3R z)&+wXivxF0j*BA#@SS;ANnTb^1y1ps@w5jk$DT?$&)3)sd(@kJ)~ud~bm)QiBr)?X zj)8eFv*T6;Z^uFQ->@T_S|S^{(kjwL5O{MB3ot_oYH{RLIJZFs;Z?P66E99Quv+Zg zS--KfPo~l~)$Yndx-!&nH35AF<%msmJs90%bx#W~(^?ZolO?fPVnp&6w%0~hwHz9b zQ~EcxDep!Y>U~a%w-ODhcP>)4u7JtOT}rT(3L+lUa^YKQc*@Iuen8)VcvsuLtkRcI z0~Ic*<4mAK(QYHR%&uPA+m7=5#+ZN+Tpx7#ocz6z%ff@Hy8914LJ! zyV!@8d!&$6hIiE1WY`aA>e<-eJuDHeKdquQwcW=4mpnp@5LgmOK_T?t?(d=e% zo-gNR02V@xNOSdNXoi>Ph|MbtJGriMx%@R9_6yk!oW-xW1WW#$A++=?t!-n7%L9I6 zG+Ks^$kZms1aa?L4e}vLzY6tT$91**O3;DG#61cr)m(s?yDIGYbKMmn$^r2`mhe|^ zexvriqOVDFMxy>$q{%#@x9Z^>Tf0x1Y@(p@yl$a0;Bhc5rd|KY+_nq>4$rmuh4O_W zcF-wkt6e-r!REb88!-Kb8WdoMnt^vHf@`H$?7*%t=Z%f7H!kDY49O)|&+bUNqQ#nQ zRd&8UV;C+<=n%(WHAMD!zNwhOm@r3nK*@oNH2Z$8aoN0wUAAXF%R;^Avt|QfmW+-Q z3|8@3X?_|6l~T&YK%m(~_z#Qdv-*sPYJE9K55CIDp)GM=?IWY(trXnNY=~~xKWk1( z1PH%6AZI=aLB@J}8tPr(rCn{tc-CMzPR$xW4mNF1c4D=>*P}IGWxR^&_Z6TuU_nCl z_UEd6i;8PPfPE7>7gWjGW_9m0I8$n9NnxZ63^FwE?KXkOCnA(Jjs71?78+CbM(Ulx z!VmMa@IMs$vt*Pm#^650BBX-{h(GOih)XlA6!W4UXTo%IP8i1g*n5HbUfqRcO*R0Z zUm1&b0Xd35N4DLVV0k{s!sr;B0wGHD&IQ2~oujt#g1MHWi3q|bncI7}!zxY(v0kgi zsxPrWdbIDZUwf7P_eSvP1lYI;L$QpQ{XPNMI=+#t6b>$>$!BRQsdMNtaTp;jCe$oM zptR7Hg%rK_!;&9<?6LarK@L*YX5K+P;^rZ|IlNIwS3mU{(uCMNp zLVuJg&-{4Ei00~+Mkai-A&eO({JkB;1>A#5i8O?sbVxsnkzH%ErlS9T;sR+=F}S(( zEpQ%SuEB`76gOF4a`47h<`;=_2yzV$=EVQbC)$~-1J&I~81isl+FBq4d*M^6& zZ%|ORJk$LATt!Sz7J(<%-6Ouf; zdaX`hSgXY*ZFvM5r+Wf4I76n?6c8+ySSP^FV=_c9*Vae+Nab2#E3slKab@#fU+nD{ z0%)WjH{&?;Mz-lPY;$sZ^a)yasN~=e_SYU-K<(ZjQTZ;=pmD|ER$4_Fu5AC)%l)BJK<;mvzX!h(}rkS!fH2O?!1moQ%bUjb2&Gw!2Jh%YT7nPZc}tAVOP z5LVf|U68Hy_}wZ)KiZ$9G8c%;-pg8)m)E@PZ(WIVr?6oBfa%$BU8`L#RYRJ6!AAcM zy_%3_Hc?YtK!Sv6Fkea?Gr9S2R! z5hHRrAn8z?I}+l4uptA{?u3g?!w(Zd6ga;6i=th-IRGNhLBf5lb)u@Jv9Un|`Gft! z5oeQVP9`Q0PU)+={_#xXBmjxH>7U8)cT)t3C|dosL=8K^coyATv)sKSKr3DsY)Pa- zbGhcjBGy)+4zIPl+E(ZNgQ{tJb{4C&`Y`o=Sr%kVrWB$+;Et$O+kgwZ>VF(qG?1v~t?KGoK*f4<1F7Mgq$=)|Z(pJ)WC`IrU){6`@88QRHSayY zajE59%Ku@;(5rk0bAbmFv*1TrCTtD3G-I*N4 zy`G;#1w}fYTMI686({rKgpm>|`)j6=fgJrIu#I|HI`M>{5N?Mm5vCQ@d=0LrbQjec z&vrC&Wn4sWNV2+6XKUS`33&l9j_Iw|>RcWmNDHF6#A^=V&c>Gz5JNaAmH?0@mVLNn zb&2Jk;{9}9RW?sV6Zm7nzbR=GqQzJSDxAgb*YWZhGJ9=v(kz#{SxM3CKpVQ-yU|x) z;5`10F{A{5sqg)lV$w?~q0}I8t_s&$;?I*QZiugXk$VIVy-$|Cnf6lUGU#riS*#5d zQaV7CgG(4hIv3YEQP#^K!CyS_-FF~RkrE0!7kuaa60;JOGw4&Ffy9VpX$>N({~lrj zesLfYbb!CyPi|_;SQNGJ+M;AofUJConxODim(brVf$XU!gXmBo{2cDxAAU-?fXr3u zbd2j9Wi$^$fG>!JqoW7L@JtKN{r4EWpB}4*E(zh0#`EOwC&F*5KHta?!;8z;pbZ9Y zW0lre9kWpN8i)ZHHB9;&U5LHZ{EY6!bw?6)%I^WtBLdtwD8HBa-$*XZ%@cSKAav4% zKS}sgAno4&WHkCB@-3c!APDg6-~e{ItdVLQ@;iR}X&gENAZ_oj$xHlIc={9m!~)@u zr+XRme<0lMAi$7xYk8Jpf9Ar|mt_sWHN(B`-TX6^pT4~Nzxk%)1-I5Ee?U32MDq`v zygGkVjoaYme+s|a8oe#TqAeEqj}1rR0Rx_uqhj~GfJCO=4`Rk+a1&lk^b2VEF3iHZ z@rmclhdNmGz%jH8T!{q5f7^|W2$)Y&9tDpAkY9!_VofhElIm|*IEL}g^Bpuc&3ums zR=IB$l!vaDC#p6|Ot)U0VO8@s_pL>#s+;jFP0Ih9%MmW41J592rCSc0=f@m9_3PI% zk9}UHfBi*OFUZ3s^I6u+*5H`R2Cp{2g7cum7R>G*JI$)UX#47L9tmlNN2TDZj@fdn zKcu>O+RKIdDorZxxdY*Ch+t!_W9j*_EJSe7zexP2$tMh7ImM|upyuy0(}syJKWGfH z?a^|OsYoqHg%%=A47VMEgRH_hjTlO39h2!)5kHVS!!CcXxSDpl_n<$T<#A|q8lMq+ zJ;9RTGS20?(wH-etx2x*t607fc}s)3N4Rsy1MgjPStzqi#*o> zTh7^aX#Mfn3DV7jH>w)?aAjGOJS(ip+CCrpIp*aZOgQ|`X&5d?FA^5F)-~pv$M?UZ zn15;&k#x^dSB^3vePiuf(d)^{ zvlWzEIb4y78^7`2nESE(;&({+7gS~#;9;PjmDR05I2@gGahkU#3}!ZMx}>g5J5cUi0s4Tvbl+Stn;@h2aV4C&9#X!sJI z9shP;0`H`O9HM)?FQJrpOTHJS+-K6)(u;#4i(gw0Ts6Zhv6@y=kA(U(PVJFG=pv z)H@yz)Hi7kwa+cnBZ%NU;~UwL2z5rS_Nqvq3vN1|8}AE|MiLWrv@h~?yZ50J;IEH+ zXF~W3Z)dQHHznq%b-^sU;QG~IdVAInX@f7y`D|^9fjuJiWUXUG4MeT7aO#&@8~Bx^ ztyFK$Adwl@v^vB=vBHajEuePyt^@|*xR>~2=SwW7Pd@nxNVqXLA%DZsIOUH(g!gHB z#%Q{Ek4;Pag9WWqJ~EeSc4FOkf?Mk4I^cZ_QT=P2uEf||;{5FtyTs3nwJNnpH>4q} z+t>HIn*v);-=v$ir>E~%t%o&3bO_TnQC^Gu@dXC_fWtnRF4uc6QIU$|@{oye!m{;a zVviOve}$0^S^+x^8rVx>BP=e!ma?p|yxI+j_FwEX7xkjLErKUl;P* z;DTmxfD77{pzw;U)Dm@U)2lw0MFZ)oKCH@Nsha^Rt>MI0YW@}9;;EING&bEc|6|1# zHOPK_#Wtk>;3WCC1AV9Sv^RH#R!R$KSPdEKE7pT_DOrOA1L1aJVHuoZew2q5+9@<$ zV;^=n2To-`(=C+QNFK16d`WIZ4i3AIshp7pZ#f_Jj%^$beJi)K9c9eueo?#`dh+nHl1hZCoc?qm8+lW5r*Au2=hFeU1;IGQ%T4p>eM{a=L1TFaX(>>mHTEys?_q za(7$jjlEH+q>Q>ORwZT>SNDy!1l|KboY(toKOYv+-ql*S`0kh`!5A1t$2Ulv{+v{& z=(y3ppehu~_}Vm%C1!IsRcp8>o!GTovC0_IMm}=KE+^dbe6CTQ$VfyH`tiW&O@>7}O8Jzrs8hNH%ddu$X8Pqm?;(#>3~jk&jEoAONGP3On8CA7zlsPMWXLVA2}j;dqY zDI>^P;UZmkUT?A0S}m!&R?Hs`^3S`&;@%=V<)cm%d&V3fm8V~2%Q>?&div$x)dksi zeZKY!x~Y0`g4UmLS|uQJC`fP^2%S-!WkQjv40dqn5@^gYr|CZW9r*pTKHtiN3T9kz zrBQL(TOtv@~v@<1QUQp3vV_-d=s?l|k_}`YIG+F0sk;R1bT~A55V;gzGii$F~Z>b=C2vjpF;8 zPzbPQes&T&t#L+n)wdpYvi++Yk_VumhbB*urZUIT#9-IuYF`?5BwmzK#VNPE&LZJX zZ-+p`*nwWcD#M=r%7G^3Sv`GM@v0|oV8JzP$_L*m56qn{R;@aQ^d&@Wlt>asgWY24 zv91R~#$l?e@D9TDd0 zIXW2%t^jc68)H9`_Vr!?!w-)iW+*lVAr20sax4dd*H@g*B!!cxo2r`ZZfh8;SdZ&J zH-k3`iMRY5DbzeTu66`2XGtX}vITS9iyaDySJ-lM8c8Lp0{0o`i{|2w0{OJJjTK6yT>N&gT znUyn<6I4`g(q`erzK`cz%rg?ZlXND=)ju#-7D)#$Pekk+?$9*#veMgI=yt6obp;f~xv5j^j4iI0_ zp5_`C5q**_QsEViu;t&pc@*L)&@P2jv_aNg8CDbtl}YrLPbLqnW|j5p%AC@}Dz#tI zX+V>Jk~}fGkUzc15DaeBKe3a1b88xNMZey42LC}<#Ti2 zT9bRR7&t2{22c`u?FQ(ym5o;}3U@-pZD#kSa~#s<(YUh- zhDL^a4W;%wqjLt7KmvGsVLJSpsBkczq1tEgjvryFotWEGT3`n=>G~U*WMs1vtVxMVjq*$UruYFgumh7x9ITpgJ$8=auKUZ96xRS$x!j>0o zW+k@|)b)O+FJpA?^k4;g-CQNHl<;UzmHK+tIzLT4w|kE3*=d1f?!bnSW1x7Smrb_~ zH3(Z=mTqk2H=oReeOhiSgKA&|K!SX3_>;k+S@Z`t8tIHTms8hO9`l)ZE51prf#o1N zeJ>>vKj_7)sU<<_<;_0_>HDz8sC_U#} z@s@IuHYefi1NQh8w8MG_P<2wW#nlapl>Yv}mQz-c%Y(u6CS_jjHZ>@1Qyp=V=_; zL&@Gxlr?oe3bNH#T)hpvC$_fbDz@!6+}Fj#pE*6siG%z`$A@|;m!&Xq`uSroLXocY zcL^xDs?v``4r<$alF zy?W><`kKkuLn`CiKij4AG8;t-yUvH;B#0}fOawP4x>V>aSR~l)rdcuDI$c?_8l7#E zA^tEae`y(*z=1u5x`;w~`td~O<@Tkzx?joZR4@?H!FvZ^vNQH>tqr|mP4gHc<39*s zU|U%#F=m4}xm;54D<^3+nO*slMts@@7=wW7;yxuDP|cZkSVoljxEf&Tlvgedr+SiW zD+lDh`Xab8Se5tCY1WS@Wo>UWPKE41+Q+e33RMrt9Pw31vJI-VYi+Mt%$7>?A<>&S z2E074W2MiH?vhRPN{sphuR%89q35GC*cq_coMJP68-bUYp*QhTE5qOUDJu>oI%YTj zhNqKy)&;vy%G?h=Z!NyaaX@T|`Lyw;^X5mUHuNgu3-PPf`~N87oM9j{{8^Wk?3&H0 zo2k7f?1WV`Jskw3G(SbQ8R7{`31C?ffAZCWq`k!@uCOy#=6#=9Nbuk5(CwwvlS+*I zg`REI|B|kr{i3T9)Bi#@n4 z{>f+a^~}_)1=R@Hn_7mKU-tK@ z%n{WQ35Y6KHP`d=XLls(si;iFHm7bltd?E{{RXkoParnkeP@-S{r6q~03U!aEK4LB z?`r})@sC`VUj2V3m#v4|UkxlOY(xN5JhSj>-d|(VH?AhIN#9>w*M}>Mbh8~)L z6ZQyYfey=C%cut*x@t_{z;%p^%XcNj-*mW)rkm0gb)6mOJsQ!sWr-BN{yuyiJWDDw z-f{DwEAyeMxA^uev6-7*&+}E0`Cf+;sW0uKXFFG}lV$$F?@RA~L)D94O4Ujh=G>t$ zT~g_$k_C9Xe<4+@3)97KjE0P)h2^b-yc)|Crw1s3mqh{=Xfnlnuc#5k2kpP^L}uFr zkWFYJ!0`~;Xm3gTSe$kpSmPHe&a=34IKPZXxEVMZAnsF1xya>U}!J{Zm>!sz&| zVnw{Qjh+P8xizUPVF$}DS7UBaZhpKC_3krmN1gdzV<5wu&%%3b5sE2+kQp2$v!W3t zzQa%*JNqO;)hbiAl++U5Uv%i~T<3okonrL`+S{U4TV$UhF)p-Mlx&W1`N{j-wy=tO_ zgve-=eM~rG5%OaM?eV>EkkjwI5m=LW8gC#fnFojhc+n(5JzmAB(cgI^OupfFnT8X%K4 zUb6ZurkHLo_4)4VcNRM80sNklgkH*@l>F&SSj&?lt>o33`JdnU$u%i~|IU16eep{t z`&-G1@s!@YR;GcA`JLMST7S9+xBO0$JUyhw~CrV;LrH)^KfIY=QN$lufkj|C%!o4 z1f(-Hg*8%r9{u=-M*?5|L6QhZ7yW^NK2Ty}PF1NPaDl%_YhK*(c)?Np9q|QR{H3Zp z>t#C+BLW&llWE92bNSiOEksdM~u@1NwJ zM86YqY&b)e4qnSE&AX=U4^!}hm#^=s+CnKclyg)QHjn(K;Y z()Vjg15Y|>4)b98jWSEAUyD8zfT(Q*UVT}3AwQ};_foUWxM*c(DYAsRjLET9HSZc4 z8Cl_agL;znX+#n)up2$(ITkg>;OrUn>v|%Kc*61FTzbhEN*a85&?y+cQMYnf%H@&)a&@v^$ox1np zl^>eYEtvOTw+^bcJ*aLWU}^h{Mno_Grz-K)E_cn!)9*~aosfAcYhBoWS>nA;;PA}B zD$OBfrDI-y%)CjEcHIJwTKoU>DO9>@{{x_%`0KzQ!tq5l2_{vquRIk3 z!u9C}BA&0Z-Fc)n$dY(e?c5H$3hfJSQt-s}#N3g#v)pK+Ha+YOFE)z7Ydxc$>NIMz z8+q8ke9|p`VS>Vpww3PuXf~@`aA(piIlig%i{3`~1%E!?&GXphJ^}OAmww{N4E}gB zx3!|!E6Pa~kKytCt1Y_XaglpUMbvfF_)i(DPoa}Urk%@u;lhI4S#qmY zcf1^Gl7SVkDlT~C*?0#WP=o=F=}an;DXu-KWeu8s<6n>YC;ZzJU(}Z1neZ-#M_=AR ze@NZ@q`M8g7&o`^D_#85`BX+KouY0Fb@~5Azf5{4U+Q!Y(r4{wyV)GcFyG%&8i0-_A8mK}uKkv>(tW5sE1Du?)zBuNNp(z+D z=95gwzmawPPw0Cjvz4d6P#QpmMubmAx~zAfUoOgP4~RaIv|YD@8mMZ|9h^@tia|D4 zmh)OY4va(gb2n>BFEO+_^@rcWZI+Q!lQ{)3j!&p8B}>q4Wv`q4n9pv!-2_gKDi=Gr z?aZ<7@&)ZbtXH@UCwOxUO@i?6vaBJwGL$-Q6XdjH?nQGlZP0?6rO!oHQb}o^!mvLT zx&gh%t{UBLl6qKCN9yYMcgzkFy_sZoTEZ$Zp%;wq6p`Z%*BK)@srYi>8!%y&35cw@ zzdqFk2Crsu4u{$LjLxT_a+)-+_{OuO+Uc#3lr9O-3EvO4h5yXgwrlE+(gJ^7`#3K) zOXO`R@GW&picq2kAI57rffwf1)tMt!^5(4`WK$1?|`_s zUw_o$0FdrFpz$>eM8n$Qi$N)cI_HT_d81Vk$NUQtSS z;6&_O$m5Mb5Dm62n&?%`h?MLPlhVfnQx|@8US6xUCFiol^#xxegsQKoF^TTySJvSR z@3W5s_mOiMr16fTjU3XQqSF=byPhSoT8qXA_F!VI>5r9`6=<5QAtbDWEqmroW*Z49c*=E#l&l2ntFOd` zUGdHE%6m+Ps<;a;u(r2=Vlg@srOES7A~|&!`_NbMqHr?{6@ojwuUF zkH@MLj;31KZx*lkXMh)+P(K2X%ygGFhjy1C2A);0Yn|Zh)tqnv@9R)!=qA~~-K}Mv z+xB(Bhg_)?F|Y=MFx_K3`}Wx6QT|Hq9_}yIAT@M9ULBBEiVu(XvZVUf`1jr4RO&lj zKd6Jq>q&q^YuD%pvA042=62J~&oWZlivXfdtVI_?bpeQ$3+wse^I{?xedSGLdbBKFMbv~-9Lx|JHIfs>#R6Ok-0+oJzLfX z7C%oCf-p`qF)KqgME2Qht@-)J*!oov3)5-qJ7xyK?<-3tU8B}|M@q_OXLf@SV==g` z5tZ2%WNfcdglgX%c?aZ>!%b~QVXvh2y8}@U>f?iT_dIeyjLlf{FtES@WIo?(>cymn zH?6>_UW@K;TX%0fKyRAt`kgr0KDW+gzJ?B2x~qV(46%{pefkP40zA1Y=qoHBf6*u$ zOHab9BOgN(ytpY+9D*@}H%dDl!fp-#j(d(??&6iBOEnj{j_;vib!|c83oPD?v?n_W zlW!fRy4fGw2o(eqt##hf7WeCBg{Tp+Qgz|geTO)v#iYNCjx`q;Tyh%`*P0qxvMsqW z&soR-cckzg#_dmx&^BM7i%2^z%6qoOk_wkb@qTj-tUJAVe4CUBGSCC8ka7nXz{Q;2a-=L^*q>}n zo@a-^b#}_~7n(G(S1=p)?y!^Jv*=-=4mE)<(~M`E6URCXJt|kH8i9kZScTS0hUB8_7mtKy7H_1K71YF<`s!2&URW}k6m6&fOX=5O#% zRs9G2bL4f2fHPfrLu!EyiF|Ve}#(bHW{^RFZO_$wn7)crT|8F9~;QcofyqB0zs zS12XYgX%?(jpWmL%nzqXv}agfGt?T*pEeTbP`ZkfAH)#Ibv4}jiZ*XTKts^OEKZMByhDK)_%792v4O*Z0N>QFxP|}RVr`QW z>aYsRd%==mn~3vGasy728r4M;R=JU7keUNL_}}sAy4c*Kx|SMl86V+lu^{xBm5h)7U&J37IN0!j zlSu}!)$I>i{N#hJ6ynhxb4ldwSn|a~j9RBneRkBTi0SK7C&ilw{E?X6BkRZM=obrA z$9mnNKug8`*i}G(ieKr~Msc6~DKh)R*Xi>mGN6ekB`DK% zD_*7qhn%`yCfpiMC!&tmvhz}x5EcP)*;vdhL>tvgcUD6KR#5QFU z0y#T$w!Zc|U^d9>;IxpGHX-)OubEevOPJ)zJSo=4^NY^MDbK}l3bDxd^u>A<*S4M; zrm9wB*2O^->KK?EQ^XI$%^be+UCR~HJ^3kSb}x8pJYrPjSQl5R2+H9acpyMty2BSs zE43}u-d~zQTbQ*Y0Ih#`EjIr;CF1%m8L_BdYdQ^W4r*&_hKU#VqeVigO*WAY7suAV z0>gFFwFpon`Mbf&;*!<@0e`J&7>?%^+~}lWXRZBXVD_@~41TOjO0~2{yGbcoIPwax z_OX1#O^cm*#&bXY)||5f0uJ|AW8B8GA2~_8z(a)H2^J#y6^SR>`z{4H&YZfz&0u7c zqL|U!Os9f;4(#97u#;)!sw_+#csjOMcS@t3n7Dtw#TBh1+M}pl?jLEmot z&PZ%c`)+v?$;lyZ*@>2+r}B&IXXo+e`Rb;LYsC(l-M-17-_v6|Vk!3!5fA(2%5(E0I04+iuVEa11wz@tBdxISD*-S5;h<_@_x<3Pj-Lhe=?5>k6M#XB65ot5^pR=L@VOaK1rR;Igp1eye$sH@j*|LZ*9W}?E2VIcAkASQjwIi zdJuqt$2e?%8=}hl||E-rOkbhX@Agq zLFugZHhX4m2#qO@NFo-XaSi|(ZPi`6(hA%(e~=uE`$e_Or~m|0P=B$bwF!g){Xe2X zSg64*t9SFIiexHL>N_bIZ-bN(GYtnzNC+ANAsQUyq|8)=O#25z%o za8e?oI?tjXT7Jo;v&ZBF|J7@^*>V>yTJZI$&XdtL8!WW;y?R$E;|vqLrY4TvoD^BTWC&)0@y*MG7-a!PIrYyXXKev^GBJvb$RkN4}xrh4z?Y} z-e~id`B1D~5bT%>yI*b~{GR{o|DlP>+|g4L6_npiRCs|VDs=(chJiNUv{jg13(IT) zRUyxO4|7qV9|@jv9>*cjj)bp)Zr8gWJA1ZLPgSNsaekLXgOZe3K88xAt16hp_<3RO zof522+9_70WKK?C<<&rrf^oEZ)|SZPUqcbE+GlE`D+jv$61K;V9}9GX6RLebau2-z zey%-T3;D)Lrzt#oyYfk6I+mM9mAwj`6ARZnz9acP)12u>j4Y-7M(BfjFhObaGkQ*0 zm(Ca?WBjoE$jF=Sn+PMy%o!Go&4WUC!G_pgFUF*hWqUSOPLAhh~ ze;1StyF{)Pax$^kmkcktJ?`l}e}N*Sr~V$8dx@rc2B>hfrPZ`nvvAHz5wy!vyeAqe zshkb%7fRpH>#0(~F{u2SC|8Ai_JL$w585kbSf#u+WTu$1BY9$yPV*VBWnLN(5Xpkj zH*lOOpSqt!Wr*cLHDh~6c2RY)rYz0tnbIPWsrS6-_)@)*-kvqxcpfz1TYuA0FSb_Z z7o~vaSe;bGY~M34W(jt5otD{O=-b{69VKI_T@yCq=)tLObl4>%f`>YZ;nxcNsrNsr zw!l9NXiU#NDN5#n1k={|A5x?dxJv81+xPl4xP>Rl0+Vn!1B4bT+-vuHKvXoG3yItd ze)$Ofs`6_^I2wjE3`KSFL};O*qY&ZFtz=a6kwnNSQ)WhLprI8qT6t^BwsWm` zk9pt2G-M3FV7fc_7o{}=RJA6-QKT@gkg~Grj2_-{~vd6 z9hBAkHF_(8l(c}r4M;agcS%Wimvl&XBPG(^C9O2ljdb@-cXxN5jq#1&d7k&oTXSa4 zKhChnz3;29wbp0F8-}2o@l1z6DSh%jhc{0vPQdqTi7=|35MnRM<%x+XMmf-ZvXqE= zrK0|X0zf1FG=>1lJ&gbUj* z$cAhnRLd{>HDH6<>;wEGC)#15+Nos{K4O`yh#ehap)GWFc5VFfNqN2VINcl{`V%7g zB4Nwj(Qr&CfMODfs$OI}#X*yOXr`nbVE3L0EOF+(*&h|2t z$;K_;8y-lb{g|~} zh|kyO7Wr3N?cb@`fj>USe1!2=K@o-ecL|5rkb-PomVf`ZU*GUjf&Fat89hSb_b2~; z2l({!|L)U%zHgg3GjUwXX+MuZF@B@nMlve$s(_~M+;EWB*VtqvhRN7Rim1Xf~IR#0zL;5?Z*&Tx-S=Pd)pe=Rja11C+E*9 zVtD`YHDm~&TtUkZW>7XdCdy%d1jaLnpfAgm6_7EbMricU{R$_Qrh|+sM*gXGihdPSEn2yTSv~0emN~ zI8uiRHKT_s{I{+L-`=63AnWxugM0^#Gf=+p+TTm+vm*o{Xc@PZs~HP|BC^TXespK$ z_>9vjJMAp51;0G6nF>jR=gykfL(N%juSuyB`fh-lk4@Nmf;aU6$|bqrA@aE|v?6aB!i-rP${0 zt;U7__<1Bp=R8~pZKR@)Blihi3Ka1YF;Z&aH*Kw1P(PHY5Y2w)et~{Vn|asOuVl_{ zyO<|h&NwJWZr`Ic;PaNGEPp?l?WLFG11L;>LKh9OlsnfWh|qXAomwtiDijcHb#A|` zS#SH#693h)>e!Dk&=beeDpFTY#7&4eO+~v?U*E^8FjLNXG`V_=y|M<%l!>b{v#`BHA zd891_ENV8IzfX|nGNRWlOH-w>WbChH-Z;9PI&(iEf!ELaEEdc4LIa!%i<-nV=gAlN zF|cv4vm*~Oi3w|MzX5s@@Dl2Xf?;?4f%>hx8e?=k!s=ZVEs2=Yp_k=H)*|g1KcbsK zqWH$Z87iJetfj3OB~3U^_x7Uh5ZA=$L#jwcaE<#3UMPqSzwnz`4cB7IoIpxgy%nxb zZc*Od3;j=uwQ_i?JxM4c7yc^?2)TzJ`zlX$$GYWTqZJ7XFD<6pvenaFGhX6}3=YpQ zp4ZF~X4|~B{Lxo!yMy-@Q6#U@a`+X{>(JCFT6fA-y44W57&n>B2$Br&w@l1Z;{n8# z(#0cJeXCqBOwh?$4WlwL%Kl_DMUr1!a>be0$t~WA`+v|o}~rv_6!3^?U#q3W?z?aiU=85@$6C#_-j?=ZHu;4 zSq1ENt;AtnY^9{Kz2a{wd-G*r2b8d&bcM91i+(bXXBQMM0$XrI6%i z_cBYEJv{kp`feu`LfK+ATLS@UF=coeroV6s4e2~pSDHz12$Bvx;PZreeP zRc`NSPZCSzx7TJjnKOzw>g@>NfJy}{vXmOiXbYha8jwE0fikm3b{TZODIz3NwP_0p-ruG!r?^Jlrxl` zQ@>2Vqk=jdJhy$t#C*LvS1q!z9W~=Q;n&PaA!S#WR#T?tMVzd+lJG8uT1f)SHGak0bnS`GUE{a&dhckW zzeP^ehcvk?2m)GkkF@;Y@IafM4teDvoOZjo8$d;<PgL zot6$W>oGy}jOvtzRVEdN?{A>0JnwoJsiu;_WK|s`11b#%3yhN$S1-P= zON8~<-!2{*+pn5+k-Ttr43JecUlCw?g;XuBH&wUy;@pfAAq^ryHYE~_MMWSxvHz8B zl`8;g9xD(CLTnC_a4>C@gE1M&R+8LR@kEsuRxcasG?QiY}RG@-6FuN8Y1~ z-&p%K`eM?gJgZ20$)c|75OWY9Xj z=8xhr9=S-XZh;hh-!npop^z!sZ0$ZXvc1RPlx+@c@4^`{@(myQ+uf(aKsnFeByiR9 zl;)AEx@Z$Mz5uhfHhgr`OEp+5SGWG>`ag?vJzhvbfY4+`FJrRb4P*9DG#oW|7+ulp za69@9<5ZMsp&9MWS)P@G@pYz`DFR%E-U8+Jq0*S9-3R)?>a5Bm63`^(^3Kr*z}FS) z#My_8$(MJk4aZOUX>}8T`RS$7cW#(v8ihUVK{jk}3nk()O+@g^xR<^pEg$+$X|e3N z(78C$w6Oyu{xnZ z4%4=lmTDr$G$Hv|fQY9l3$0+jD7xNi{zRPnpVd}G46L>ortCs8()U2dp#z?y*P+GQIkR{M5f?~l!+L(hz`>P&I)Tf8I< z8u6->3JEunM*HD4@UnCXHi7Ti_mFdVkwcy_&qLn?bly*4MqDVC4TR0YQCm)p_16& zx);*3^HbDi?5)Obg5cK0xC!=0)~Wh{p0&^9^%DcrM%i{k_@^K(5zUDOpmr(Lp+l4D z_N`}|quoI^41q0~D+x>E`F@1$AJI^QA5aXa$i;B1Nx#7R_uo7U#<)FrnwH_MMX{$B zE#X+MGEAP&`|xz><4kUr)IelL8-p$}9n+c{rFISNqTp&)cK5SX?kqwGV{gmoY8ZcR zb?KF$^!#AbKANO)iTjEa=UZxDpN5zx`+TFU;u%xw*^1hT2MC?jPluJ2PP@PHm@q#_ z9`(HkPl(G{K#6}I8;XiM8s-cNnaMEMOPcIB1zGeZphKT$K1#Tw3T9x-AD24Q7-e(^ zkvQ^gCU9lAUKecy$ z=bu5ozu`CN@uFk>F5;^k7h~h*&7=hvZOe~g{gi(39NHI5oykLf0u|RDo0nROU~Si^ z(Rk8RpyUF>9U=%8?U|q%+Dv?Et2rAHs9MXPCnjc&_dq*qcjRtCt-0=98Ub_1phaO{ z@a4r(meg<_%5|$$UxUaPf03J32Svr&rYtBuAd_?o-fw!ZHIZDICM~b-!wH2O`z?OO zAc0cnplKnY)Lg^K6CV!RX7nEA79m!mAR0#@GdD$_<3EQD9~Uz65;BrZw&(`zW=pzo z6?(Px&Qn8=Lk6*t)iijch(?K{!)G|FBDtmNR(GU8AaQcciQ!Tbm@?=90i!cgYXMg$|Zd`xvV(X?9|s z>tjXKU<}VdlhxfjI(GM+d?IV>!12zOsJp5g1^(ghHHRZaO$aO3321R|%==7z(`pQp z<#sWDa$wuk!nYWu$(~(akEDL6QX(k;GQRk7Uz12_K z&x4@+Wik~o#>k@(T8;LJJU_jNKTB^97HyJVz+6IRT^jnJVlLKaNMFicP4xop`9ro| z#dMgt?hfTrGZL;?3qhJE#+jQQ1J8E;db!y9BlD}&y!=$bVR3(R!v@UXR=?lt6VcXUsCSQx=p){JzOjD$GF70p>_HU>e(%9 z4$KR$O<83C?ewFfoZ zu%{TB-c=PQQK4THb`I}7xM}HScNfyUmW5J_&T5rw$=#RsQl=1Bv0J7d2G#XXX>nGM zj!D$X4UE`0a|z>9kXGlYW$Y^}hfFzQ$(Y`)g*K&_E=u?+W@zflaM0Yo6rOWw>^g;8 zZMe$0#_rUWH&Ac}KXB%>SlZ#VH%jt5Da2y5v^=XINJ6PHq^u#S20Z30C7#*4@tjgV zZ)%V!4mI@39xB(Qu&2%O*f=B6PV1KJUv)jtP*P>4hW_hxdk36u@H%4h(o%ewh;A3N zYn?}6T^pW;iy^ZDX≤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


WUFG(;T^W+?XgcYIXbO20_{ntK_kruxpj| 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 literal 0 HcmV?d00001 diff --git a/examples/figma-export-file-assets/docs/source.png b/examples/figma-export-file-assets/docs/source.png new file mode 100644 index 0000000000000000000000000000000000000000..7c85177dea4000770a513587a53f40ba51e5c00f GIT binary patch literal 449086 zcmeEv2{@GP8?UrbvXrDq6eZabk$oyDyFzw~>|6GorcDS*$Tp}f$&!8FvL!Jh`<8Xc zG8p@Mp7+Z;_5Z#;*Zj}9&ULPHuG4kNYi8bOxu4&?Jiq&X-tktHzec`~ZXXd55xLZL ziJL@3WGEt{J?5l)z$;x``Lskt``(*exuPg_?PPmzrip9c1&?mlqfL+tyL;Ntn!s}kuSNY6NE zKffxWPD{qG+`Ie9_o;}*-XdPxku@8el1;}F;l&6+TA~b*Yb?@_hj(13HuSkt)H8PD zE010GxiTVRMWURtXBG8SJP#kP@6gMf!7gl2+>amNY-UUG+}tb;Ck}`%-%Yen@**m< zT<*#e-vD>sN$b-@iSE~RScR4NswPR5s;)mI?TZ+wJbFB8V97-C;aK2_ZiKba7 zu0@g(dHWBIsdr0Acnv-I@c20^)k%)a?WZ_7qr9f~J|YjKW4RXIWK`*y5VRyv@AU4p zSJ0W^uuNI{-Yd^fNDmKfL7boS~Uwha*+ z$ag=**5BlIFq*RkEwj%za+u?i#CHy(w~topTRyyXPG^zm6xSV{6w6HuotrQ@+83o- z7Lr;oyAKzLisEe(*ZmaP{N?G3h3Y|9r-qhCGUHdnrkaW+-jz4GcqHZWMF-NH)sFBk zdTwj>Fb;h#Y>-~0?*8tkOJ@i45F{I)xG9OwFAIh#k=%*%wW)eg`BqklI{%KFkmjcg znuy$t4;g!I|0roFqOdY)UZi@h9bK2wMqDQ7Xk(LMz=dfeFMDT8M8)`Jc>fck=fxCd zEm2zD7tKx!xQCv*PdY?IlSo7!vvWU^?E|qx+1|Vz3g5{dAdWoUBeR2+1JObfdJR9Cil^_RJ#|V|N(u za@pzr&bq$NMf<#T-=B`(~t@7m^iaQOr zx%5}gU3s;r#u4)5LRqK2`-iXXcPI8uoSv{W7tNvRddN`eKX~sVP2}E&qqL6(zn`~$ zoTr_qpGTIb(@izStg|Q0JNKh&zy9=PH?flao`*b-_xUnbD^LyXb=h_8G8OXLr&H!9 zj^0#XJNGWwE_yCR_VjpA&nKQC*;zvy^5uiedzasETy2#N;j9bN zX4YiuV(MaFmG);!V6Aznc{Y?)^|Yh(RD5@$$R!(Fs6ZNHir1_-}NDE2_OJiQHn4Ae0^OKW_vxtp)+Y{@KN)QVW3=p>(EGlp=#)+Ll zt2!u+u+y@&u`hzoW8XU^y-hS%GEsI;_PKT8miF85l!9yX89zqdez+wpcQ0SXDKvP- z?0J9m{o}+GMd6s%cl@cTu~R8rH~Zo|q}-Js#`nhuCf`W1*3p*;dOh}<`_A?2>*OnbD`@hUL ze%|DLh5_}Wnm!iyC--#mccnQjIOr7$6&`TaUcI<_cC~Q-S>{*i-qtNU2ER{zsE)1b z4|)@&A3rEnQyM87bu-dmNL1JO!}HSV?;kH2Ss3}_JTM-#1u~I!Vxb$Hsj-&GYU4!e_&YZGSAN|_6cxUR4=Evht z=%2`Z>^eDgQjgj6q?m+@M2N(~wXka`J_QF-=s2HR`jl5mR37s=symVIR5K8(*46&8 zU07y+$Ph<?+HJk;Kdi4OJ`=nDjJ}kl(rKEb&xB4rdBMoCQ=Lma zSe-GGIYVLi%n+%qkgcDszz7A#d3e2uxcEWgYm2zn&-Uyjw|G=1b;(owb$fCojpWM1 zW3zkB0+N|iWz-inORjoIZ4}N2jz^GvBWpdpf8+c56^mH&*u3efJqhHlo)Vj9meS4M z%vWpEm(tAmq|$003Z?PvsO+&@XRV9=>>1u2`61uTwG;Zuv`^Vd-(pucq%r66`GNoClU4 z;DTspxt`_vXk6nyt#iy=vvpzm=C`=6N#D*wu2t<4m#Xp4aTJC%kKZ?_YNiV62)jmE z7tcKD@p~fQ)xcZYvEdM3m-@axe!V{4(rao2^;i_+s_n|%JDX=e%)h$eS5j7j67F}L z>hUY?@(ggqF0X%EO=G+(`pPM9;lRj^ulmb11`6L$%A1yRuI{DUoB2BekPQj33XBvs zB)S`cGc}>H4~&M43@XAaE}&CTxzC*Z>`K+v^hV=GhbxWyqxX5nV9I&UEL-(aqhR-$?g#Ei=%7=+(zSP0CPCj_547CMDXngN|r7xY_}J#CFi*uO)Y! zA=>%Z>%>GvUM57lwmu^denbDBgCFRgpTBp$ctS)1{yGSLoMMRKPm`fycEZInbu=Qs_VOn&ubX}dKoFhOqU9c~`3bKLm0!L1_Dt3rwqY6!?!@e|ziix2o70*j%x)0G-;2{aUcCet&;+>qZf7Xzsts z;-{ehdKE}oY@Y}>e$~YGwfiR(fQ39}BB7uRegl|6|90|&|IYmU4X%lcW!+9(CLvQ{s%Wh_2!JVq+cGU^{2PI@odlh8LqKzeT$xHKDsvJ zn}Ih|s^j;mG_zDz?mqP(N99VQBstwfvvZOMf_@B6K7#Zux2n0ZZM zcGj(-d<(w+-B~-hPH*pTpMr<^k0$M?J`LlRTXX8XF$`)V_&by}5Yt6XudA8=^+xk@XpCl8>X}3P=8GuJ;1!_yln0ien(VGKK`3ZF`MnaC{oUy*JYq$`9p$*s>U7>) z64`DB_Yv7($nQBV#UK;{Q6qu?b_7iNEg}fGJLbf$U1<8(&-gEG_5G;?jC{fD?qkA6 z&cftWa{A~b{=+mhR3d3-63X$bvE7BT3RtP6?$a>F_|ib%xYphVf@H4?Zr(66CfVv6 zSwIE4_C2r8LICE7kQrdz4b=G#!r1(8@m`Mmp&kLRPvbYxnw+*r1Relzv;TqgpX-rm z3l>+1J7$=A>q9@Tf|=-?HHgAXal4CKv{WLxJrZQ_ED@BXq^L!rBtRu?(<%IxvJ~h` zx-tI57NqzJfygsAcejhf?QH`Zgeat`w)4qRTOU%q2Ig(A%pr4XTZC?X`hyS9)U!;- z@dI^{1cNcs@{@*fzg;UabfB*mMSc=^pa@_gnc;bDJNN%(3rQt{E$c_Zl8H$GI^!zc zN|=dv(P1J-VQlhW2|HS%(T01rw3G-L4^+jfv#IMMJR!LKKS%?yll0lfP9faE{MJb^WDd+}XGYKcW#SroojJfm!_p@jE&d=U_M zRJuLzE4q!g(@B+iWBiomT(_V{ck6o4-&OIRw9|>uQ^wIZxabnom zF#zN#cCJNxteC9*P%ZUw>~%KE zcBF&nQ4j1}uWU<>D!gjjO1p#llf<;!>`*O_dHaV8KR9$tM0(wD^%uvJGxhpEJ~o@c z?B2RR<_56Y^w}8;c$2>^^u>1BaB^~{)ZR1$Tcv^rn5&-y#5XQV`q9yl9p*U0zbv-} z8RLDxw8Wpul*2Fdb_@F{88Pwz!|1VeM`Ufff~~y_xl{ks^AqXAA(|mXw454;m?fW` z5iP`gh5L<2c&95v!V}V?A9?QnQ2P7?thF7w>Dw zoms@z=bA5$ywY#7jCPxq>UQjNpA={7u_|3(FeznW*(}>hS^4oXnGE)Gk9l^>EgrX} z>7}~TwK}yTC+niQCYiC7&+{#kTM|3N%H*UYf0cgQb;ZxG<>04oZ_MxmOvMv&-`XJ7 zP}!0hKdZ`zlwz;MuqCTgGZl;*=T_#&Rb6z8oCo~`28MzZ{1^K?OWR*=9OpHZjkIf$ z3Vek2RXupObmhnU!Pz=)g@_mDJPzKq^3=XpzI!Iub2ayCu2tVc{mj>Ej8#XCA`jSN z8YUZ2k>A8jn%*vTW5n8GMV*(vKcpO3!=VFoH&@!;7dOM;Q3DRuP2~U@Kj3XIl$Bz* z9$=*I3kwDoIr%Y)i&+8@w%-ksYg+IV=*?R)&F(ART*nT6sGwlaX1z4W;-oXBk#A$b z_N>HodM&G2-q)AAB(K}Zq|1kfec+{%ytm#N4wJ|WX16*JZr0C-9?e%!ii;fP)KE5` zg<}!LTQN&k&tk85g}Ccd`aRr3E*&a}c}zQgC%^UjAM74pbMY4lVPpX*Du6+lUo^HT zZ;IPv#y9<5|HnKG%2jXrd$|d&hSBp_-};o};4&sU;Om=fj-(Ncj@{Ngo*QfJ=9%>a z={3iFwYWk(GToME=UC?NCbK;6-MBluP>yq7=wP+X9}XFqo0)4?sG;poYP*`v3`po#Hck0WSXTdlhp%+KxRmsyfaF z@1p5p8wEvkHfKAxQwtAY21htGz#KM$mTTr98I+@mTGuzQ5qiOoO+Ms5l<+Jq$jHS!gg8W$2);h*GLtBH~1qXRTfEt6^b>4AcIehvB(~|fmPP`_-b8YZu zD9eQVaIk9ir$A;I*4LprIfZO{&lbGwm z#Ar{UqgRQUOCDHx{fYMUvGKyG0(OTEgU}4^K38mU-b6;-K;X6GY^yqOJP=ci;E6$1 z1%2sCv$a^17txLIcih$*zzEFXe4hV(Im4h%Z)0uworaC{l9dN8;+3GSp~%M4V7gwF z4@G!$f+hePT^K>EH1J>Z~udu382Lw?zfu8We;p)h>o$M0i=az1U7ueGvbB)+P?2E2g` zhk6E!yT^}r39mgjH^$s~oILs;(^ijuebb!7qE^zT<7!VD$QnCS{*WZJ7n{>%Ip)54 ze|2eQka_QiG;DC>D>2|!K4EZ>a|&%;Ul~uU0fwcpq+(3rCp!4TfVT{y>2@F}q`4~_ zWBCxHyEZ^O2%1t545D(jd9nOCn7tXZzR<;OSuhrV(4NN$wX5E$c)s=KYVl$(y?%|q zT(lQCeMrf8%X`(8?u|+uds@+XfANi_taVDyr7Oo=Mq}f6UIaBluIc)N>DoeXYF5dE zE(+Ch4@M#^3rto-48Oc;5~!tnk zR|Xn{vCs6*xX%n!nY0&K^_5r;1zxKT(X>=wu^ajnI0N3U6ad!Y;#A(C^dzt0m#4ZL zv!Us$Q-ukvk+e0^o!li$12@G5wxEu*fdXIUEPTicqx_HXQRGAxkfT@;;+xB8{r4$3 zXU&2mJ#_Xv(mupU)gX70RPUq|p;}*=*PJW_0O54#wyw!4cApk8xh}6(I#n=!GPEvb zK|B3UXO@XI(9O62sXWmzBM=90mFP?^&JNeTiHke6f$`kCq7(xw+cDrauUX8Q4XDK4n6j5 zS?d78zGi8~Ip0_XW7obZDfm645IVDmobHh4QU&8cuPfG%HQMbwkg9)HUs5^l?M&hu ze;?ZhLDrlO!-)3V56Ptm-RHhuvj(%N=FIKBX)0s+!h`y>>{H;&9gGz&&)_g<$lcbw zI3*)ggo7iJ|2n>sm@X=ekdvonJb(8(hfdMOk%p+khJKgDsi-{-o~vDb4x_6In{x_r zjjK&@GBS6TD55qtPwWk{0va;&<9%8+i2Um8*|O)ynpqusoiXi}g_B_0QmJWGtm1-s zvgMB&j{=X}aAxcZA(s3;LSZi-7*^&*sf+FdmEM87T7t$wyLW7JhH>+N z`|5&Rv=JJ`kPvAj?Sh4OsWGhpfZ3_{mkBZhe7Ojv-DubOA2gYU^*&G#raT|au38PO zu{07l;A=ftT{Sn>>>GeLgQjOe{Ho*;M37lDc0tDPL$S8V%kxK{H;^{Zs6B1q8@=mm zO#maKQi43^FYj?5(Y6bKF}xxtZHF|>P>iAxUJCQ!k@RrUj{<@*R@ctb=rx&sXT zIN}0fjMLe@q$t(BoqVuqG6Y19)j}!JDj}+$XoTc*Le&lHO?Bu0U&}N?@m}_%&*j)g zD*BAQ@Rk~B4){u=Os-pm?S*-Xy9aR1SpL`@1VQwhEP#vQ-09O>Fyjja zZrZk`%aRcNq?7qY_xfe?;&;YWpI(Ai;y>Tv!4GP?i&h!1ODoQ^gU3KMngniF9d^4$ zh&hT`AkGg732D81R9+;_ohKQ-r|}a&r=OO#D#j&ARJM;ACCrIj0-lgQ>q8D9IA}Zs zx{|wL7y;)9zUhF4UAXW8CWhcK!Q%N(v!V^SH*8WQ7LS>KtjX_I=kIMjX9Loc4X)6G zZ}(#dG*Mo5HZP3nZKQ~-ru~_4Vc+-o@*uXA0*^e?)4)3Mx=<5j%SUtWQ=<#zjEUeb zkqy9>IZ8?~!Y^zyh8@Hmhp0r*hT6$KTXSo?2joevdXxU-e+uf4I5s{B=70KZP6}*< zP1(T6W!!BE8#xM~eR0hVCastnr9gA?m&agEW;@X%m>zk1tXX423Yt5?@bl{ zIMlzjRS#g^%MqNTuq7mfAHbZM7Ev={BYy%$E->we=c^l?!N?ml#|TO_F`0pptG|Cb z4~KYk%3$P|$jmee8M)jEF!DnNIa2V*p}5gZcPIPbX87l}8dbnRQ$H{J!%)6m3^?pI zUl}8U&=PhKpha1b1NPC4d0;Ajnwr7{*%~*{cXe7i1B{mQU@9o@^J=@cMd;QlW_Q@YCnS<$_Q*d)npv>gxZ09ioI!8PN`3?amqyv%P=C5eE(Q6Hm5AjBu+U@3fY`JVxV;4QO@w?#`nDXW#YGDU!1_-wI3D6# zIRM$o^rQueKijtd7)m1taFm=e7N0+0D~Y`mes_EQrn=|SO_GS1+;4|UTsN0ksho< zXI?}wERpTxfH(z!&K_&L9|k(o9)ufdLDxy(7q(rDFq&V++K@JE{xR55nOH+~2H0o} zR#GcG13Oql_u5w2cPD~$v~x?X96@Ymj2@5!O$=ud4}v_xU5ElY4mP!~#63M$@ASa-#1!}l9cqUl*j)V)+OU^Qe2VBnIhB}> zihR8;FQV`f(^B#mi>@Ca+GOHI$#@(}ubAw0oy=C%@?4)!2b<~O&KD6ZksehvsuBm4 zb?3t`TIp*(eLS_W`q5r$J&<2g=o4M+wzUS-U;N@EV0J3r1c-${=?GFna~Doz z91(H4*NOGqT=X1-=x*#fEVFNyfhj!vV}u~fr+5_NAA=f~6K}j}>Tw4oA;U+E`u-?Z zGEQ2NK4(mnKH!MP#B=~Inovzoau{pbpq!EnV}RJo=$zdmpzIS49TErpv);&;u&ODZ zd*92JmeHQa0a1MifrrYI<21TSOgnTFwXPW!%!)c!lWWgVlcQqHRCo zwWimSGaLS*inNmhYf6FnR5*;p_-tGxav7pKd1Hpf9!$xKAwnqf+vw7if4 zup_B$x}Ku`fJbjxfl^)aLSt{U)_vGhpB7?EG^gDzoFf0Zpom*QN|_o*#|a7BnLbz| zzwAK=#f6eZ8v&I{&eWO~5eyR%j1|fM93{~U)M>OWO?Snk_Qk0&EYP($3r5d1>#?l4 zxvI_0rLO@VhX5{(R_p+rug&%Vu6*z#8MkcL=la1)+`@yYpN1c)0sL#*&Ax7eAXmWp zeC)e(M)pEKj^jx~(1j2(lvUwm&J0M(u%zh&7I@|{x7&$g?u}PK>CFN6JvMmY+OY#5 z?fvwfQbILg_d;?~=uY;TBt+=}l?tpI{)<)y{J8KWtCP;5`K`p`C&(?gvfp(lXjH8n z&zHfd=2+ZNyHaZW=yOM+zD>*JgO?(`j=P-k+3{YW*NHhbZ@@sevySWVi7osi409m%|Xa*bSAX- zzt>$ijRYCas+ty$(&>+6)*z7>+PNDobI9_i%RoK@royNQ5dudtu;Kd;G{Xk`HYbQ& z%*w|m-h(uF&4)V`O;dn_w{im%ahyUfZ~}9Oa3FVbEn3W7dQv8Y!<&pNkI4{?(l%x9 zjRYvN9`I(ZKCEee!`z2beC?da`nYaFA4@_kZ5l|ziE3Qp+;_DzrKdtM#W0a9_xKeG9^{131PK2SzJ64BB-T)R5?$xL)x` zIsQGEOGJXc$Q$M09i_1(Fg1qB1)^|tvfT{%K!KI>8|5Z3_(Mkl#fWx7au8&w$~2%Y z;e$aMI3Na=3xv)_CM*P*;J*hTa!_db_HnKS0e2&xfNCbIr{_E2Eg{n?fLBLaAPqr5 zm|76nXocU+!ple*+F8Gj+(XFrlt~fV8zX_4Kv;l9TqG+y1!2Y3DT2RH*Qu=!#f$(jUf@RV{`Y==6YFROf-4%G zo1+bu;(RP6Uh+cBUk?gAi8&x`aur~eDrdJ3NgB(;bCsCE7 z0%MUA$k6Pal_deQ-$C3%4KRa>PWv@-NO)3bdI%f2B4S$P;nj55U?G^HN@zWmNw`iI zztn%Y0EqjQpWtxCQ-nlFIw(m*)bo;%=>uyIH2L>**6m5iQ!dVg{9(EOfdoVd6whff zn8B8d?>R6dJ87D45h8$aXracWEi1N0itL0&Ufq*S*vJ7br?dB}J|1bwN+3@WB_V`= zVY`dJ+dJfcNn3!0QZ1f@g`~&}R5AQ(1Wft-VZC7G2j(vq2<`t<;l#WCKNbE96#uGi z|I1YP^@o^zEiO=(5b^G@`hHl25&DqNy(KycbL87WHYOkBzIwIhb2MQqSr2(|Nh>|V ztmNM_p8utN|CPn;(2B*Ic~ZVdz}8%O`SmnGwniCv2{{d?E;x&+tO<-y=fDVTxwbPF zO#e9GvbCR>f%8$@N$)?*i}3dY3fndF&!avnfN4!Tm}Nr9{7L8T zZ=Kv~^TvqAm|cfg4*3E|(fcDIY%LM80QkGK!WZi2V0SMDOxbv*ZS$MXZMOQri_4=tnn+zqddF7r$|sM<4x zTlY99=fh5?E&-C1q_S1hiUBI+>BuyqjcD#Gc3t!jWWH9dyWXN(CBt2OC_r>Utq9Og z3@a>@HOFja&9lBr&h%}r_XWDyuFcfcG{#=h|MBhJ%z!U3s%gi;djrn9$E_!`+v1TpmaLu)7qDF%h_r3+2HbCsm4E4KVW}?;EiS&YFxeHm zzF4~HzEx+Gip;|Ul zor}ED%d*{oiVNJ;Wt*>M;(wPxpwG?LZLzSAGy9YPRIbvAEf`PrO>>_#i?e#+0k-`5 zUL|6nW{uf`{tt|7RMS}KxGir!DiivX6X^OM+11vaH2RpYs`X<01 z)Yr2YE66MKd8|%0ubz?#sf4O9p}KKedaEMqPKWjRwwkw6K~1Ye*FZg9GV9(XZp|Ey zo@)nPAX@deqGeUEVui0qU?%sE3x$s>I-t`i2nHy{kT();))WX552<;xpV?*J=vY_L zSbyBh`W9WKxC9Duj|Yg%UT0wq-UQ^b-=M!RR|uDO_`*>kJ7d`>p$p_5=m-IBkilqL z*h_u764c2ydqCv5$=c8eR7MLOPza2C=>gd2IBYejTY`vuI#co0iOj)T)@a$TAVG*f zYPUs;4npO;S11HoHkN9{zisC0YkTfEKLCM_B0t6jG^{ zt%Hg917#8rWe^dJD_RfURSeb9#j}R>*)_|}G+v>sl46ZI1eIt$?33DLIoG=(1Q0mL zuDdL~;sJE%x-Q@wox zx~(-v#5nxgKqdB^{oyte#%m;L9rppLuUk!|92`&m-8S8bN4it}@j`7VcFhV7E zTxs zX&Bw6FS+z>)QE2kipQ7F4Q0)}Rj{FXh%t(?zcuz~ZlMof6KQu1xE5iT5_}f&-#0Jd zEUG4S7PYMONV~i|n19ZKjdRdIWyHyj8m zTL$%-^pv7=iduGGuNtgE_zsM8gGlK-Aj@X42=fdnI&<`}4LE<|#(dm$BK;LqaEpda zTes)tx=HEK5Kd36*h#~sL#mT5Xnte0bklW3W7*s*8@T8I7M2ZQsj7kHrL7C)4!BeCBzT48#1bajQ;hs=z!9F4(1{V3 z+#LFHT=tmL78_}&3S?FIpo9=khDlKv>>l>D_uZ=?xBiYKsrF*@I8xz7i9M%x@MJW< zg$9&sO)XyNob&jWc*D9yMfIwgnb{C-`4y<9^|FG_O;qvJ9Lv;*5gAina~S>{oPN9f zLAzmu1(b|2Au3*H0>`hM%t2+WHMV%Mx;UgVw?j42v2_31zgVCy(C29qc10Xb5FlBdx_|6J)0gi0eK5%%w z$<`+5nRSyCYaGsFbG0vkaqT8A8a@@;u%Aejl z#tXOxSJKuGgw2KtqCbaVTGuXXh;J4cV5U9$k34_!HK-a8>WOn=&c{K$FXW9)+C`jo zz}W!0(~#SqJz`a|Yrm> zAgw`RwQ!RvsIv6~d8Y!c+$_#80l~mxaQGljOzM?80M<-)ntRHX55-4B6y(hnYRlyHDw41!{ZK(PFEW;7GthkVb3}GP*7=sPM6$jF#&eI9!*O z>8UET|JcQI3ji{9{=m>xfg zKT(0GfXF>_6APHPf6fV3&b+0<6kd#N(UTmoMU~z-bEp*~><&wD7ilsm30`)w9+M@2 zOh7Ox0owcjTxr~|)66nEm!AGw1|tYrZ{EVIyX{Q=QGacG5eV`L`#W+%u)r7ia~s@| zMvab0{E-9KM*cmKwOz=Dh`9{VNArLW&!&KKAh2JY8ssDZ2t-JZtyA5g9GOG47Jtr? z9C)5yqN`cE2~a0+8XsV>Ii$B520{z;B#YGC4ua66d=uEe7va_TG`!jy03te*qHU)Q zFUxbNjPy(BCt|p7Kd9LAh^~ZZKv!}bB)3<$R2FFp z$TU@%PLXX@7#`7CZr~rCm6-7s`z7$$+z($9W`v_4j$A6111?%u#Dc-h>s%TqB-AuE z1S@BlT2c(B9{-BnuA2XPMgly@-=zg}I*A{E`*?hb9G`Jlgo@aUeBnGEUZ4MXF%Jb+ zlqwmLTOa|?hyVr=aliuqpb8jYaDTsnF~$U}PejffKkWDZiW}^U>j^5tj(GuO6#R|v zFbuIWI!Iry55mtk*rsQY;nENRf<=EJkIJx5XRa*-W}~CajKE6w=cx!O8H0J{pOD^vD$@G+|(D2OeXMUzNywoDck9btRpH>Y35> z5rpUrbPy0cg(cyxA6@{BmjIl0dJ$GjY<~(Utm<%v8mzGEP^FaBWOC#m_4{wj`72y8 z{x#E49!Ya7lb|0dIZrt^eWT3}mW%ud>5-1MwKx4fg$}7YWdx9mFb!@O-z5gaBNp5_1$X zW$8Z_2npC4&p`F?FQq$S_K#^0$lxgV^I<$H|1fMk#MFF&wa~a%gf}0F&{k!b!;g?! zeCYIUJ}5CNybw0mqN z_zc_czpKfA;_&aQ!vICP_nh!6Gzy)~LcO@a1w(AR+mR?pBb@bl@vUY7F|P9BTifp9 z|L{|#fZ@UT)#F`zBRD)Zh2B>GVTmCAZg&(_!E)KFaQPBMu>RfVAyFW0hGkP9B*+4c zLa{DNfFI5b-A4cioG-qUFw}#iKRTt^nKm%$wIS52h?nDvD$H49+eW zX&}Vk&H111g7FiB0cOUvw|)Qrqafd`>2>#Vz7gfQ)8jBry5j*dJz75+SMQ!z?bIKW z(zKE7`rg{*mJ;8LA3P9UI6}Suv?SlHXEgi0lV2a8a@9sCD?eIvt?rX8Df~c6R+r;CoRbgMt814QqVMe_w6B$ZXSsA1)nZvQFYJzx-1_8~qn$^6E#EW~oiywy+ zXNu(MXz>BPx2*Q;uV3*ydTwLMDK*h8G&z#$tve>^}r*LPSh?v(I88)V4 zPm_|84o?e;;e&~ocMwO>5|z$H&@lSAV+NKN>BHb>F*2Pa0oDye^!gg!K5chl%mVN& z`Cw54)($g>T*7#)|D=S#Q1NlbS|>t=Q6-MHrf7yJTgua*>#ksy1^9!fo%h{$)UvEs za}Ac$Pk$Whqk66MNLq;?U&)5y&600I=sM19o8;Wiko2Je2ECzIu`{1v(GI>(D^0ZZ z@Q7V4!PMLu$D-`hRtLjox}SRKP0DNQ_3u86uI_bO6~D3G;k7(Rhgpzucoy857U<_L z)W3dYzTqidn^7F@4JYL@OJPPvU4@OaD{C8xO_@3kmb#vPDQ_l=CNmaFH&^Fm)xUgp zt>3b<;a6LhBJoG8+eRwPAN-y977$}Q2?72s!;Aj`#=`nBZ8P`UaiQS#&N zV-7RJs?>wwN{pPl(X@3VJ)%pWokqjD%({adDZ0iZm-;1F@Al-1If*tDTb8ahaYUzy z4!$#Pb10uE@hsi2({jelsISJ`>OS?kd1}rs(sBI~&qz;F^5j-z(O3X5tl8$V3d3^S z6%9G1ctc%XFxyVTHqoi1{)ub#0oO%TKZTYpx|V06rN-!D!U?Xa(yrR{@ez_Q(_gJh z#Lv4drU@EVT<|bHc>B0A&Fa>KOkyGcuIXeviLY3waAfsJ%Zn_YrO9`e8p|Tuq#*HB%%L%EbdH ze#zCLqbee$GaJ1;L%I(~RyuFS&5ldAl;Dzj*@!mUeHX9JKcdw4k}IfAVo%mg9vg_D z2x#l0)0s;X8N;S8ovgdNo>sDP66H3wab$JFEPYbawJMxJ;Os~+NxpCSP5o6akk4MY z$WHGv8;7*U>2iJQ^gAG;z^!9ZHLnMr95nb)p~i6hy7(?M**@~WY(QfYP$$j#g;gg4 z><`kA>s%c;C9GXo4bI(VOgr1#&ucBODUTJ2D3+iXMD?+gF5jFSCmWq7T}@?C6;ZR( zi{IWU4J?TX*Hm)X&{~Z-u283!t&th6*Ld~P=8E03Zk5*`)9}!8ky$*lJo2H4zEsTe zHb>!*w7O?yB4%K=%bzQC*e{53O?&NjHfM$gxkl`xO;*T70JHJt!%;}_~DgE=&!CCUa0Ji31OTxFq*p}Uj zF(CcM?u7DO0f!g#KpxOJ_fmuNW87-=5vrYxSluG#-E{%&g^sOh3_@t^QDC{cFHRQ< zR{4=Ps#$lm=+6hYqETxbtX9?U^-XU*!uH@A)SUCPGse07+)k#JtiDYyu9l{+v|gRB z?;K?HIEc~G49mtbiucTnw%c|wXISpDj<#tzz8p8uz4;}9Sw%|$xya1jeKKBlnZJ;q z^#R5L6D8gtGBBbyStTRmXC3W+NVUiLa?$d}C%vUL-EIcFrOyp^*)&%KKgqMuMofFS`wa6iVFZM!%}hv@mBWNK<=g^0;9hx)1bYuv{y=rjfQoSZ0+23N_PhD4+LJD+YdJ3?Wm8Xc=vF z`4<+vHd790MN^mKlqkm-ql7JP4n_?}S)KM|NZ2q$9}$=tG*_E0(z>>FL?;p2(r8M+ zPl1MY?2megz#T|TOiqr}5PF@IWEy{~C)=#eWW*0VgpVv*RaI5NHl<`|HkgU6sTUeI zW7lhs+o`wNBhSV7xzkqIt)%M~38Yy*Ew{9|4{ICO>WMPC3Gp}NjU@17&tX>m8{V7K zB^-Ct=HXPKW!zYK{yLh@)v8T&p<{!#qkZQUOP|$^nZf}V=jpW+N}YhOSpPGr!2+$? z_Bb`ubczneaK|b8Rf9=JEBAYLUCWP>qmthBtp=FsEqzMRo4iT2UKSlmM?+(gVdh9# za{jo>$N~T{if3ud?SF&na7musAwXq!5Z5Da=dhzfJqNc?JbY!|w2ejx&B$Lo?VRM{ zQQ2FJV{4AYuDJFcS?i8!ekM?fa3&J=+|cLV;F&t3BE0GFdB`oX0XHj?c98a%y#nM< z_>G1lDh8S~3lw-uRRg--D0ww>IPH6u@ZHJdB?%grjuj3iL5FIZ4y(Oyu1+7wcwaNF z?^T0i-b0(aIOS}VT-2?hURrd}b=eV*PeFmG)yoHz#jz_7^}ZDHF3M0;kzM#1Kp_u9 zZ1>5WuLMOoSvQfls6{+omUdcKl;a$m5+=TYyoCFV&)oe&%TvZnj)@ z-ZxEgUsN9hE?4^;efZMw(#7>~_W>L?>yT20ZN$y0nQ^oSKUsn&@ACMl_1BOKsc6gT zqP06@Iht>Q)ssn9+!vcr<{a7}d^l8>e)Xo74K7e!ce?2I*DXxO1NKjh;SfP}@w>vk z%Z}|u1ptUXp);yHsLifVc(W1}s>bXS&&UEdD6~%g`j8R9( zvNidl#p>0k-RKVP{23@B7@&P&*%5+L0FC>1845dzxy*rYi|VE7(-3yk5w?RoxM3Q@ zY}%!&akIW=wOE|qrMPMkU>)yS6fHd>)IY1O_Yo6)c>UYx2fKueX&7yuz9NgvnY7Zd zLq_wf&Tb-8J#@I)hVsJb1H$G_7sh*MZbv%}Ef@ZrmdE0E_Q6;q%QS0I?6I6S!I=ub zh1!DQa-3+6sE9|-AkT8vMC5~MMz@t)9660I{_?T<;5@}syDjJ)1*9UHsOA(wx+bS} zJLl)4UvIpTyfDf-a%mRtE!Y_qfWaAC&d#S1QaCY9A(QqZW%BU>%9=Oay_(6q7jCH; zX6H?hiXYO)XnQI?bIwf~O&BkB>DGDFP#U&oA8Bi0z&0eB^Gd1kE9TLq^tpjLql#v- z3;@WrrooM4?}%N6nl#eZ2anF&neS5HOiT@}G#sA_&)$vZ-6Os=nJ_>INAG1(g7+oc zMf;?DH;^v7(co-jsES}(YAT97I{0h^Ix)#vqq2;3rDi>V@=UAJDr(^JPCoz1R@MT$ zULMz3$lZs!dnzmQSt)%zE#JPGqz0nf%<-Vo_0uj|c?Pna>ryq+lWk9J3;Pb^8hCYE z6=HEZ;Q79bV#kB#6BhM1a>%OfjYNXAS0;RaTr5F1G|NWxd|#Hslu*&cWhV?aX}VN? z67Vvd%xW-`!8WuBzc0s$ucA^gc`hyME;fr4K#H z0;)G|4}+#rOZ}iK$vk^+;71JG#f_@BXuTF14=Rh!FG^aj%YH_0u#+`+*W(Ura&d`T z-aarO|1er1oT`OdjAI1j$EH-`hud@Ph>|qAcYvhuDmq&GrM8Pl<@aPdXEAPZ$e{F% zDO3{UxFbcUdIBU3T1G-Oimpr)sT*))t9h+m;NdODvCF%h3sJkSi#r|7Q?~h_MGK&GmO*2;O!@x3-3yO1DEEV*F~KC%s}!cf=m$>aSjPZAUSi%0u`>GxsN-SkIYQIthJWSt2cLy`?P+2IV)MTupGD3W9@yrLFRhAvnAd26H6kp;$RNZlXkKb>Gk~=P%VS6 zIhj=)9k<4l0u}GgPh@iwLM|CQ6W5=0LM<67&#aC0Q&y7ibiL5YWs%kDkiHop&!w_U zHdp-OgXt@(OzE!J&%7Hm<27|k4i986$1&xG~B3R0pr7qV*fVjX-9ajrU9DsH07 z?@gwPS5yNkPm*y3`t{8(mhdd)3nzpH?V;$wO|)AMx@Vf{_c0zVUh$+wr9JhzXpXhj ziy&Wk=HtWPF|S;^o}Iqw<5?=k;!%Q|>1YS|tcuIELw924i+F{&a&NVkY}StJf7kDO z{DW5KcKXF>)`aRkW*g@^v$f9^dX$rURVF&>G<5#lVC*1Hfu5;iKarV6$ga;gjJTf5 z36*olr5{&K5!JRa{?((_|EuN3?!igQjR+OCH230?^;3r}7*!*eawirj#ogKE3k{=J z#7yI-%!ILP>3XXz`k%kO<5?(HmBFy_+Usfu-8`~^lcLT@8ndtG+2Zl}D3MobwfPQf z7{{8YM|*BKgU9RMc|r#En2+_y30+LbR%1w$T_HLyV`}y-D$L+XtpVWZGI)@$8z>I+S3~Bj^6gSdN>N#$2`e>DBt&`V&8PbdDd43 zNSa$}CxjfQL@HKwoQH#*KrMBA7_*ZYxiImGF-&@D+%E%%;g4y8 z@-SKVTEOztgJ%&Z^QcZ2?eU@@q*0_HNDuWU=luHG7C+Vx4MO9U;8By}N@UQJTiyVE zsamTXM|Vt!uqA=M2qv@h7q82QD&y}mr=IN0j(E3QHk^+QJPPHeekwR|Ou;~q3#^A2 zQ+12bDtOv-3b%pmP;sH+v!9qRjF6$)zBdx`P#>nocf+8+igT{x9&cBmYqEz#6K}9DSW=L2Y*+iDMWkJ-&$29Xd2C=iT{B<wWQa!|J2+v4f)mM_>IwXb}MX?hCmBf@(V29~vy7td}<4#5j0 z&YwgW)^30QmcbYSM<$n#J(xQJ-!21D$z#G3tMIV4ZRQ*276X;&q>~%Sj{oeb9p$#3 zbjh4U0;9AGuk2SW*)fClt5N#9O+M)-MIKMS%l=kF2(B{^*%^mo|j z^KeEp{3&RUx`WVD(4;_r{O(V|!3J^!lq2^ZbF2?1gheL(aun(F`Sa&@am>J2jeMaN z#TN(0T!l#WPZskx@G{-*!cZD0c9`CId=(F3y1S1MZ2%q?Di)ugD&~euc)ox$S<4*O zVK9lkt!s(73KlCjadHlRnkVuJ#G_x-R3L00^bMl0S18mOw+0*I4Z=5pK)(<8N04nh z3qPo8jdWB8KKO3z57wjJx-B{Em!|!D17(q*_9>dzAB8uEGvIbk4_|ktf4}Kh!$=`8 z`0=;azcLt5VXxK|`0E?CvxWB&fjBDuo6i z-;6|rTmgQht*-(84kzR-$eSnSbk)End0Weo2ys3SuXw>L5yJ&!QE>Me-Vkpm0^?<9 zi9G|{;flZ8{?NAefFvbho|prg=x~lY-{;mOBKZ^qngp`iS?NDZM4I=8Pq0$Y&nSN`&$%Xx~w}+1`lG_4~W#X5)vQ?1;z`+ zXHf#HoO3(26a|?NF-(q;#dsqM>&BlH5upV6NuNSJxu3TqGO5~~CMWen>nWdR3)|PW zuKsuxYrRRm&K#vVaKfqgpks>w>?5{C=PSYAY`Wo;|7pJQPwoxA@8ZM-C?d=hp`X)sO$o0jqzFQRMVcH|s>sinij*9^md%dE+z8-Ho`+LrnxE?&>`}hJKK3ljT zaANn2=Iqz_*K)F9LUE@&Ut2-tdPqa2=VzlBRXYSU$Fx1M^c9j~sO;R1d+2u8!sF_z zZMh4^*1_oA=**OP!XBgY{?OmjiK!R!ouc*vq3APV)`=gD-CC6_Ftb%;zGY9j91vqqAjWdp|Bk zpq-hbZ@k;M*%0L>Rkd8Dx^ZBAM9Q9)r;ib}JL1wjyL0)a5&C@Nx<-lL!tK`>H7D1#27AfRIbr36JlYDB8Es0b)6 zAVTP&2%(1%LP)>+Q^J{Z#^dEYzk8qi$Neu4nlJm?d+oK?Uhli!l^7F=bq{iBm!tJ5 zp!)t;8R-_)d0cNIw-jCUCt^K4&E!W_NkC<~&Y%J1l=8DSDiscl%!M z0;)afQ9t@|-2P0gf3-*I3l_OE$VlCvR~5y$RW%RWYcoVM6Rj;|BqbFtN)krxxU+^Z zA@neWL}%q{h1L6YI`Ah+(&%OmJL$o-(Tx4wKYsdldc=&s&>!&m!JxCc163X8 z@8#x=3r$GWzgkGE8lo59kmM>LSQy31_lKuM{Vs8ly5YV1JouCRBsA!6-@+ZSVPkCe+UI@(UbuvMtDQUs@|*?wm4b=>Xnq*oOsd)4cRbJGSXgW17wLN395 zrranV?U3_8Ga3M1II&A1JC0RwuYzQ)JiLAS({2g-b5wWGyvJla9Ig#eKE(>l@ND** zbjKlpZV{BL0gUpqf}f?%L=1KTCGiQl=%qS4YKKUXDirgJQ?t}L8A>oryX(Pkbg7&| zJH^V;L!G5{Mv<}i)gJCu4oO3X~ieDTfZ`#@7htdraEdRhA_VAB@=M@9lVwVp#<^Ow~kSOL!H6( zqj|$nb2pITAMX80i~MUANb%nZ%btyWb`G7%dKBIDgvLqgTxWh!H0gs}M#RFnLJqbu zn14?*ecd(sBKXxwk3FWh(Sj6Y+-~ofx?!+{%W|5cZie6T%FSu$V#Z*n{kMMd z+%xWA-OrkTuPjdHIqS(}3Ki#HlBAiSbFYWt13~=zU*X>9)sO9Mj1ViN!l#`vwiS0 zzh`yx#p_F7Y)ML_xMb_fOW;6SB-DK0!Sw6HsyiF_cK1el7PGK!rzn;z&6??M>1`9Z zJR=Prg&6)08Qx=@c}?$SO}U*WeEU3U>a%-xCI8qa81C21RyY=4HcEJoYPyS$ zF|)ALj6cLFOdrfF3$}6$5b{aC;-}rmo58DJn@|->A|Nx@_E8FIBlW$}`^sTI=#Era z43@80BSAT}f?*iVHBo%!!gk2^-DS2D&SzcEA1B-SX%~t8siPQgESrF{8`Cu!wHIn6 zhtf$&^OlOAJX$6zb@;((7^lZhRUC#e`_Ni!L^&?rMgXjvLF3F{LRwlFHRZGhi`x%0 zjSs^_+lfHmk{7vgm~g-|z5krh&uJ+=LFSbyDvW0wn*wlDHg~NW0h7S@Ym7x2-8S?b zQ!$Ezg*6eh2S;2$VpzSXKmG%x#J?A4%q&E9%*R5 z!6wi4PmLXaGbxtLCrlt}_e@MmcVFh%RnK`(jfKE}*5tgh$bQjq2{q6Xa{NeV3&1dj z!1O>|FaT9@k#w3jRnsqV3qN4$L&Jn-I*il1Ar-sVw$c#7BD9HSm3`hOLOA@H%s_x3 z-O8J~fe|;WZ!J^}VdVQ$hEy`P#`0%FA$ow74%dIQvwNse6B!ZJ-WU8hVvN2n3G4Ma zCl$GE;n#VNDT?dINZN)BWLkOmGCMlld+qY61?{qu9*?*|&nbRtBS{zJ2B6!Pb=+$v zz9egoKb|+D7-W{I*q6m$k?&1tIMr7&M|w82pMA{k32p9nN~ygu$1inW6)UH5I2VA3 zh2gux+GsOObw+}8m3>g)V=bQz;QG4Tae0*p^^$Q@5#-_D7aipT(Y7o*i&0oe$J|>o z$>O}W*~8P~Y2+FdPkCA?tiAm?HM7>9k#?pj6VQLW7uam0~d(Ec;!}BDt zNq*)q_AJRUNrP6ifeednJOQ5$anN5MSRT>>A1BAwI896%&(&Wi8!EnZSFta<`x^({ zHt%Lg>Ye6i;zWbzqe~{9D7+l|fTG9*)R2+4V*pN*wQ%toE6~7^a$<@?1fjXU;m_|C z9udZirG4#Vttu|wph>zHAD`1Yf94tOHgAIoj}+e}dJ1pq`)PM~yKEDSsXP&+GM2y4 z<~gs(ecSHbnrMMJ^S^|7&6lo`5u(aw1F{`%xs#JtsdfEXeB{NMSxNJ#03{Dr{c7rm z1x8)CTS2TG{rFxs^Lx-)Y3d8 zz=odNELx)7j&z)Ghl$1_xmgAdcUQ;W#GMQ+VU8ri**6e-1ApF&WZpX*j8||-DXbLE ziM7bYL5t_<$n+9u0kjHt&~>=CEYI=6@)`VryQFv55#VkVUtqvQb+ut?!`nQ`y&u`d z$~h^XErjc2S5GCK0p)7{shY(wN>}PM{_qPxZjm%GPNhpCnFhE0hhF_fH&jWzU>W?0 ztg{V+s3YQl-b(1hoz3^Jk;nLnySSR!JFb(*@NMa~h2a24UgDn4-*=j(bSK|j&0)YQ3r_p6O$z$2$AE%5aBW1zQTf8 z@U$1;gV4^4D54eC*BIYn-FBPLIeQm|E%!}VLUrv}`Epvp(f)S5$J8TaT@zTZS^c>{ zT2W*BT)s@qt)r6GhvMTiy%{A}>H)NBBKwDuXcDDz>U@h&tz$lO_`&;nD2}3m+)4%&r_{S>egmHU^~4dFN*Yc^zAN`+<50vl-6%j%UbY^r--#rc{0Xq8rTJ`wk z4D69d`TRV}_9979j5qNygj`z*zq)N4c*9NcIqY7(&he>8Ld+IvB9D5ztEwe$j=%P5 z*A8y}rEwyM6oN~CWLo=2#PazsLVxGKm={)&LDb*vUg8YmQT{g5^2&MLC~<9N3DZmN zg}mvOAQCO|$z~3=$L}I`( zOoky>O|tufPnC0O@~wvFCz|~CV>h|x@F}(UIu?=7?6LG7*qw4U7U{$#@#%jZCq0N3 zYnl!okT`mArnKFR=s$nwW6aoULP!Z!57m)GzF=ZZpWmh2QSOh}X6w*0k2)&<16J-; zBVag~TC+2lGiqc5WQpdn3ffhbq#r50zIuAl-EA;-T|{JR%^Ga<0keFPrc@@uPi;Qw zen_Oom%v`%1oWkA<&e~or&x+B{MZuY3s6L!<*!S zr*lhal-O9(e8uHAG|KKnOWEpgh4q3vuYRO>Tuwi8kteqy;@+BEfe)wV2EsOc5_v`@ zj+l?a!cuhleoCySkmt*MdoTPAE1fEYT(pHE}KgX%A?Xk$-8CHl-JoIW* z8PGsVII*H)Tv^G>TgP-ho|WaDenKyQ$~+tEE+t%G^K30TgxU7)izmYzt5DskR5H+? zof!N{ydl>OhR@^lqN`~aC6GHH2gbbr{>UuzwTF$2>7N6wma;Gcjz}(Fcxzb8a`V`X zarg39%zr0Ty{l=Oc%Y9t8l{a_#vZPqxJ>GPAdUcdB=q4g&7ZE3KWOm%j4q`o1J+-x zocyUu%oxAXk*i+x;Rc_}y0b8G$0luEBBhkMB9HH}*V${F?fDC6ag1J$)-!--43q8O z&_FN4i)KwAL?lO;XS(a9WRAFQT!|f(W5D&2EfG_g2;mLQhl^~mqaT@NLj4)n=9SsJ z=g(dGKoT(F1>Y?7U`Kmr{N50@(cD*8buSta@;8!w@dri{oh!4kZ@Vg36gf%|Y|jLO zVt{tx%8z~Jt5XwD|ja8 zDw}yB&M$B}Cq5%ykH2TGLLTkHaXjIJX82?j3q%CC1)vh#Ax> z?4Is6Oqv~G?;3h5C334kQ+^@1MTJqbDN->W?f{rMW0F6Dz+=)f@b1N@b{QvGtBG>b zLwkY~bUoh~H}m|`b?sqgq>A)vVY3*BpDb(4lkvhJB4V1sQK2uq$pz?`y|aAPTyAfIiGeXY0#O7{E})+7~~3G+9@ zY*=JRAC)9idZR>_%iiqaHw zmQpT_i{e^j+pu_I$%L3L{HhmM!wXaVVsvKfJDGRMKy_bs@?K#p`y-}421>7)hRnmm zOMe{ki6Rp+75sxc?8)y$HM{m=ADTI1XPA2*88L%X*X3JN1EC=Ak9?lhBu1z+{n9Kc zknJ;B;#zF^%Jh+j%!gudlsQv!DSprJYoZGGb{asm-B5`=&8FAMx6ng{#e^S6nS7o1 z9UqlXZ;)d8mum;OltZZ}yw1n+Im6R{wyoN3pK9n{-adbK|I_qcTzF*9!50?mF?4D+ z5-SJt6=%Jcr`z#x2gGcv;Y^xVb8c2(2v^o=_L0ht`OIxSopfE20j|v*fcNaQ@J{R) zV#kQsDue;qOe4xfw9?}S<318Ld#!P(TmIhAVqjdSG%TK9PfqnkgFbqNv%x}%NK`Ef z%IUrw5PMt+qP(Y1O*3@ivnRX6&u&bY^9{=GM5S;(s*%(AT>YLIvVH4q(Zdsujz3{= zN}hk7AsNT%%E%x01II7N_!KSzWA|pVw1yVm1}?Wmggp19zEC4k&-e_?Oo5QqOaQq& zT~Eek(a2mKSsQkXIx9xBLfIpze-K>#NiA_0;~__gwAuXIs>fGnU>noVFmr9B?{Jkx zlSAZ!gc3lE-83087CY!f2Kc9pE@OFsOWzl|*>gZQgNYv3Y=7v!$TVx(|0vd?F=>XG zes}*p60?68@WS_gNtT@kCs|kwXDCuouoQ^^RH)ap+vEZ<;tEnxw5r@d2?Wai(GQ)7iUFLZm zZwSIg9g*;JQZ*SrAN$iRZD9;#d zWY{NqEO0T%=2d$XD;8$0*5U)@6_kt3=Rl55#kz`ZZQ|Fx$B{ei~&%Amp6p`ns`U-vu_y)Rlv zmxL1dk!234^KR|ZoTNS*xpE1zeKDWWaA|AoYJyFT9!qFh$SZv#RGc@LCm*OcUvU?3 zBKc`k1Qw(P-<888Na^}_|Z9U=Eq2J z#|-Lc!<9oLc-u3Mr@lhi1?EsCPARQ&dBlO=^F@-n^?#&`$N42O2QAhhr67!;$>3SU zte>tw8f2$5 zDktKw3wKaKmCD7%>izqG_z`>FWqGdSBJ_Cosvtq3d2%KA1O0)QfcEjdSQO~|LuF`6QH{Kg1Dcu0uK@zxrsPxr{TI*4%rCFa&bY+icxTgAxq`V^TMz)u$DD8R z!}s#_OM$(D1StL$_pC$+@XZEjF0)-8Ey;9z3oREsI{6|*_sQnYsW0yB(4Qc>&p~U^ zB_@L4lD;&)zkO)_{CDhsHnLD(uz;a8&~soI&*eR*1DH=##mYWG)t1X1@Q20=DNDjc z-+PHafcTH8_eA^UO98nN^2l6BlQv*&1*| zY$lr6%WL1TQT)M!2PTH$5oDgm((g5Zt_*=UU`or|RxN-6Q9L?DM+sg)YcHTckQH^8 zcwpb#So&VjoO|dvRS3R*4B{mH;*VQiGJ6%oWqG~F@<+jb(1Ny8xZRS-lE7-dJ&3Pz zK)Fc*5i}PRSi=JzhCx3IjP-lp4}J8v{ctJG^N>L5Mn9Pj*=VIMqk8eRzW=zZfPUz; zZmG3vD72{wcWRFcEc3hHJ^-oG9`(e<2o#YTw17=$Igg!K)^9%sat>&(Zj}kagsVY% z=)2xvmM7)52V%di(s;8;;M*G^g&nQQW$MegYyo4vfufr(zN&sCWDh8t@#});efK3A z3V`D{W%6iAn5q}7Uk-*JBxp>k}Eu#gSV(L7Vr_kaJ(V08abc+lSrS)7BE zgVuMKOYmYNPoZP~-TV^Q*$XnFrZVTLWqsWV@vk_*iE?6k>8NpOfjmzDCTKZ*j(-3i z0?^No$Vx6v_*F24wr`h3In|$l-Z%&|9Vz%W9qOYX86Pj0(eJ)W!P>u(%dFq6VXhUp zsn8pM%j&ts0wHiEf=T=4bDO1CnZi6p$}U7L{#@uke93pm@t=Mw`4zMyie>Wc1>^ay z+w?jupa%iovlipitGQ>p7+T6{4|zR@UodO~Qiy`lTjRjinCQhI1rk~ULl*ppe|x>; z&YuV-qk$6}=HL5Xc|Y@Oj$R;uzaAYG8q}N<5aOO7hnQdA?SHmD{iDSmy)U0#^~wa4 zJ8eSFe8SKX?0c#^0oy@dK)rCRUUaMkv#m+TC3gWa=qnMs))+f zhGu_IX-aJ)B0p)t@y#Hu?U+UPBa{-k)CP$61#!cy_)wX&sGdwb;y@EbR+F&0Le1un zU~n}CLw)i<1E49@)AD)mQ!7SAOzk@e@q>5Gz8)>2QK|ILxTge4Oa#dIBp|Ru*`RK`aGrp37%F~KzM-IlVDMlGpaW)%R~ zDv!R#1c*XRkVVp3CAjcatEcNd?llKeD5#I(@aV62N|~F+!~Hpo@`bX@0cO5QGq<72 zv#v}f!_va86hHN+3=`! z!{4si=jOqo;!Gg)es|vrcFp7b*NPS}%Ewg0^)lK8EtTkF;snofyx)2zG5J+x5kSKt zCr&(hK$+{1~T%pW|u6bCFhB!H zqQaqR1)OI#`LZ+EDg^LzerE_5@5{|88VpdOMpCJOXBC-u!v*-7KQo=bnC^da$-nD& zRy{8JlEL+z+BQ@ZRSz0agUa$@w#ok^3^Yfe12F5c1kZ6drX)qyd+L;yJk&g`H{(aW z-c~6b#;D-N`GY#yFX%Yk8E&#_Kp;23Jb?O;7ZL$H#;ehE0kB%JrEDRN{j}<1;!9qZ z`kn#_bd0nxiYh(mKA}ppekpiY3-)Sq8Ow0z8!lIkEC%GOyhD|i&Qnu zO>_U#o$a>h6w5M`*e$eag|q4`rey|q8${e8r0pSsa>Ii8%dD?v^V$}$qOp-3_5yYB zzweKKgyYG#)_qY0sro-u1vw^kDORom)3+7MIcdy61cdQ2L|qpo%p+ZlBxUOc5AKC< zqv7Iegda>BD#~|PG}{GuKW=hdLZG&BHC?Ph@1^O3z`FaM`SOr7!!w`MluR*e3N7Rb zz3a)G`)^~lZjQ(ZLl3<}6GcEuNi%_FyU`Xug^R5LRp;?`I($h#=g^r?TjxGSQPU0B zMyg4f`IMsJUyokVjX%RufyhncnA1w_aWN3WOKqKsiO{$_@*&*8ID^Hu6QxH%#8auw zFl86DFTPYi1v(P9RY)$cEWtapQz$9DEoPB~h5T#Hdzv#*BrbghtzDP(gjnh95k{b? zx9j;?2PclUaf=)ln%1!2LB*nT&YzCARhsOkdOvHPH}m7ZteG>t3p3k;sO^^H6(74& zQNBM=2qow9p{TQ*PVCS=4eKAz=2A=i9LK6-30GtiLZ;>@)>P{!|wN z(%}7|s*+oBwJ|3tgd>bG^fmH{H(yI3w?Va7C~k!yqww9RTHjHq!MB<=TP-T3p?EB6 zo0*;|&KFRaIOki1vFYPvgUMbU?4d?xE}jwfhS00k=znDW{qTGm8L*J$hN6uNX+Ykp zDSRBJjGx<&dUKZXd%Onig4eN1Ek&h@RJIxoLod<*Ka6`P6U<0+ZA zbaVwv?q^VO{^)ThHQq#4=^6keUqz^X@$)V)aJ<*#Gn|$cbw(ZdO5zFG?y&`sc>J+G z3r2aYlTxQ>xtV7P)kffK(%Z`KQzOoX0)+U97^hNagpYsipD7)@NaA^)eu1nZetD3U zk8ONAHf;8;ey@xT8trX`33neQ;ovfW9Wi(O{G4|nz@QJaK2E*NoCFjMLyd>Okt*1H ze91rpIii`3^PJjV?S~Q4~he|L@QnCMV)qjh7LesV% zG`L0v2VmrrBjLw@aFsMWtu!+Uf$Ku^KCblD+3njI$S=1^AUlng`@3d9MD?176Z~I% zdp?to-eISV`wf1|V(iD77j!Fk=7~*KDs(jwm89b5=#r>o8T*;Qwk5r00a?8Cooo2| z_ocYoXceWhLg(O&!=6RcxhPYj;Y%L*-kx_;AzYt1PUlf8K2#`yXIEud>8$P`Lx}Wm z%xX=!jp(0s%@pAPdvm-rh6rvrHB%0|lSK0K!tuk1w0`DTxV@ZPPB}{BVt`q184%ro z#5c;6{F4l|zc}5{|23(YF9Va)4e*xG_Pi;YA)^P>te_|`pC|&tqCt8g#WlMbotJD3 z1?@4@>?Gv+#4AiCl>r(eGWZh2Axe+V|mV{2=N`f^m1DbnTat$9^@ z?DD5&0CUzL39o}UP3UgY37LaWV2{Ghln|kG;Jnd7*z}=KM_2~r)A1LkERNxSPPFJ$ zbK^6nLTZm{%02{=SYC(xg9lew0D?lG#W2jwhSJ9WgQMPwE>mLHJi#O+0*w>5=Fu-< zUg$CCMkwa1yu2IXFROsIm7aUYi!DG};Ck?J*9mv^GaE`kj(Wyy<-|MI>aGu6sf-8d)Vq7Wmqe{-EJiH zg@`Sj1{w7l@`af|f}HF|c<;dIB-7Q%AOUX`H9kK4#v9c5cPD?PI&V7)9O&7Oiu>Q& z0D=%v|K88fEoK6HN>El0XyfDKuVy!9yky?ae4KuCec;oO9{$1~4!VUDc_lUdp$?Cr zr-o#i{JrUa%>6sJ;^;++*!(nV;Nj8N0RUxs_o~-35>0-jTm}zo!q7?ZKDPgglbK_1T4WDZ?PxcK}G% zxDfm%h<@aAD*#gpy5GIz8Al$FjFr`Vu{JUN4OE9TzD`bpMyt6mPpUz$6uB**>g-9q z-uskHP^weXg*#laW!I|Cy0#`**!t2-`k!Mi-6rPBVwL7~sh)YCpH4-heO7mYHHU>w zg1Fxu}Kc4*qp=Im?ab(g_y4lB#kho}-MogRxY zeYEL^^71<7p9FZ6=_5|l8s!*JlgP|lBs$JcGm?Ny^+aH@*Ip1{^s42IcPn$Fp`bCI z1_@t|8WzVp@x~P{|LiOiY@!leEmK<^!ebMFxi(Fpoh2j?Tqs)lNpIfnN@XsUQyGuh z&=~)PVIEUcVKUd+HQ!Bt2FX`BxI+&bD_E54U^pp5%3H2l(4 zMq#2K&oUUG;6QMwnn*fz>FPxO_Al{7Gt^gw563W8>^+KRtl)$^KX2hj-u8X%pUv{5)?HF_xV3wmaC`C=%;X;PPy5m>f5_W@^N*WCYkPDE z3)2C9SN`z7NSW6OE>E0oXiz0Nhlf>=c*Q-~6}ihP+f7bbZ4EZW2Fu17bOvA`(blyE z(Sn{@n9IP7MB(u5Sx@_lRS@Kk#SB0w$d;n-z7@cYe~SSAX-lCmH@oD$p{W@Ic>C(7 zX8+Mw@%2vq?Y0><*{yT~CS8wK2YPn#uD^WcE4hf*s6m-I8cRp#pHKVeUqVO3Tv|ZN z{ZB6eHl`0{3}d@*mMt%1NCK!#h}-#Sf%%`)0QQmpCU1FZYXwNuVtD1`tRTy^0V+5@ z^H=op3S@@CP>ah|S{)a|O#OTa=n^iwx2)vZzICC1g@5+!#v?b@%ij_iTP2tteOK^O zu_Gm;0&)KDFHzdh0J)XFpC~BLZ59F8JiYi&c zo&>oe!5sZtB55WE5qjA*CtgYCsQ2<@6{rNely0%~QZaH13eh59Z3B1GYpSn{8 zGglb{Qu>UR{N)HF1HL7|i27dEA}E67xe*X@@4N8n^zu3ieEw2>la((Ivd$-Sy|kCU zbw(RlQ>v;&fItZ1dj}?fF(3^9>mH_HrVf~b({U1Ujl5{cV=|j&!$EC+2 z0u>yWYA}c#|0{Nawjta!h4^$GO^=AgS-Fs6T7z5l#N-p4JjW`@6gC1Hhy zAh{l=0Pa(-96tW5v5{cEePb;8S&)vnnMhWopuxje0i1a4<=Mi+onY;ZkDY`I7PAqw zUFmCB*+2K)u?x)f@mVnGTd9cx`C33@2ixJJ%h>WRK{r6hDo;yf$=3eY*#|H1plbZ7 zV8y>eacR*4OmpeE-};c83e2bY{@srVflpI~geYh~99|B33)BQ4^@L-A>4Ffm0FqOG zsAkO)p!whW(Iq2FJ`Z+~RC{ZSVC*^OU@_Z7a)brT@o%&JpGJ7l0Q{KNCfB7Ux&xWM zsNiAWo%#FFvBiw8P!RB60{4Q4QQoDh2;B02{@T*7fDemGB{y2D1q1vVdAiFiFY?R) zlN`%hJ0{>gCI1daZg^q4x4^0Y{m1?>AbnNn+*w&_BJiHp&=GGatsW#;2EnMlITg(Z zfrHsFG%Dzdv?$*l-mzNnyl;L@Fr?>Da>{<2)Y5;t1dcD_r-K3x&i7Zm9K2|~Te+Qp z*>Elim;m`vQ}lONOYlC{khE5$+;5VC!F=sJiSm_L*4dW|HHnQ#d5T#4vCvJxe3jq) z+OkY7Q-~Jyd-G{QwBRxZCh|bgD*AGwwm)8%3x9q?i-?HWa_GYQa=GfHr8mxjI+(SI z<_RxLJLU`y6xh%|b_k|m`xz7P^|Tx4Wlg~_)KAHNXzG%{+tPry)gyTOF6+0O2mj{p ztU1*sg5IS+gnrGj*cdF!1ka2E#?t?n8vx>5wRMVtt_>T!-tB?aL0Y+Oogu{aldXR` z`z#R)&`@MXE-AaTthqgrTn*vQoLZ^rzhVYkaU%QKGw7qHpC#mPdM=%fH-H5@KG)v! zk6rx@e-rv}$C;LVX96sv=db-q#Px}iafZ7ClYZ>Cdx+fCZhi5dWnfF{VB>&tO+2MS z%mklgJ9?=ire3+wI2%7c(sKS*w2JpTLu$=UNuXw_JaHM>apk=-;r0QI4lQK)U^J=L z>xitPd!3wQ9R6~4=^!g_q^{SYQiE1&L)j2re5~@2MNp>CcHysvs&553E&5E^vUKqe zNxGl_D=w@_*s-H$fMy!XeT__z0Q#^NqsCNfwI)xT>!~B3WuWJEbhb^$6SN`dhIc8w zIF}c6ek5u@`FFfj%&gPN`<;c!p5e>J?>X=5Dyi4ii;`Ti z1%r)>J;5zT2GyTjO`Kl!o)ny9M!=yz-ZmmI^rh|gtq=EO1#zt*XrVAH>Kk?4cS5y$ zW9eLbpUOgGt#fypipG3bo}V|#o6;%Es)z|chE;GYKJjEGg)uG(gvrNy8TY7iHGKO% zuZQAwl6EfClDT&Vw4mA$y*<%oGh}8U`>6Ks*eZ{R-I6v%eM4y*HsiNQrrX;;f;SaC zS>#{ncS3W_HTmHi#_$h=(cdZ@NRA)_^}oni`+$tj_f8g6&f_xnyH?!#OS6@!CxGQ*k`zUNEB3f_~K&**%RJ@kFtA#Y)6B3cR=z@IiVC;uA|J$oD?n z4}a|^lEfHo*|q0X+?{YjZHyf0my;PE(T)1d>26txvddmBIbOsKiNxM?^P!*YpKs*> zW#)|r46f@b)_DG)6${Jx9g+$NWKv_NZ%&Swr#2R z9ZgUc-8yf}8KZ*tAjOVH{$SYcfF7|EsS@E41Md!&StLM`zv#m ze(J70y|C}}0xcKaE%q0sIhYx!M<1pE=;yDg*vKd%>%^&el>>bNl;MS$dw#SjI@j{W z)Z4r_<2E&$rebed+|b+VSW^KvX)QFLmWWg;_`Q5_b>T$RNX zUJx>$qJ{2xwob*OyK#FE5o`Efj(Q;@o1`V@9B4C8o8_r19^2DZ z=AZkP)%J2iE092Q{80VyKz5y6da$mREM_cv%S`{#YC2gKR9yA5#V{UKUzTJ9 z?~_1!X9Q}6wIfQs8G}V6dg);eTgR+GW@7eLj+WJG^r8|;R>q_KYRf)Fwe<p;K6B^X{Ap+{wTkaP&z<+%bM#5YOP2iMpwAy){*12 z11pCl*frbiG$PC_Y~fwXAD?t!TZWF+$j44YXSCPjcKeI>4x{i25sgZf%s7AgRC;8+ zt5fl1kz2jRT%*eAzI0ra4&TQLg<&)@ZrS(ZGqUY1ne>7T>iqjy$C>z;S`%E)=8R3~ z-VCQ1*yZ@SHfQRmdcWFPL!Vo6*?B&B5dqrmPsr{`6g^}-Gll;F@%aIS%}x3*n(uZ=s)1>2nW3C{LzfDTv@=5TQv!Q?uebk)6l zw*B6#VQfrDNeMwEgk^P#<6w*G6l~oRXl5rSM!z?qOI!D(RX@f8hC`#SuMv$tUv;C+ zRvkg3gJX70yx9WG3=VfG)(hLCs@pfKkB8EC&eo(Y3gb75TfrWnMwiHE`RWDL6lf(~ z4NJASl^=|8%L`a&X8csk4AHreW;wX_gFp*_dm27hWBF>Ri^*!u?NI2G!%&z@IBwKN)# zY0&YN_ms7JWpre0xZXyCx$^BA_84{`W&m2iL^F4|Y7uW>8udCieIyGWKj+HHMKXTd z9P@P|^*2Meq!lks{^9>YF=u>R4qo}@;6zq{Ue+aY*u8d(fin3cqu!Ua=((~H8P%XZ9a=1(#(6cL$pTRk5k#Pr_tLgxbg7N3(u@ZxyNQ_ z5$BnWM3THn?@)I6WuYM~s;%-aAZrBBbJ88|hDpY>nfGi*o^ESn%V3asq#%B<|FiA* z#pJS!HV7!w@_qL#>oSnKXQtvhxhhv zP?D%D?C^~ZQti))rfdHqao?E%oLM1~ygwVEF#gj=;qJ%#y_0@yk%_h6P3aasA{%Xh zEU)MwsI|I2G8>w#@>Iyx8N#t^ZpLIr)Vs3B!uu@OC#GNO2SN4Ll-el8q70o@MjU7i zvPt1{*2GVpCfoVRy{ymOX&1~|L%jOTef+Q)h;+L=i*h(?3N4gGDQ{cR;#jte=5>23 zBly|LQT6oc_-UC6-^oPWHcgcGT%}9;;0Rn+{ouo?W-VkAI5(;zM(~ZS^5$!i)nNcV zRtr+UX#6GEtaJ*S4-AuAbVc_dSF|qw-tt`0iBK>Y1UM~mSM`E93wvHY7kiduXGZ&U zD->b7)ejzQmIwD?$a}c_`DhnrKFY(*GgeN^Oq6ejmx&N>>^3d92jEhvzPD97iS;B=p6MM+Q=Lz0{s+v~2)q<<-bfLD-y+UT_1v2rTCnos)5foDhR$7Tu{*D%qX>Xh?~JzReGGO0kYoT%4E< zN+2E8|4d|giQek9fn-o*WN($}5Zvq$0H!X5j`>Q3)@hVKk9}Y>W*lX)i*VUc?U;S(*7Od#EjD+|)8b@+4(e`|v;R z!r!NAf#Z|yehf%?d^5SJh?SguXt4?nAoSV5_3>fD)jI{r|7P`C2O9rIlS9p%3TGzyV3 zP?;xrpB4OSFN<=uDjy%pDB*7n@0AA08C7H@`vV>*EnZqPgwx@sI&^R5b0QZmybZ4& z_U`59Ph>!$g~OX7Ve*6togoU}D#6eV3W8$!h|6wG&n{6jE(JbLGvaHDXkqdPM@%>H zGU1#u%O|=rLz!i#4|r$_W+V~JNUN33^28dAH$zF8Rfn@?&|cw96C#sWWlG;&o05nY zJ%+z$A&)ByvX6~*$J^TaPin51RvGGxxu?_{lq>S!w^0Sf{F9~@7PaAyeFx0#uvv-Z zCoRU2ez&V7tPb_DN29FIv(bm|+kN%@p_>5ZNcnDP^I|ierG)>tKQwM{-g%w;A;W2* z{L^pbD6QyTP14=~AGi`6G(i!4pZT0|xuI1H61{;QpA02&pB)q=VgLIP1O4C0Ro3n^ zuqaa@Y>c$Jnry)I$jhxI>K5Y?6W-jj!4-t^L;GrO^ON0kdj(BN8bQ0{zH(lZ01Ny6 z^R-r6dxKKDfdoO#_8AWl%@1n~=Ei=*B>!QyuZzL|CRxWV!5wi?00(uy;x0%Re%A*! z*MZ!*4fBUGfoQn?5y*Ake>U{puL%;zpl=XJUwbyp32MNa6~P}G-%dYU-c97U?V?}W z5Z~Ex;RTuS(8)V*yxj$>D~XD6~Qcj<1gDlM`ve3Qrp;J zpvV44+7ZETTIYd5D9GBz9{cw0|My3o69LBK^~1|09Iamp^bjE|kJ~UTSWN&fP`qA0 z5L|6WfUJFBZk*ckcGdpXz##wsil~06EBtCoS{m(3E0!DxTur^-q}@`p@$b4faf0re zB~$rdXCL^q;TNU*1XfrDHiu?;#;#?7lP>a*PrLYR?%v|~nj0XW2K(Xk^5Ds>;5Fkn zk}?F&7kw*))r2HjgtF!n5H2NfQfc)K(i-}}%2s0@M8zi$)loV5T< z_aZED3jT3={Cx?A!Lemu=}4&)jGP2U&e1`+F0Xxy8E`nonFHQS?OXm=I1hMyz28`Z z!sUG%!9;A@y0-V9UgjHrXW-^)IDdDfe}{lGXL%)maOvY2esS4!BidA z77_#qZIC--WBo?JURG$R1p0oL)}{publB-9vyD; ze_XVzOTk1M%Kgd}a3Tbw`sNfIr2Gg}ubw{L3HqTOq8Q`}~qS(T-NovFLl(fKppi`nR*n|MQuxF zw4n3SH=iU}Ng(`hIyc#=ir8QLEP||lguHshcpWzV2mjb%;>|+y&R-xT#@}lpk~)G> zuKtAED_Lqy8JacB5u3o3qP;DjIvKp*9UYM578t=(>DSLgbdOqxt<_-MMTo2fxG(w!YrF!d7b%k8rk!jbe0kY?2q|u}M z#V2;qb}6uHMB6(8(tLa-Mc63ZA@Pl()7al304}E_T^*H1S|7> zNa))CakE^bpA4TFcX;|OmQ0(H9Q!#)q)h%HNO`kF;&Ir8>JliweLTi>e^@_L$ZC|6 zuxt7~`(Cj0m1D(&l>))4SQ|v#M8v8hhl%M4v+}Im5 zIA-yaI+|phI;(IRow-F8v0|pyzFf5iA-x&iSz_QlRp60_AlqZkm2-Jn)x(j|nC%ZO z-5&*_0fA!ZLo6lwt{h(6=JH&mWlH_AYG2|8ZG|Lh*ozX|xXz+(**v~d$a_g_Ao`rG zAHj+l7&8@fJFys++^nd_x?s6pmgV0Nr?N}K+AH1xr1SbKop}<)@T;zU<})zo83E-z z3|s*f&txwvSUt1nN0OF*AHdf@>(Sq2^#HgQc<*59NwWIN;WAH*cWY ztaX%>{}ZQ$veJNK(!Gpym9Z>Bg!5R)?B={PWk+elwa8LcP$SqAsF!2dEz}ACpj%5(2w)POmE`#iICHS4eHE!;kK~II>IgCW-!65{xo`LO+0W~C% zK4AZwTc4lWqU~^HJ-fd!?k>75q5X8XPOkU^INJ_IzgV0YN5J1(J-_$VHXB>d#hzm> z5MeWo?z_Csm#M!TM7*KBUAR?}ErshAv!C-WA%JjdTvjPwP<$OGO>I<}8xPB4ZCYt>>XnUwmA$xPW z+$>{oJf1?40@Vr0C9twbKu&W9039?vXUA<2)z!s;HmhMdlO=O?sOgPbE)mh(&-)xH$bFgZ|lsTk;JPDm@X===q@$==0}+F1K8%M)&A*&yfFJ#wcb zsGIbe#?TA8+{47xM|76~mA1KYp3z16+d5pjQB<)(rSx@DAPlFbN1yl*W>j6vx<;lI zK7uRhjODp7_-*eEqGUD_Nf-~s@_vWBdh<0BD`&^_4LGRog{!kncW znEiZfpOQ2`Pm*#o{^ccdtMe&^>`X?U$3-e2?nKl0zVA;>A(o3%d%!cy!Yjk~# zdgw0vz*sR^pqZ_f8We)zY23Z`IV^*e#}LnY%pgQF0i=KSF4wQol^|I)3{LBv5LWP3 z2{ofkxGCrP!myHqB~C|XO>3)T5yX(DjecU?GXE#1m44?c0v1j0D+%Z?HY zF9mouSJF&OH(-=d>*C6Pwig@*AF8dM@b zNTaLZk+Sh_+7Uu0kjs7hTlz)wCn(R4LMXNfZbOq4yqI2sM-d0RrLMocDO%dw=(icX-G6#>gLw zJrefbYt6N0d7e4vH(k?_IA%oR1FkOk0dzK_qzON`L)J|g!EKDV=R0vnKn1}Tl83L? zt{z7WtugcP_6y6jP=7d%)De-9&^0wrd35v{fnDi~@QX0hNLGIcm>gmvCQhwBlbmxh zq0|EVa?%2z)Q2b4eS!U@tOocp^BtiUqsxM4bBqsA@%Qas zciQY90-dcxqIVJ8X;91N5a*veft>@{xL_K4bnQ5<#Iec@nNG=PIw85*#OgdWNW`Fk zNl_P@Uj9qRLu^FxKjVR1XB1D_58`oi>NtyVT{hA&H~7HM_Dz%kWh%Wv$6q#;UldTo zNg#Ko=WmPUA7|o!AE@QO)fXaV$nz4d ztO&`n>g9NuBVG<)!NTff8_k{dhga&@=>YQP{{bMj$N(B6jc4}|{s%t%&%Pk}Lx`>7 zCZe5KK)-lpUtHb)czi6l+B7^Db-GoKph^e_;G(YKY}e<9=_D$S=V^j`Cqx6limA`e z{ud4T|C~t!2QqLsrhf_oiO2G5uB?i_1Zq9xkJcjI)cj)U@851J3cPm612UuiJdM3# z>zxEHfgdqLHg_##`k$W&co`Mqdo?Z;fxF2joyX0evzEi+Whv-J0!Tk#4Ls#KSJa*m2fAw#0M@#^(#^k2)1K`U?dgOI{WI+;_cHZ8_C$;1Cr7ZD zLCID=*8lhy!0T4{8{pk6|DOQwF6n;(c)j!Jd>2QP6ae%pQPX|1|H{61hYb46zRSgw zG+*l?24Rn9aLIg@wK4u%Cv+P4(g`=Q7XmfRH@KLY^U}*a&!9%~yFVDb2@fRH!R;v|5{6JTP|@9r7IEF<**XxgB3iTFx!0-z@O7)?&^ zI~%ZXZ&EAJ6CVCXvw$oxFuq#i&r)|ZukLmI#J`!W#eBstEc<*-+%M=l2E5eSL_dg4 zMXtv1_kQ>ON9Je}z-Qb5Ukrze?c)LRYlFpxxG?Bw(l!GfrZDdaGxXVibo|W^*#kD* zN6vpT_~rE+-mnlsvnxH9XVx0JI+FCg%JSB3zUx+JHx>9EKVmK>Q5C;W8Br&5;=#-w zlphCaILVKbjad(N)yd1z1qnQ7lW&M*k>F#gZ8a#_KajvAWdkHcQ{Rkgv)}?ebswE6OCFA@*N|K)MZX6w}K$w-#}{>JB-r|F7Xkv=T$HS z{xIUwWD;@&0x!-1RLd!F-3ji_bG)(cBYngG3+M`jY#2@etdNtl&$;2Z^JI4t*c=)k z{iCxuChCN9D{70?qQ(EkgXTAO1^kD>Ufc2N)1v>TK??@-b^|=(ct8(<>rTuWwTboM zQJj|R+)rD_8-TVBNi@fis?ul#w52r545ZWYQqw%=O)6y99tyYXX1?85g01Raax1ED z6nFO0^=nvgTl(H`LeRs0#p5Fm6i%2FiAfHf5r?2x+chp}7IK8(Z$W4lH^+j?+4B`+ zgT{)nL(pTG8FH^1ad{#KE`S(N7EVG6d!|K(tw~i38T{?SC!VOHrGk_{i;Lw_lz*EB zHzt`N@wTQ7qJ_*LuQEob6GpQ`;8Y}cLKWcVm$01Bw{sutcM^_s8GfnV95$>mN-jUv zL3+3*asm0mE`63IzuvFm7XnktJTd;RjI0gl7p*Lm?4_#=PS6}fhzS5e`(emWLSqX%or(DFIEGL%m6z0d z24B^wCnLRASbyO4HB8}e=lcIBACE&QQ#tDm0=knV0N3&b4A8zn0q(ax_YYF)mBEv1 z_}Y5Ff0=ExTt|7b0Bp8LOMR2rto?!d#q;;p}vSZIJ<6GCJ2 zXPYMFameM=oJi#vd}PMQmZ#m5#v*5{7L+F~QVM0-iwFsN=aKQ7EHRxGbua#&bnwZh z97d1+Swth}aR{&}Ig?#~N2c3V0jZvlpV;{$aAFV0tvfWL{5Ql|27vTwm&5;VeEi=$ zy#M*ahBYTB9?MJE?-2j1dw}2lG0N@Mzux74H*x+^h&z1i)5DEaow5nfMZ~b=gbWbYhUOeB+{-0uE z|AYbKPx1}H{$)3R0}T@=$!w0zCV!T-?DSu9r{E?I|Kza0d&~s?e-8HCd-VXgz>(o`=a1Hro%7##xsFRpKkM&b z`SqPpK2l10sDEGij~=$_Ne1`8Y}Y^1^c66n_}r%5e)A~)U-#g@Ezn8fZXk|aCeEaQ z#GmhR`(6F?G0#aMSmcM5zW*cz|NN^CpiHvQmB%8#W%7a#fZF2{{^PBGZxa9zJ!#>X zU#0|<-hy1IcKQ3Ye;5ORL^o};{6C`qp9Y3mz+!%P(Kn&_EmAYUk#KWr;M$)pCe6uW zKF~b)9esag16;6SK9%!F2u@EZFzKB^>jS^HL)=M%W0bs#*&p3qsNe*5^Ai7^r~YLS zfTOC$zPg+Lr&s=GWft!JTa<)bTmFrD{*Tn$e-`Y28+@6q!Tw&9cmLK%ejF`))h|X|2u$ty9We3d6@0WuRjtSWfNeM2NV>Ke+v>jP(Q%*&e^Xw z|LEt5C#BIDds3qQmYJUGz=kuL{kHV4N^<|4_5b_e@9N453ao$6)W4c8$TahR{znG? z!{G5rdyW79Q+HpJopGdpMc=yGFZzaIKvW)j;LB5e2ln`jB-sS&1n#Tdp{Rx#q2p`Q zw`kr9oFud^4{=VLzJXXS2e)heXfRHl!{r&Jz4NZw3Crc-RzFQ}0f*P+zk!^=VTMGr z3m1)mC3E8I_yw`)z0cV2Nm88`8IH+MCVqp8Mrm*BbB4Qu*GY@K@p2T3X{k zmD~3{fqzuv+86vdm$DkB0`cFD_%Q)I61Gc;=S&v=v?>42wLY0MuD~;;N^pL^0Klo< zHGi#fN6I^IFfO_L4v;a7!)UUw9uZGkhM@I&NWUfd!HMFD_VY-nIA;&%dNH!GPftDj z3-1wBGN(YR3n^*^T!t*5w+}gBVET;iz1*(b?D9SiQ!@Ak@%Xv1k4=)%HGWf}?-0w< zGTfit+%p3>$Ogi@cKwJ{M<~#Sum90og3Pm>(520)C-lt@PDeQ-Z~*lNP@yIL3cOdZ z^Ai8&Xr}X~#}EtvzJyxm=%_3{KBl-BGv1K=@%Cglkoa&b-@`y4&LG{=hlKG5@zkX$ zL@+UGmB~C@Rtw>+*5^%|B;dQzBGSwfcj}H?haD{v9+v?VWwhHM32?QWA25j{`&4-8 z(?W^&j=fdNWOCiU7@TXLG4-9Bq|capz|*QZif>pD0up-|B;IH%9Uav+&7$P67`+e* z>eiND5$ND$dlt3tVm1pa^!Eb2YZef&=w}WG5|zW4gS2r>W!5d6brA})TfpDF!WZa0 zy5a(su0pNlp=L}A*WGJy`cUD0%5|+_xsnNsbL~r}xX(v#yazbhY>dhs+jdb42x#I1 z3~E(sCUO%quhc0W7a~xr{d%X##G+G2Bv>I0@ep{_T$^<*l@;L3Q@JU4^t%?FQ1rRMKB+GFQwD0YD>1M!fZttwtd>$^bOT2~mB# zlw>hW|1eMnT29(6IWFWxwxmiWtcwut9WS}WC073!~xqCGY0wRfI*OfXhd8r%ki4&xz^ zv#I|bf6$vjoQWhAysG-~zT)GnMy%yrS71>Pd1?*2x2pi;2PVnxXizi+;vvo7NB;87 zt?e9;{YFE8DlC|I@cu5Nb$ahLkX!xn z=D2e|gudmor|GvUM=i(2$}SOSt0KJRXu%8R1BgC)B|KdFexncp;Dty+WTC%4v$`T+ zasM34)_|jC>haWch(4Jcy0Zq+GYzPh4(cxbv3t#6&*!jNec9o`_zqC)*Zfu`mJy8H zYSTglSCzgc=xM=&g!M>IOx-2de43=_J7}cQE*U8nX(nC@FpOSAM5+2`1d+62;Jy`` zuF^V~;YfG?=w(Np^HL{g>xz?%X#c*J++0fKlqeNUIzB*60I@bu-zjgf0a;H84+FaO z-8Caw9R_ap#$PiCXu;r>!vKd`psq{M0D6)I>Fv<)bvHrn6`7w6-MuPrG3Vn~4Qm<0 zY6u?EzVOZp7ntnRGUG#w(Jb*+ptD&QTGD$FeRj5zoM@|aPx_aF5?~Xg6{yJ=0jKIS zhiVwvgbh(hAS4XqCLj>2b4}n}cYhUm81c26bPGU&=htNacEYLdLze_X?%#cLhz;1B zfU>+9!2W0>H=&c6dWEf)@?Jx5Ntkt-Wm2SyazpYZL1L4rfYYzTpsl;L#tf5N5Z;`V zO}sDNjhbmkEt&F%<_u%r`?n6=eW6BhffS+KTk#)yn@VT7M6FrId`oZ~sB_A?UyRo= zaSW1X<_S9K*eijp=N(>OJIm4_jsqXoMnOzt?OOqo>tJNBz~A=C<4-5tn~`^mY8e+Z zMbGm;!iDpmgKIPZWo+?H-TMZ*fL(3JH$%~s*L;kw;$K9LDQW>WWeXVej_c~Ko*a)VqM? zBX1N(&Y$BgcKNNt(aDiqS`TqBaRZjr6y|WbAwZYoWYKPj7oondQmncJp8*7?d&#{f z2+%T=fI9E?>QOG4-7oOAU-JZ1;W5AA*l&ZhT^}%ZLdg-K{0%1K0kiXGiMD+Ek;bnllK!YA zR(;HO8|#?t)en1V*)H}xqLcTRVZPF(?v#dg(SV-xplcrK(Z zZCJePdI%p=O5DngH1)*KIv|$RK&oM5>kNIHHrg$Wr#w7P&yR1l9Ehp40Q%(<PlDdV zBW$!Njm$GmhCXdOcZ6B;RYV7=07Tk>VxCl0l@VXP0XkvB&8(3XmNi#QwutLT8cyAA z-E>{i%>74oeHR_9%ygqD}2D-FU0fVWf0VYvy#(%sJb0{okkD$voi^?1xbAyI6$#BbuL5hZ=?;n|D zJ7C?nhI_U>v$w}gU6r8<%b#_8)X?)$qzN#wLCMe`jfU(x#QM4zW z{ujqfP=tLpRcDrEHp0nG-(nPKVF4(m<<$HIa3?JLvDg&K6(6$gC^{uYl-TVRbQ~LY zw%j!@wml}k_GZ&n zrv#TN)4}?qxvjGnKUdMua45s4<}=4+?VF}=+7Xtp#+6b|Z}5efxrSBu8p+ggj7Ka6 zB;akrUu6ph8$12=?6s0Pz3PBYMRQ96fcvPoQIRzw?S{;_33n;s3k*e?toN!^KS=5A zxmIK&mnHoPQ|ffV#G)i?3vC{jva$I(!ko=-6fk$YBgV_#+wQ2AT}&0Y4;^2X`mQ$W z{R`F1IVT<5dwjfBA7Gj3v}p=PR%{VE<$d;Sp10u$KqXMk!^!Q|QR1LhwpyDnXT5Hw zjNa7oUdpN`yeR~|RrO0Y#2V3U$Qjo*rKhs)h#>U#7$QQPV33f#QkC!V5T2Rqqu%x` z@&{5COLY|5+PbiMKHkZzMn9DULmZ7hqocfpkP(IHC~r%Aaj zUDSb7vg<%+$<%TZovQuEu49+>vn8P2Y;8l&d9Z{pP@R7BU0J+RtdZs*UPrvhi05VM z)VXoDqqGG-!g2k5GgsZLo0Om&2=3&t4H2;^38s%69@tl`Z302CBX7WkJ#qSl|o}YgOkcW6DxMx^aQ6QwFrHoTd!%fzw($nD5YP72UA?y*(lCvrblY`jb{iYh|KDU0xiFGy@%6 zgUn(?(}Ii2-l`^g9Bxh-DDF1bFMH>e!zUwlgXHK<>#MtoEC?q0skg?v3$venCUjTo zeGixRpjNC^mCns#lXDFkPaRCuU8*q=MOIFCc^S`^F0YB&4zlOivbt-nT)Q{yEf&zx zcT|Cqmq0pFnF35NHv=Cra33$Z2&BhqJ;j$krSu(PXOvv6uZpDuC|51Ltywd7tpq7A zfi*90e9|BI1nA{j3OWp^vk#b#18}Ml@Cw8-aFwL$G(n%eo$Y(@ql1rdEH>3H`^`>y zE;g_D*oF9k?WktRxAzKoXPCy{Ta>blgo}`%_aNxo0Ox^xH4LUg*y!avHH~5a<(2p68Q*ulvxe=AS@CA@f4FDS{~y&eycRLA-BuNyVS(bC0Xab>sKiY zScN_F{%83+rM0Vkw^7o+2puSbE#ldpNHfr$$GK%@xK-Z4DRyVB@Nk{Ra{2IjI>_Q7 zJJ*Xs!q&v$9SA_92{T*olOR^LEbOm1*9!E-_%2lvJ;;$BNhIz*a#2dHTC+6pK76%; z&}ZSky*nz<>V*So@2V;{%pzGMTB1Vuq9Gs$yrjPL{3QLBI~Q<9F1zQn&kdtwRwJeB z4IhHwKD$m=2-YTiD2$hY=rX!QWy5{+VZ#n(%*x3Du_FVxMHf*!fHiIWrh9t`+5mj5 zyK}__l7Rs4s-{WRvP2#;JHhwi`<`#OT^`J*VCU9H$!pOJyR*;hvYoEtcJP+z4s?%I zPj3rBQXx+l=LD{FK-FX5QrinqQwC3I7tC{_;ggqd07Jri0TE3q{E64zwkk@?A>?@m zpLiREH$kR+xNYynvhaFA>5gDV6VOqK;2k2w=^$lyN`fhg_T^&y(Us$h#nQv&QF3LG zdpN?tG_=KWlxVYbwA4^aln!X8><@X$jG`2w^%Wfy8?VyyAPwx|6pB(D-@@Nsil`vd zmMmH`{|7Al!VI|oUM~yY(4JYM?xVluX-jI+nt89uusHh;;-?h<#|sR;nv6QZiga-w61)QQsPCH_#%lZ?bQ&@ijA=qs5IZ)d;0 zn5u^ZS(VfUn9*g5o;r>*3CTSKq@Z>FXaC1~m;`@=rf=HOYka%p=R{L=Eq36T{hk8- zvNETx(6UCg+dVap5Q8>$I&Ao?@xD%##RAQU=ISpV{8~M0aojou{-LB=ZhlBcdoGhr z$7{Xe!kIJ5P8TP7V+-%y9^CD9yl_wM+Ka?Hx8J}2rp$Y31aE_h+eUE4Ly&T<4GgFQnuT^K0UcCA&AIV4N_n8L_n09saZz7)|y5k83hL ztL&DGq4BS>D}5|zqv1@g!M5eI+lBgT*8PRCWAj3>=hMEb{AjCuJufGYU~oWxlcDX@ zds63#f4GkCG=mXLeBoG%q}9kzX`?KtM6)S{eFKt%^EyUHHfG~6VQjKI{73$oXDk!k zB&Tc>A~Y+JHmQFuYgwaKC?OM@^J-HzRc=*lfhv~gS~X?&zVxNKfwvY4SKpTMjqijq zwG*t}4mQ}Qt&CbAVm`zQYKMiB;pitRX`hulX@kqo#=-BX8_X>2aWK)YXT14@?f@en#a_=O z@#(UD*f4(jktzDzOVo#EB4(Ph8$|<_Egyi?`p#WUxo+CkpV@VriLV5o!4UYoG365o z-DTR#LbqN}DwC*C$s3W|X(*{IZt-qo!pfHL`BtMV)r+g=&fGrr`*Rg`${*{TaQm+0 zg^e#i;z?-bCz;-1`aYzVy&;z`c@7~z8|$VOwgU6E+;FK=W}D#3=iqyuyRv;{;@)Pz zI!u2c+qKj9ZYkya5)W^_@oPxna zOnQ-j&U%Fry@U0@J@m7M&e)32G_GsZXI)n+`Lfr%p>*ke(ads-eiyn&QCkP!)|V(* z`6a-+pSM4beesg8-*;2jAl%x9Uya1?l-*aQ=UK)1X9BB zlewOi0mbdr9$zz!V)Jhe*;PI0*D0yD$oZ)wC+1mRyK6^)-#RCDulew7t2E_iqCCgu z`lHFXQQZ-V=A9(HSCt#Mt?@$I>>Gp88_CGoo%{;wGu6Y*d1va7&*G~vr=;mS1TG{F z;*@!HiI8I_A>ZBGtaoK(C2KzDJ-w$y8V$t*H7 z!_|FqAYY?P2hb`T@siJzzX++h7wEA9W`VNg2H7_#$J&(mQ==Mx)u=({4s0 zTX#}8-xu4myRR?koF1uzN&xv1FK`cB0zM-hvh4&q41>MjP@3oGbTQEq4tgzOzg*^T zbmh0*T<(4q8OK>!R6m5V%;V7IpP}F|yQu!=fEFrA(QOVZSxtsx-Ha;d7$pYQQEKb> z8AE8!_yZhjW~?klPvEa%*9vgeGH1M$1n)3yfd$j(|$itW z>bCEJ+t0TaRG9~SRagB>0%!BAZv?Z<ji7m^pROhs(OVfGE@4f3?db8821tzK5lsp$QA43j(jPD8jxHi zQr@-G8%t~=eNU-4GT<3W7uT000>Y2s+ux+uk4$2?gyQI6ug;VDXuihVgm+Ft@rCA$!{drsHFbqVoF*(M_Z@txi_HeREM3~UJ zS#E=>dO(_)=fe1ZmS_wKCDnbFVl4|yI8&qC{!@xBl{*5vs&iDm=j*kUQrl;0qUL|L z_3AsmaVykl$S>F_ByuaWp1ZvRS%`|;nlCTxCaHt8_#dN-Qk3v<>M{Aj&xY3d^qv_s zfLS4TQdPE%m^BvSPlqh_4VG==as+~DpYOh)5ZuhPjP{E$D0p4^7Gq^t`X*aCL|>%h zn!AITwpUCaWp}@HRO-j=cs03Z&*nV=@?Nja4rdifN_K!K912>ZL>C{v&h=~?KCcM6ARR}rcd6{drJi@_{pb5$ z_Z&wX#@Klf3Kq5(s@|Z#bo*-sq!2}dJuTExC9jzCZF*~_7^!U+bOJ}O$zCkkVvtO& zn{M_y4J@u@lFZul?4(pTXh^gAaC)?eEXdb6>dCn(kIHSh!ulz`}BG z%GHc!y|kq_8?7e`Dx5yIk?<-2%PU@_TU%0a@G(W@*V3$O$>Voc=7j5;hmCaTpE4HFW%f5rTctzKd$;sV7k<=%#lUW>0eqA1ZNEXX)%r~`tm;v5UU^1@1 z(2}%=2nuGmrxu`1k)+W-#8VA=Bdxyt{Ez`D@5bbZ3P{*^y$Ub$O#<@N65|AWFO+=Wg(icOM>wZdWtjdw&bYD3Ta&Tr zVXJM3!E_zzP=}fPj->6iy+E^Vn1%0=@HX^KGEJ6q1FRs46=|&u^4;7rlP#D^=(wJod_KeZjVd+M*)Ehnt=LI7l1d?T5j-x&Mo=S4#vq*fAKUQ)xprITg`aK7J zVO8Susn?^@MsRmxEvlU?&pS&gHuZ+?`fWX#nNK#Bwhgne4Py!v7$`1+4hwcovn>%X z>Ufbmuf@;Yy)SNRe zu(%7-DQ{3-RBw2hv28TLcEtl&{xvzf--nQ5mDmlx*OEB?$6N$jve|$3%xnGcsl^IY5*vjK=rjj+eqr4 zqe{vYg6FTy)KK2I#c=nOQTPssIgO7erVV-Ss>gks*p1}Y5HRK}^G&Ur2u|!Es6Pkw z9PgWa8y%Sch%T>+o?4YzEl#=M{-baaoc_g`n)lQ{Y@>pLE&!2wL9pa-NSDs!Q#qfm zGjB~(;fhnivlx5%&G*(kN6v0HCxxf8?mM(hXg@ffi(xep8S}Kdxh7Q_i<@Z3&0|=% zt+JJWF{l}4bvRGv)RQfR%2iC=+Exs9bKWYxpCWaQN$Mz2f%SQ|+bFWHO3oUN*Ha5& zC%2HALEIAi*iN4-hviSnJXW=r^U0tZ=1XAM6VSOW|J;o*Zy}Y z)4AJ{qM;Wls9F8?&XdP1N-9O&6;i&C&pPwYeoV@R_kk(b?5K5H2NF9+K-8F$tkwuvP4EQr#E zYOY&)@PqxuqO0id32OM}cPT|-0sLYCqR8{YV_IP@s+llC*f=!CGz|QXA5eNBP8^-y z(Gz4_#;_Z+H|UE}=@dY|vY=N`sJxRnbiW*xRmM5c7m%-96yY@^)@{1p?_0jX01X_Y zj1)WeWgJ*y%QJ-w9^E-lBOg+F#*Pyf^5e;`6TbmJf8A96GjWGrrKJZjYE>&jIDykJ z09-b%U1RvJsu3jCH`utc+}c4zmkK88Ly8fAgyBKEMj3f%ucj`K^fh&M`q5k+3{d6W7lG< zgKpoY*f}iR!p9|TyBY^K3{hc!do}7@@@v!q{Sq#$Dcq#XL|jgzcjZ+;ywyRDeu@HO zGnj2B9}v+8H#NOjB|Xu5)~2^+z!e^i-s5*R-yaDR=C?*z0DaWQrmS#Yd^B#&r{xNU zSjr|*dzO3cFDL3W)5H@Uw^F`2`0AH%+`ByBOFINiLSz2^Fc0Vc>rK7pI%ejKSsl?) zyWYW@FypNa2G=5wj7-~YC5u66(sw2e0=xbAH-V#S5@pH3LZI_4NeoD+D6~kkmf0W6 zFXa64BXD%#?V-3!H$MqZ4K+IVId2vYUj&SWO!LC4sYTa$jPg~fQ*$8N!F_s8Bzd_{ zw8E^C!!Px#qZj?Lsn4*%3bG;Hqi4Ob*-s_mpC@YxoQXomIuR&ix(Fu zevX$$lYKX8TS09-Yes7vbrfn>))%km+ta>(80cx&IYc(*T)j4r(nvn%A*;YDWTgEI3=bvnqq8kt3N_BBh-!lX=13})pW`Hqq3B6}43wf9549@>*U$ zzdG{oHFHXK^VGv4n5y;1_Uh8$ih*jluUEbzUePi?y&YqfL~AUO1{>lkjR-vD%+(=7DVxC}m_`s`#8s zwm;coA-Yg`lxSCM^wWJp^WX~o(!uw9=9^{T^xJZt&XHUK*y+Bd(RcR*s;$xzdLb5V z8!Os116nZ(1utkWo$N77YB7>vU7%t!r6qfJo00I0mvt?-wa@ z_ztF}lk``F!d#9qUp8)lTx#pz}cK?m!BI}nq zpZbi5%bk>VM%#un!I z4lw3w?1T?!PE>(iMggzrTA*BzZRC0N@+0+7QhFSxT_5?kZy*vFv3{neyySYS48PU3-P^WG`%FKWZ6*M7E*vK7Xk3<|PvJuDcmN?2rbTlyB9}v( zINWKNd#aX08h!7uO)DDF@ld!Y{0I;Y^?QMDNHyST9Xs@Hon)g zIgUmUA9xEm>DGn#bU%cSDl}^Jv%=JV-r0J?_wmKgiL7~I>5hg>knkvp~D9 z2$mMcaelq>k9(ctuq{d5=fK|Kq9MQi@;z`A$;^PQj!gTM+Pr4`ttM9eZfufANh@MP zWR#wo#jBA=tbg1vW}`Ng$d*cl37Dl;I*!M^tk_uC^ckBqFE?+E`eJr7gqs5aH>Hj! zJLS_k6yUbBY>=n(mAxd$z;XTg`g3ALD}TzqIl_8Yt}Ej~qTIBMliBmuu0y3klt`9r zO?%#JA=;YT)HD``~%>5S;G7!9wPeRzgOIbp+wk)*$HM!WQ} z&eGD0*bsl!_AOyjm%2^F)u?rAb9UT}jf2GMq$HkQfQR&dTM|%u zLg6i>J$`m}lt??{UhY-HvHjty8???okAn`n;TP!t%^~QP&>UbB;HNS#YoPm65Kj54 z{As+JMFP((O;W*H!9Pa(bA27O8_vp!Eb{pzP%j+E-{)*|&zBAM}pdx9gYXdLiSE zD^`fW)|Amk<`^tPbeX#rXAHnIKkdTeLy;<1j)_jIuH@<* zD~$UhS>U^8`REAS0r}ZMu{8Zb*g%hg-2D}of~_6r?-lHy0JX26YA-Fok+tJ`EwzlH z;pyCI?Z?mciEq{}*CD&I=JEc34NKWi49bcIW6t}2{mkYnJ$9!)r<<;u z*_QuSL{8xCM2ytW|1#_DgBf%xc}Z?g_tC$9g>h<2k)wlqF7@bgl7=dv?!7jm(~H*h_*%;-n6^ zW=b}KJ>ry#zEhhvGe@>MRPkjRpb=~YvCz4J-KmZ@&3BwD!j>z79@zfkq9WWHdu9n= z%uO%vCauY2U*FIFHCIw*mOe>tDM_&ufW_l#Fm`3hN70YbDe86o|Tzd(>i|q)=uxJ@Qop9H)^3L|F+FMgm{g6#3BHVqJ zeME+TNmDx6Fc@8C)xjPh<+JAfEM-TaeR` z+}|he%35gM^EBX&%8_IetAM2kD9YHzy%(xp!9KWLWrw{+Td_TI`ftZD=Q;pYooct^7C9H zX4LzXSW7Xnh~fa5)11JWU~?dpkTvXT>aktOa35VyodgxdXTs>*yRT8QqH4o)z8ek5G6a%KCl|Xlfp(de`*HJF{PdLDQYx-i z6bwg$qDH5l8U@^g+-DLmQ3yTF0aLk*7=>_8(xK@OA&uzMu%Z-t)1Gl9Rtdr*(wi5| z-J>dA__4`m*Qe^Nx@dJu-RE@CgLEj{i@sNuMy#&Vc4^70#o_NtVg+lz3UqyOLE0-j zi^Gmd+pwi!6BNet28*T2#JOZE6scYjJLI^(O*tT2uU+ScDbN?2hK!Xv#NOf&xcfSg z)1z2H1Re;jeCuC6CzRW#;lFWZ@Qa~@GmGgn>Pe1-JZ8Lczn)x;z^}Ff$du!4sOPsw zbnAd+FKQ1v9QRKqNT@NK!WLws;N z1ZB0zj91i^Er@v#T!}Mf!%bGrGrUXK=)obY#W|+$0=OVxFTAbvI$3iz+(~>XUrM4a z?x;qf>}(7@n?k#%eI3>7sP$YAmJwbiMIBy^B*T!wrah)1(Zx=!Y z2?!C+(i3Jhyf~bKdNtGD=7#Tb-^A^UiM4cOk@e4sNxVdHCg)!U`AVA9`F?8YSY~5N zkH1WK&Uz?&bUl^ll7@zc+v4YyEn4obJax>B&t`3I`KvXW@A`Cco^~S7nd^XXQ|e_2 zSWmf}pj~;W$Z9eD<{2@SwkU)7!`5qh5gScj9oGb$FQPznTI%t`>NtA9N%pD;-=y=v z9FW~ORLVpRN*UF03g=GAeKe_dNjx9wuzJ0lTx)7Xan(5m*=vH%OQ)!SP;{HwJq%Z- z555+9?7qp+AhOA5P$@dIzs+hSRD^4iS-bsgtT#qV%hZdQMdn0)Q3}=y+vTemop^8zXf>Oi^u1|?D9-L1XuG&O8C~iE)P)vL8SI3R!fv9dLxc2 z(mp|_kA~lS` z6#$?xtZJ4R{yJy4MQ)GJpW7(2cH_>$$6J@?qBk;CQs1?GFy)P3SQ{Tq>$@YU=t0_I z1RG}!^lO&KN_cmyQ!*~jP#r&pLR(ZcA9u+X6?R|YFg3T!zM6oWLU5^t1AgX(^(zg{ z&BLu$x3CBvQ{J4bXI&4Q(yG`vk3XZXk!oFQL^jKGk+zwig@_qos~bCkavZC2f}Lzj zb`=|5hgnzCN~>CKU~Z_aw;4-&+oJ`VGY-OF>G`bwP9b{g8SE=IK{}aTZ6b>!ZdX&T zo~b0*ZVyQ!@_pD$4`hRu^ZT})&~$eQ`xfrmE8NPy4=kDW=b!jJ;Kl$w>J?H??RW|*X zQ`>D_E}v6THT;s_%&6116p$}vA`~VXJQWISf5?i`)zNop>3Rtl-Hv-QkM5^O){tna z-S?2U)oo@v3xMS8=#+06S39y4Q#HNbrR=XsSZr*5tmb!}*_z*rens&k4q5hIt`bNG zS=*>A&Tz|p*e30~H*Z?9)pl>J)VpFxq12{b?nuH{5xG?-ZuPPbOAlh~w}~ZqvP)t^ z51E?pj2O};pgnv$G)B8vIdM^L_3JA=-w?@nTSTBw4zEn3&%e%JmR^q7NalouF4w&qiM-_Wy48_9 zHj-MufudXN`?b3HSn4s6MV?y-ZJ22uh!OADyV6Vuta&TVQrZ0E2Ulf*VN;jwYiWgh zldyeHUn0lZd-?h%etHtb!#cv!_I}3f)Ej=|k|x_%)Ng}$^fGLZ3K0(2UyztNcFb{$Rxd=Z-$Fmveb#+jF&uj7M#lO zjPBo%F!z3Bz+Dr(FF$jMKZl|94V&&ctPdcYIYoME>DpYHl(s4j%@=tDf@pn<`WtDZ z7kNrbi$~wCHJih!KW`+D-jepw_mZjl5Pkh~e(5CH0%z!B7K(3eCkcbd9> z_L5oaCW#cku}A7n;>rAF1H@MQ`YyYcQ`8-}6thg7OSVAe(Sjd0$nR$le6vv~N!ME? zAl*yy8dEvD*VK;R<+r zM2WzKnI)C*DiL%hjEIUg!(WtdJu@e7kH3uWXtc7gW6 zK7qx7dZv@+tGvS{RQ%B^8>Z;}7(*=uJ?FggBM zd``3SdHX&F^^pUB|1nE?G%n}XWjhte(A*u>~kq-h*@=e>i4%c$4p(MFkm=gX0h zvgT)Th{Y6jv)goq`Fu{h=>z4uoO!&u9y9A~Q)+24vOLfPbuQ#IBs#G>gu><_vai*- z6~nBWmSVatZr~*k90$6pwAA`tdFh*s9Osf>qUyQHz4x)PPi^?U)Zz6H#(V%_r?<|! zsMCwfs5krxP^mPTH#<57Mx}{1nemTBU?X$jd@q5J*b8I*V|?fy1y^(sK}eFKT#wir zqgjA!9)DNTeKB%R#NITY$K7keeGKk-HY~YMZpv~efT2Xil)0t?WH9_qo*ecm$EIlq zi}YQje*2zp#pq`^fTYz6*wXS`p;{G+ytu&6rE74L1KN+ShNxcX?F?8MHJ1U*r=M}o zX5r2k{D4Dg+~SKK_MFks!$!bJvW7q}{X1h@$6e2@6k|5=c&lJnkj0YCm@29f^=_2fs>io&yJ59t* z3pYB~VTPhKjrjLE$aY9t@0l6LloaV0?!#&ZLMj*2qp;+O*gccV(YHWRuH)y|85y~z z7$YLyXZp1Kx1<828or8Lv>D4?!UsO- zBD0FKwCy@^TQa(u6N?tWeFKVZH-|Z;c^Vj6Y80#9rGt6;zJy0tylD7lNG6g$8kQ)t z|6cOYx5>?LufLT$c)QV+?(@0~T&tyIc>T<5?LY|HK~$jk%cd$aOt_^f0U!&6j5x$N zW~b<_4dl{1F?cYq8Mr-Ej$NAm#Gs*6^8c~-)=^QmUEeUJq;v`*C?y?A4xNe;(p>`5 zk`CS7QX(*fBHi63AdE1i3?WE&$I!gz=yly*&-Z=ne(v{=Z@ueX>siY+o{KfH&*Rv~ zj^F<6eR?HzM{aoO((IOh{j4*vqYFoMY;jQDWsjZI19?VkQP-_1r>&~pp64iWuF6i_ zn19S`y&GS0bX`pAWMo8;vXNW&&eh&fIlCX19>%-m1u}7m}ma7*p z;e(mkm1JLa-u2*}YU04A@mM)DH7a-B+T@QBO_)UajoPLbl!vNc(<-E#tIlW4f1qJm z?Blq$*Png3fVlW*YKqPE77Uc^N6f6fmiHC6zb#xWon)kquvOmm4C894d$YWJ4AFie zdHHhU-G@69yr#^<#C{x@_E2^fWe&r^{Z}zn6w0UiEy0;;;NU>{m$^xh!RXo5gh){H z6l&R;)AfjzkmP_??;^GtyBk|v5yPE~G1ccjdb@{0U$j!g2wtE8IIc5CybN5K$q_cd znL;hbrAe@$fnE#;%cAj`lOAh>rG4I|({ezYjFLVCaT zvK^hE-w_9*U)r{tc88#3Hlk=>u06bVD_VX=a3*DuS5kq6_)QKFNTkbLf9H2Di)RnvDxt`_d7xJ(M4H`;Wo9LSzN(&&a|KQYs_JZ zDRQl+Nh^}JbHgki4iY5K3hO$n>C2z$7zFDI8=;!@=Lx|2%qHYkgU@=2dztEe-ejrj`|ehj17b zppEA{G+|He4?VIA4_>#X7B|l2w*n#n*;|>vnVCw=DDw@Yo_wuVh?lk~!M z3GALUcB5-#^HddB14h>s(068Tzymw_Y0nq%=3N`euWFrdMSr+{2c?r_F<>rb6a<#N zV?L_N&+i9t6(#?%~Tq4O0r2Rz% zH8x{fO8wUdy#!X%kQ&Z?K@?Or;N2xzVZ2gFer7?d)Ng&1Gdb?wO>_fS9lEf_Rk@@) z%if=o8EvC}N>N(Rd8bVI6o8wgT*PAG34#t24hGp1O#BpvFG@EOp2FxeuXhC=DcxMm z8f;vjEOPDx^>^I7n={x)Dxf$4(A;jvcxr`BA?{DpA8y{7zQ%&_eI9tWd#uZlLirO7 z5hfgamXpUW(kh^F6?_ly`S9(% z)D4L9)fyN}Vs#fr*O+9Fx4upTC}SsR40jJ}^jp zWYe@R`$>@2L_$cj@RXYgiy#BAdeS*mZ;0p!xq&@u$CCbxLaS`MCnK`|?WGdCw|>Y= z2IZ%_N}lnxTZSCzDl>OdH@^hK0T9@hU_wGM*x>fFA@?&A=%9`Bm>>v9f~2bq9F6b? z+_0C60ysjQHh)e@v+eniqSmxB%j;@J24|A(IJW8~O`8be(#4`#X zsbbO(@jg=wG=0~5^jEI)^?9a*x6x2Z0CN^acq@nnRWWE4aABYArfY|D6~A-n&}L3J zE6)y+P1hb{4vi*F=Sy$%z0Yyp{$$E*6ti#yE(lR?l42Y16ynkle=Viv&1)yF7^44p zA-KV5T^E0eG2bZjG%8ZwDXAXGLD_KTfwUoLC!g)YHnMY;@(jUZ4&9;EmlKn`m)V#J zeKyvr7mNcR1-NjBu1b1yQKY%x{A?gg)zdXG#U%Y01lHeF6fJ7aqjU_X-{d7AGFAMWs4}0)Q$LiJVfnreu$w!oLH2iFRxZ zWN5xkjrhn;<=npkFem(5jRXQYjhcQ2ZG4QO1BeyIDfE-<^(?;`GNHun-jmsPVyy#z z7bTz50mR-hP4JU4&D!kVO8%Q`k^!RGK|tS^d1(EAn~i-EEN!sQ>7L0W;n*9}>)!fE z*bmuN&feqbQ#g?grnARinpZj@vhpt#Ai$Y{Qq% zH?weD1b`C{pF#7MDlRf(q7CzO$#naFa;3z4)<|1zU%R=4C+K?Jyj}8Iq+=VHU_H(cMtTeg74z>T4F8d@&x-0p6J}EFE3uF zGsR=TuppP{4L1-R+?zSg7sg`XMGJOH`8*O_7%}&-_jQprZM?65G5TMSG9lIrG$2jN z0_c)M+ah(ZCoa+QE2ZmdrXTRScEg{i)n4ixg48UfZ z@9&8`Q)mVMP}i+?i*Ums8${g+a3P~$9~O#iuQKmvE3<<_lBzv6C#GBvlz{AIR8Mr( z#somKB;=K3ZF*_M)v?Nx*3xf{1&W7%YU89G9jV_1;=SkVl~7}4DL13e!==8LBTEw# zHr+loPBa`B%eZa9t1qlwvMp_n$NJOG2X59T=2EPCcSIh&6PLPwr1y*A;53iJ4 z;o=@9!a=JMIAXsQJ6#FzTX_hSvHO3KF#pBI{BJJW`!Ftvfzq&-j)zd2%lb&GA7ryK2>C_8S%qca>AVO!THeGschwmUHTO zm7-P|N}Ie-2(fuzj{Zx(e!fA%h0W+$=fBVFfBqW7WULE3rNztrk+3q0b$?nz-k}4$ zA?P#5-IYiE-?`t;Kfz7X5%f7cdD5Tq5rgr?xu4th4@}>WKt1SPF92udB0M-oWL9aw zizgb5F2}{mhTG+Wo~L6cPN_OADZ2xnnnTREhFX2q$}M}B=Ot_|XH!B{y@unXd4t8_ zg+g)Ndp~9iA1tzwl__%7dTH%Ai`HIMglJx#=N@tIJOvsMUyysWAxu+*FCAY|I~rcO z9n46cJFUN_TH^Fr-4yXzQTBFf5ceI&Sf^?Q!XNcQi6>NU7dtOLG~ITHEqCRMt84W-C%rPpO3Ew1uI1LJl92y4bX!ki#VR+y z_8-C85No+%h+M%Bi%i~Etajmsxynq4_ znzS_@D%^vl^0}zJbX+s#^{z&kTS1X9wla#s@teEuSn~}z0m{GcJ&y#anyrhr>l`be zsNCi0t6(&Lu9e99i9?QnG18s?vD7@gAgTHcK_vI?<@czh^>7?Byxb>gYk6}XL%D3j zA(a}eLP1XEzEdi?eBq^YAW7)=I-c}gpW}ujh5lZ=Jb@3~9yfRqVvm2QI91tox-M-W zP0p>A9kvap;-=wcV1@@s(`nbHv&!OItC&GJl6cLa-3P9pO>c?l_}t4jg}V8)U3()~ ze>A*J;*8iGFk{wgPv+Q_^(V`(TUIZi<#R0)eAt>PV0-`d8roL%@(U4poL*cuJOlaC zV%LI~>m4B@A6`@&ySsMjY^Xz|)Cu~vRB)_*J9%slQxD#% zHZL`RdTiPiyvm0kjAZJKM(Z)(86W13@u?9E22*J2O$yuzV?u$u?tkE@G9Dj5YE zK2#rpj@nCwh+dY!zWw(q<>q{_B#T~Pw6MTo(+^I)mCc%>7c)Rzt6>f=mf-z-SoJjt z)|ce2D}fxULJM1=ikQ4ZzDt9B`wjRySt6yKkSaibJ9Iw;mtu@q2p1$-LCH&>+HD*& zpS&vlGNgY!PE8RmngHOOAv=-2)@(opw&i?A-F59y4I3uz;Tp{pv9s@{(dfCWl-^8o zyEF&LjC-+HQOMIW+q?iDcNR!qdj5XU!0ld^MeN248@G?PsRv�p~Qjrz|p5-H}$~ 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
    uemld1h8jj>b7%0;wXJN0Z=jWITdfQh)& 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 Hb;UU^=ZLN)7wp?5j0}C3I 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

    ( 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 e`+_CcPX+mmIuVyIs **Warning:** This example is not yet implemented. diff --git a/examples/figma-export-published-assets/assets/icons/.cache.json b/examples/figma-export-published-assets/assets/icons/.cache.json new file mode 100644 index 0000000..bc0f3b1 --- /dev/null +++ b/examples/figma-export-published-assets/assets/icons/.cache.json @@ -0,0 +1,25 @@ +{ + "published-components:UdQdzfwr9K9EUrC33xtRKg": { + "70c0d808ad94f7b3aa4d465d3c1cd8d593f2cb29": { + "node_id": "56:2021", + "name": "size=sm", + "created_at": "2023-07-25T14:31:44.232Z", + "updated_at": "2023-07-25T14:31:44.232Z", + "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" + }, + "b2a5e49a8cfb93ee95a242fb0c1e594e251f0806": { + "node_id": "56:2039", + "name": "size=lg", + "created_at": "2023-07-25T14:31:44.239Z", + "updated_at": "2023-07-25T14:31:44.239Z", + "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" + }, + "a8672790fa0a6bc8334d3e8df7246ba7a24516f4": { + "node_id": "56:2034", + "name": "size=md", + "created_at": "2023-07-25T14:31:44.244Z", + "updated_at": "2023-07-25T14:31:44.244Z", + "content": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" + } + } +} diff --git a/examples/figma-export-published-assets/assets/icons/size-lg.svg b/examples/figma-export-published-assets/assets/icons/size-lg.svg new file mode 100644 index 0000000..704fef1 --- /dev/null +++ b/examples/figma-export-published-assets/assets/icons/size-lg.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/figma-export-published-assets/assets/icons/size-md.svg b/examples/figma-export-published-assets/assets/icons/size-md.svg new file mode 100644 index 0000000..a44cc19 --- /dev/null +++ b/examples/figma-export-published-assets/assets/icons/size-md.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/figma-export-published-assets/assets/icons/size-sm.svg b/examples/figma-export-published-assets/assets/icons/size-sm.svg new file mode 100644 index 0000000..7035994 --- /dev/null +++ b/examples/figma-export-published-assets/assets/icons/size-sm.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/figma-export-published-assets/assets/wolf/.cache.json b/examples/figma-export-published-assets/assets/wolf/.cache.json new file mode 100644 index 0000000..a6db5c0 --- /dev/null +++ b/examples/figma-export-published-assets/assets/wolf/.cache.json @@ -0,0 +1 @@ +{ "published-components:etBvPUmYLbPrflacduH34n": {} } diff --git a/examples/figma-export-published-assets/figma.config.cjs b/examples/figma-export-published-assets/figma.config.cjs new file mode 100644 index 0000000..4e4ced7 --- /dev/null +++ b/examples/figma-export-published-assets/figma.config.cjs @@ -0,0 +1,21 @@ +/** + * @type {import('@neodx/figma').Configuration} + */ +module.exports = { + export: [ + { + type: 'published-components', + fileId: + 'https://www.figma.com/file/UdQdzfwr9K9EUrC33xtRKg/Figma-2023-Showcase?type=design&node-id=42-121&mode=design&t=Bli1W8fNU2PEfgBg-0', + output: 'assets/icons', + filter: node => node.name.startsWith('size') + }, + { + // will be empty, it's an external file + type: 'published-components', + output: 'assets/wolf', + fileId: + 'https://www.figma.com/file/etBvPUmYLbPrflacduH34n/The-Wolf-Kit-Social-Icons-(Community)-(Community)?type=design&node-id=857-23516&mode=design&t=LMaPc1V6gVhfz2Np-0' + } + ] +}; diff --git a/examples/figma-export-published-assets/package.json b/examples/figma-export-published-assets/package.json new file mode 100644 index 0000000..4ce5272 --- /dev/null +++ b/examples/figma-export-published-assets/package.json @@ -0,0 +1,34 @@ +{ + "name": "example-figma-export-file-assets", + "version": "0.0.1", + "private": true, + "packageManager": "yarn@3.2.0", + "type": "module", + "sideEffects": false, + "publishConfig": { + "access": "restricted" + }, + "dependencies": { + "@neodx/figma": "workspace:*" + }, + "scripts": { + "export": "figma export" + }, + "nx": { + "targets": { + "export": { + "outputs": [ + "assets/icons" + ], + "inputs": [ + "{projectRoot}/assets/**/*.svg", + "shared", + "config" + ], + "dependsOn": [ + "^build" + ] + } + } + } +} diff --git a/examples/svg-magic-with-figma-export/README.md b/examples/svg-magic-with-figma-export/README.md index 75b0d7f..26af66e 100644 --- a/examples/svg-magic-with-figma-export/README.md +++ b/examples/svg-magic-with-figma-export/README.md @@ -2,7 +2,7 @@ This example based on the [JetBrains Int UI Icons (Community)](). -I will skip some common steps, if you're interested in details, please check [Simple Figma export example](../figma-simple-export). +I will skip some common steps, if you're interested in details, please check [Simple Figma export example](../figma-export-file-assets). Conditions and requirements (I wanted to export only a part of the icons): diff --git a/examples/svg-magic-with-figma-export/public/general.svg b/examples/svg-magic-with-figma-export/public/general.svg index b86d5d6..b413af7 100644 --- a/examples/svg-magic-with-figma-export/public/general.svg +++ b/examples/svg-magic-with-figma-export/public/general.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/examples/svg-magic-with-figma-export/public/tool-windows.svg b/examples/svg-magic-with-figma-export/public/tool-windows.svg index 83d22a6..d9b782c 100644 --- a/examples/svg-magic-with-figma-export/public/tool-windows.svg +++ b/examples/svg-magic-with-figma-export/public/tool-windows.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/examples/svg-vite/package.json b/examples/svg-vite/package.json index 1657460..f9fba90 100644 --- a/examples/svg-vite/package.json +++ b/examples/svg-vite/package.json @@ -2,7 +2,6 @@ "name": "example-svg-vite", "version": "0.0.1", "private": true, - "type": "module", "packageManager": "yarn@3.2.0", "sideEffects": false, "publishConfig": { diff --git a/examples/svg-vite/postcss.config.js b/examples/svg-vite/postcss.config.mjs similarity index 100% rename from examples/svg-vite/postcss.config.js rename to examples/svg-vite/postcss.config.mjs diff --git a/examples/svg-vite/public/common.76103a6c.svg b/examples/svg-vite/public/common.76103a6c.svg deleted file mode 100644 index f0f4d23..0000000 --- a/examples/svg-vite/public/common.76103a6c.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/examples/svg-vite/public/common.7854f9b0.svg b/examples/svg-vite/public/common.7854f9b0.svg new file mode 100644 index 0000000..a5b35d9 --- /dev/null +++ b/examples/svg-vite/public/common.7854f9b0.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/svg-vite/public/flags.49fa86bc.svg b/examples/svg-vite/public/flags.49fa86bc.svg deleted file mode 100644 index 69da58d..0000000 --- a/examples/svg-vite/public/flags.49fa86bc.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/examples/svg-vite/public/flags.def2b6af.svg b/examples/svg-vite/public/flags.def2b6af.svg new file mode 100644 index 0000000..4ac586f --- /dev/null +++ b/examples/svg-vite/public/flags.def2b6af.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/svg-vite/public/logos.6c76e8cd.svg b/examples/svg-vite/public/logos.6c76e8cd.svg new file mode 100644 index 0000000..d5d270e --- /dev/null +++ b/examples/svg-vite/public/logos.6c76e8cd.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/svg-vite/public/logos.bab17578.svg b/examples/svg-vite/public/logos.bab17578.svg deleted file mode 100644 index b3bc078..0000000 --- a/examples/svg-vite/public/logos.bab17578.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/examples/svg-vite/src/shared/ui/icon/sprite.gen.ts b/examples/svg-vite/src/shared/ui/icon/sprite.gen.ts index ecb13b0..069275c 100644 --- a/examples/svg-vite/src/shared/ui/icon/sprite.gen.ts +++ b/examples/svg-vite/src/shared/ui/icon/sprite.gen.ts @@ -427,7 +427,7 @@ export interface SpritesMap { } export const SPRITES_META = { common: { - filePath: 'common.76103a6c.svg', + filePath: 'common.7854f9b0.svg', items: { add: { viewBox: '0 0 16 16', @@ -607,7 +607,7 @@ export const SPRITES_META = { } }, flags: { - filePath: 'flags.49fa86bc.svg', + filePath: 'flags.def2b6af.svg', items: { ac: { viewBox: '0 0 512 512', @@ -2547,7 +2547,7 @@ export const SPRITES_META = { } }, logos: { - filePath: 'logos.bab17578.svg', + filePath: 'logos.6c76e8cd.svg', items: { linkedin: { viewBox: '0 0 140 34', diff --git a/examples/svg-vite/vite.config.ts b/examples/svg-vite/vite.config.ts index be62801..17972f9 100644 --- a/examples/svg-vite/vite.config.ts +++ b/examples/svg-vite/vite.config.ts @@ -20,7 +20,7 @@ export default defineConfig({ } }, resetColors: { - exclude: [/^flags/, /^logos/], + exclude: [/^flags/, /^logos/, /^common/], replace: ['#000', '#eee', '#6C707E', '#313547'], replaceUnknown: 'var(--icon-color)' } diff --git a/libs/log/package.json b/libs/log/package.json index efead3a..1b6f0e5 100644 --- a/libs/log/package.json +++ b/libs/log/package.json @@ -57,7 +57,6 @@ }, "dependencies": { "@neodx/colors": "^0.2.4", - "cli-truncate": "^3.1.0", "pathe": "^1.1.1" }, "devDependencies": { @@ -67,6 +66,7 @@ "@types/koa": "^2.13.6", "@types/tmp": "^0.2.3", "bunyan": "^1.8.15", + "cli-truncate": "^3.1.0", "express": "^4.18.2", "koa": "^2.14.2", "loglevel": "^1.8.1", diff --git a/package.json b/package.json index 3830c14..d19b104 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "check-install": "yarn dlx @yarnpkg/doctor .", "postinstall": "is-ci || yarn husky install", "release-version": "yarn changeset version && yarn nx format:write && yarn install --mode=update-lockfile", - "release-publish": "yarn nx affected:build && yarn changeset publish" + "release-publish": "AUTOBUILD_FORCE_FLATTEN=true yarn nx affected:build && yarn changeset publish" }, "devDependencies": { "@changesets/changelog-github": "^0.4.8", diff --git a/yarn.lock b/yarn.lock index 0862bf5..d81131b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1567,7 +1567,7 @@ __metadata: languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.15": +"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.13, @jridgewell/sourcemap-codec@npm:^1.4.15": version: 1.4.15 resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" checksum: b881c7e503db3fc7f3c1f35a1dd2655a188cc51a3612d76efc8a6eb74728bef5606e6758ee77423e564092b4a518aba569bbb21c9bac5ab7a35b0c6ae7e344c8 @@ -1686,6 +1686,8 @@ __metadata: dependencies: "@babel/core": ^7.22.9 "@rollup/plugin-babel": ^6.0.3 + "@rollup/plugin-commonjs": ^25.0.3 + "@rollup/plugin-node-resolve": ^15.1.0 "@rollup/pluginutils": ^5.0.2 "@swc/core": ^1.3.70 "@swc/helpers": ^0.5.1 @@ -2250,6 +2252,44 @@ __metadata: languageName: node linkType: hard +"@rollup/plugin-commonjs@npm:^25.0.3": + version: 25.0.3 + resolution: "@rollup/plugin-commonjs@npm:25.0.3" + dependencies: + "@rollup/pluginutils": ^5.0.1 + commondir: ^1.0.1 + estree-walker: ^2.0.2 + glob: ^8.0.3 + is-reference: 1.2.1 + magic-string: ^0.27.0 + peerDependencies: + rollup: ^2.68.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + checksum: 1b94218cc80364d218e5d526e9199620151fe8ac489abc293a75741af5ffb2bfa90da06cffc4a1b9a4091a6f8cda63a6f7c557881b12188f9e0a05f08c147fd0 + languageName: node + linkType: hard + +"@rollup/plugin-node-resolve@npm:^15.1.0": + version: 15.1.0 + resolution: "@rollup/plugin-node-resolve@npm:15.1.0" + dependencies: + "@rollup/pluginutils": ^5.0.1 + "@types/resolve": 1.20.2 + deepmerge: ^4.2.2 + is-builtin-module: ^3.2.1 + is-module: ^1.0.0 + resolve: ^1.22.1 + peerDependencies: + rollup: ^2.78.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + checksum: 83617cdbb90cb780251e8b16dc1671e35bde90b8d4d30e008aefe706b5b643057f6299bdd3226b2a30bf5e4f807a880169de3faa47b9f2ba38d39f294f85f951 + languageName: node + linkType: hard + "@rollup/pluginutils@npm:^5.0.1, @rollup/pluginutils@npm:^5.0.2": version: 5.0.2 resolution: "@rollup/pluginutils@npm:5.0.2" @@ -2614,10 +2654,10 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:^1.0.0": - version: 1.0.0 - resolution: "@types/estree@npm:1.0.0" - checksum: 910d97fb7092c6738d30a7430ae4786a38542023c6302b95d46f49420b797f21619cdde11fa92b338366268795884111c2eb10356e4bd2c8ad5b92941e9e6443 +"@types/estree@npm:*, @types/estree@npm:^1.0.0": + version: 1.0.1 + resolution: "@types/estree@npm:1.0.1" + checksum: e9aa175eacb797216fafce4d41e8202c7a75555bc55232dee0f9903d7171f8f19f0ae7d5191bb1a88cb90e65468be508c0df850a9fb81b4433b293a5a749899d languageName: node linkType: hard @@ -2813,6 +2853,13 @@ __metadata: languageName: node linkType: hard +"@types/resolve@npm:1.20.2": + version: 1.20.2 + resolution: "@types/resolve@npm:1.20.2" + checksum: 61c2cad2499ffc8eab36e3b773945d337d848d3ac6b7b0a87c805ba814bc838ef2f262fc0f109bfd8d2e0898ff8bd80ad1025f9ff64f1f71d3d4294c9f14e5f6 + languageName: node + linkType: hard + "@types/scheduler@npm:*": version: 0.16.2 resolution: "@types/scheduler@npm:0.16.2" @@ -4593,6 +4640,13 @@ __metadata: languageName: node linkType: hard +"commondir@npm:^1.0.1": + version: 1.0.1 + resolution: "commondir@npm:1.0.1" + checksum: 59715f2fc456a73f68826285718503340b9f0dd89bfffc42749906c5cf3d4277ef11ef1cca0350d0e79204f00f1f6d83851ececc9095dc88512a697ac0b9bdcb + languageName: node + linkType: hard + "compare-func@npm:^2.0.0": version: 2.0.0 resolution: "compare-func@npm:2.0.0" @@ -5099,6 +5153,13 @@ __metadata: languageName: node linkType: hard +"deepmerge@npm:^4.2.2": + version: 4.3.1 + resolution: "deepmerge@npm:4.3.1" + checksum: 2024c6a980a1b7128084170c4cf56b0fd58a63f2da1660dcfe977415f27b17dbe5888668b59d0b063753f3220719d5e400b7f113609489c90160bb9a5518d052 + languageName: node + linkType: hard + "default-browser-id@npm:^3.0.0": version: 3.0.0 resolution: "default-browser-id@npm:3.0.0" @@ -6293,9 +6354,17 @@ __metadata: languageName: unknown linkType: soft -"example-figma-simple-export@workspace:examples/figma-simple-export": +"example-figma-export-file-assets@workspace:examples/figma-export-published-assets": version: 0.0.0-use.local - resolution: "example-figma-simple-export@workspace:examples/figma-simple-export" + resolution: "example-figma-export-file-assets@workspace:examples/figma-export-published-assets" + dependencies: + "@neodx/figma": "workspace:*" + languageName: unknown + linkType: soft + +"example-figma-simple-export@workspace:examples/figma-export-file-assets": + version: 0.0.0-use.local + resolution: "example-figma-simple-export@workspace:examples/figma-export-file-assets" dependencies: "@neodx/figma": "workspace:*" languageName: unknown @@ -7027,16 +7096,16 @@ __metadata: languageName: node linkType: hard -"glob@npm:^8.0.1": - version: 8.0.3 - resolution: "glob@npm:8.0.3" +"glob@npm:^8.0.1, glob@npm:^8.0.3": + version: 8.1.0 + resolution: "glob@npm:8.1.0" dependencies: fs.realpath: ^1.0.0 inflight: ^1.0.4 inherits: 2 minimatch: ^5.0.1 once: ^1.3.0 - checksum: 50bcdea19d8e79d8de5f460b1939ffc2b3299eac28deb502093fdca22a78efebc03e66bf54f0abc3d3d07d8134d19a32850288b7440d77e072aa55f9d33b18c5 + checksum: 92fbea3221a7d12075f26f0227abac435de868dd0736a17170663783296d0dd8d3d532a5672b4488a439bf5d7fb85cdd07c11185d6cd39184f0385cbdfb86a47 languageName: node linkType: hard @@ -7745,6 +7814,13 @@ __metadata: languageName: node linkType: hard +"is-module@npm:^1.0.0": + version: 1.0.0 + resolution: "is-module@npm:1.0.0" + checksum: 8cd5390730c7976fb4e8546dd0b38865ee6f7bacfa08dfbb2cc07219606755f0b01709d9361e01f13009bbbd8099fa2927a8ed665118a6105d66e40f1b838c3f + languageName: node + linkType: hard + "is-negative-zero@npm:^2.0.2": version: 2.0.2 resolution: "is-negative-zero@npm:2.0.2" @@ -7789,6 +7865,15 @@ __metadata: languageName: node linkType: hard +"is-reference@npm:1.2.1": + version: 1.2.1 + resolution: "is-reference@npm:1.2.1" + dependencies: + "@types/estree": "*" + checksum: e7b48149f8abda2c10849ea51965904d6a714193d68942ad74e30522231045acf06cbfae5a4be2702fede5d232e61bf50b3183acdc056e6e3afe07fcf4f4b2bc + languageName: node + linkType: hard + "is-regex@npm:^1.1.4": version: 1.1.4 resolution: "is-regex@npm:1.1.4" @@ -8559,6 +8644,15 @@ __metadata: languageName: node linkType: hard +"magic-string@npm:^0.27.0": + version: 0.27.0 + resolution: "magic-string@npm:0.27.0" + dependencies: + "@jridgewell/sourcemap-codec": ^1.4.13 + checksum: 273faaa50baadb7a2df6e442eac34ad611304fc08fe16e24fe2e472fd944bfcb73ffb50d2dc972dc04e92784222002af46868cb9698b1be181c81830fd95a13e + languageName: node + linkType: hard + "magic-string@npm:^0.30.0, magic-string@npm:^0.30.1": version: 0.30.1 resolution: "magic-string@npm:0.30.1" From 98044fef94d8f3159db2b2d5d30292895d7e1472 Mon Sep 17 00:00:00 2001 From: Dmitry Remezov Date: Sun, 30 Jul 2023 21:26:19 +0300 Subject: [PATCH 14/15] changeset: sync changesets --- .changeset/few-bikes-marry.md | 5 +++++ .changeset/nasty-zebras-hug.md | 5 +++++ .changeset/new-islands-talk.md | 5 +++++ .changeset/ninety-scissors-itch.md | 5 +++++ .changeset/purple-queens-speak.md | 5 +++++ .changeset/red-ants-grin.md | 5 +++++ .changeset/silver-balloons-repeat.md | 5 +++++ .changeset/slimy-bobcats-itch.md | 5 +++++ 8 files changed, 40 insertions(+) create mode 100644 .changeset/few-bikes-marry.md create mode 100644 .changeset/nasty-zebras-hug.md create mode 100644 .changeset/new-islands-talk.md create mode 100644 .changeset/ninety-scissors-itch.md create mode 100644 .changeset/purple-queens-speak.md create mode 100644 .changeset/red-ants-grin.md create mode 100644 .changeset/silver-balloons-repeat.md create mode 100644 .changeset/slimy-bobcats-itch.md diff --git a/.changeset/few-bikes-marry.md b/.changeset/few-bikes-marry.md new file mode 100644 index 0000000..6b99fd8 --- /dev/null +++ b/.changeset/few-bikes-marry.md @@ -0,0 +1,5 @@ +--- +'@neodx/figma': patch +--- + +Rework documentation, add big section about docs migration diff --git a/.changeset/nasty-zebras-hug.md b/.changeset/nasty-zebras-hug.md new file mode 100644 index 0000000..dca9541 --- /dev/null +++ b/.changeset/nasty-zebras-hug.md @@ -0,0 +1,5 @@ +--- +'@neodx/figma': patch +--- + +Reorganize Node Export API for more accurate stages composition diff --git a/.changeset/new-islands-talk.md b/.changeset/new-islands-talk.md new file mode 100644 index 0000000..b79f0a4 --- /dev/null +++ b/.changeset/new-islands-talk.md @@ -0,0 +1,5 @@ +--- +'@neodx/autobuild': minor +--- + +Add `--flatten` option for `dist` unzipping which results in user-friendly structure diff --git a/.changeset/ninety-scissors-itch.md b/.changeset/ninety-scissors-itch.md new file mode 100644 index 0000000..032c7e8 --- /dev/null +++ b/.changeset/ninety-scissors-itch.md @@ -0,0 +1,5 @@ +--- +'@neodx/svg': patch +--- + +Add `resetColors: false` support diff --git a/.changeset/purple-queens-speak.md b/.changeset/purple-queens-speak.md new file mode 100644 index 0000000..1db0df3 --- /dev/null +++ b/.changeset/purple-queens-speak.md @@ -0,0 +1,5 @@ +--- +'@neodx/log': patch +--- + +Inline `cli-truncate` dependency to solve `cjs` imports issue diff --git a/.changeset/red-ants-grin.md b/.changeset/red-ants-grin.md new file mode 100644 index 0000000..37c870f --- /dev/null +++ b/.changeset/red-ants-grin.md @@ -0,0 +1,5 @@ +--- +'@neodx/std': patch +--- + +Add `shallowEqual` diff --git a/.changeset/silver-balloons-repeat.md b/.changeset/silver-balloons-repeat.md new file mode 100644 index 0000000..e766c8c --- /dev/null +++ b/.changeset/silver-balloons-repeat.md @@ -0,0 +1,5 @@ +--- +'@neodx/figma': minor +--- + +Make Export APIs more consistent, diff --git a/.changeset/slimy-bobcats-itch.md b/.changeset/slimy-bobcats-itch.md new file mode 100644 index 0000000..d8bfca1 --- /dev/null +++ b/.changeset/slimy-bobcats-itch.md @@ -0,0 +1,5 @@ +--- +'@neodx/figma': minor +--- + +Introduce new Export API: Exporting published library component From a657e9030f733b6a47ee88ae23e39b931eb2b68a Mon Sep 17 00:00:00 2001 From: Dmitry Remezov Date: Sun, 30 Jul 2023 21:31:40 +0300 Subject: [PATCH 15/15] fix(docs): fix dead link --- apps/docs/figma/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/docs/figma/index.md b/apps/docs/figma/index.md index c81c22b..53e7237 100644 --- a/apps/docs/figma/index.md +++ b/apps/docs/figma/index.md @@ -36,7 +36,7 @@ pnpm add -D @neodx/figma You can use the `@neodx/figma` in two ways: - [Export API](./api/export/) CLI - built-in automated flow for exporting assets from Figma files or published library components. -- [Node.js API](./api/low-level/) - a set of functions that you can use to build your own custom Figma integration tools. +- [Node.js API](./api/figma-api.md) - a set of functions that you can use to build your own custom Figma integration tools. In this guide, we will use the [Export](./api/export/) CLI to export assets from Figma files.