@blac/core 2.0.0-rc.1 → 2.0.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1361 -38
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +868 -0
- package/dist/index.d.ts +867 -16
- package/dist/index.js +1315 -37
- package/dist/index.js.map +1 -1
- package/package.json +17 -11
- package/dist/.tsbuildinfo +0 -1
- package/dist/Blac.d.ts +0 -246
- package/dist/Blac.d.ts.map +0 -1
- package/dist/Blac.js +0 -624
- package/dist/Blac.js.map +0 -1
- package/dist/Bloc.d.ts +0 -41
- package/dist/Bloc.d.ts.map +0 -1
- package/dist/Bloc.js +0 -140
- package/dist/Bloc.js.map +0 -1
- package/dist/BlocBase.d.ts +0 -110
- package/dist/BlocBase.d.ts.map +0 -1
- package/dist/BlocBase.js +0 -287
- package/dist/BlocBase.js.map +0 -1
- package/dist/Cubit.d.ts +0 -25
- package/dist/Cubit.d.ts.map +0 -1
- package/dist/Cubit.js +0 -64
- package/dist/Cubit.js.map +0 -1
- package/dist/adapter/BlacAdapter.d.ts +0 -67
- package/dist/adapter/BlacAdapter.d.ts.map +0 -1
- package/dist/adapter/BlacAdapter.js +0 -263
- package/dist/adapter/BlacAdapter.js.map +0 -1
- package/dist/adapter/ProxyFactory.d.ts +0 -50
- package/dist/adapter/ProxyFactory.d.ts.map +0 -1
- package/dist/adapter/ProxyFactory.js +0 -150
- package/dist/adapter/ProxyFactory.js.map +0 -1
- package/dist/adapter/index.d.ts +0 -3
- package/dist/adapter/index.d.ts.map +0 -1
- package/dist/adapter/index.js +0 -19
- package/dist/adapter/index.js.map +0 -1
- package/dist/errors/BlacError.d.ts +0 -38
- package/dist/errors/BlacError.d.ts.map +0 -1
- package/dist/errors/BlacError.js +0 -55
- package/dist/errors/BlacError.js.map +0 -1
- package/dist/errors/ErrorManager.d.ts +0 -39
- package/dist/errors/ErrorManager.d.ts.map +0 -1
- package/dist/errors/ErrorManager.js +0 -91
- package/dist/errors/ErrorManager.js.map +0 -1
- package/dist/errors/handleError.d.ts +0 -24
- package/dist/errors/handleError.d.ts.map +0 -1
- package/dist/errors/handleError.js +0 -62
- package/dist/errors/handleError.js.map +0 -1
- package/dist/errors/index.d.ts +0 -5
- package/dist/errors/index.d.ts.map +0 -1
- package/dist/errors/index.js +0 -13
- package/dist/errors/index.js.map +0 -1
- package/dist/events.d.ts +0 -11
- package/dist/events.d.ts.map +0 -1
- package/dist/events.js +0 -17
- package/dist/events.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/lifecycle/BlocLifecycle.d.ts +0 -51
- package/dist/lifecycle/BlocLifecycle.d.ts.map +0 -1
- package/dist/lifecycle/BlocLifecycle.js +0 -123
- package/dist/lifecycle/BlocLifecycle.js.map +0 -1
- package/dist/lifecycle/index.d.ts +0 -2
- package/dist/lifecycle/index.d.ts.map +0 -1
- package/dist/lifecycle/index.js +0 -18
- package/dist/lifecycle/index.js.map +0 -1
- package/dist/plugins/BlocPluginRegistry.d.ts +0 -58
- package/dist/plugins/BlocPluginRegistry.d.ts.map +0 -1
- package/dist/plugins/BlocPluginRegistry.js +0 -201
- package/dist/plugins/BlocPluginRegistry.js.map +0 -1
- package/dist/plugins/SystemPluginRegistry.d.ts +0 -79
- package/dist/plugins/SystemPluginRegistry.d.ts.map +0 -1
- package/dist/plugins/SystemPluginRegistry.js +0 -184
- package/dist/plugins/SystemPluginRegistry.js.map +0 -1
- package/dist/plugins/index.d.ts +0 -4
- package/dist/plugins/index.d.ts.map +0 -1
- package/dist/plugins/index.js +0 -26
- package/dist/plugins/index.js.map +0 -1
- package/dist/plugins/types.d.ts +0 -103
- package/dist/plugins/types.d.ts.map +0 -1
- package/dist/plugins/types.js +0 -3
- package/dist/plugins/types.js.map +0 -1
- package/dist/subscription/SubscriptionManager.d.ts +0 -67
- package/dist/subscription/SubscriptionManager.d.ts.map +0 -1
- package/dist/subscription/SubscriptionManager.js +0 -317
- package/dist/subscription/SubscriptionManager.js.map +0 -1
- package/dist/subscription/index.d.ts +0 -3
- package/dist/subscription/index.d.ts.map +0 -1
- package/dist/subscription/index.js +0 -19
- package/dist/subscription/index.js.map +0 -1
- package/dist/subscription/types.d.ts +0 -65
- package/dist/subscription/types.d.ts.map +0 -1
- package/dist/subscription/types.js +0 -3
- package/dist/subscription/types.js.map +0 -1
- package/dist/testing.d.ts +0 -33
- package/dist/testing.d.ts.map +0 -1
- package/dist/testing.js +0 -68
- package/dist/testing.js.map +0 -1
- package/dist/types.d.ts +0 -57
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -3
- package/dist/types.js.map +0 -1
- package/dist/utils/BatchingManager.d.ts +0 -28
- package/dist/utils/BatchingManager.d.ts.map +0 -1
- package/dist/utils/BatchingManager.js +0 -48
- package/dist/utils/BatchingManager.js.map +0 -1
- package/dist/utils/RerenderLogger.d.ts +0 -60
- package/dist/utils/RerenderLogger.d.ts.map +0 -1
- package/dist/utils/RerenderLogger.js +0 -205
- package/dist/utils/RerenderLogger.js.map +0 -1
- package/dist/utils/generateInstanceId.d.ts +0 -11
- package/dist/utils/generateInstanceId.d.ts.map +0 -1
- package/dist/utils/generateInstanceId.js +0 -50
- package/dist/utils/generateInstanceId.js.map +0 -1
- package/dist/utils/shallowEqual.d.ts +0 -9
- package/dist/utils/shallowEqual.d.ts.map +0 -1
- package/dist/utils/shallowEqual.js +0 -35
- package/dist/utils/shallowEqual.js.map +0 -1
- package/dist/utils/uuid.d.ts +0 -10
- package/dist/utils/uuid.d.ts.map +0 -1
- package/dist/utils/uuid.js +0 -24
- package/dist/utils/uuid.js.map +0 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,yCAAuB;AACvB,6CAA2B;AAC3B,0CAAwB;AACxB,0CAAwB;AACxB,2CAAyB;AACzB,iDAA+B;AAC/B,8CAA4B;AAE5B,YAAY;AACZ,+CAA6B;AAC7B,uDAAqC;AACrC,6DAA2C;AAC3C,yDAAuC;AAEvC,iBAAiB;AACjB,4CAA0B;AAE1B,UAAU;AACV,4CAA0B;AAE1B,UAAU;AACV,4CAA0B;AAE1B,iBAAiB;AACjB,2CAAyB"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["results: T[]","toDelete: string[]","typeBreakdown: Record<string, number>","error","error","amount: number","email: string","password: string","fullPath: string","segments: string[]","info","entry: LogEntry","currentConfig: LogConfig","isProxyable","fullPath: string"],"sources":["../src/utils/idGenerator.ts","../src/core/StateContainerRegistry.ts","../src/core/StateContainer.ts","../src/core/Cubit.ts","../src/core/Vertex.ts","../src/tracking/proxy-tracker.ts","../src/tracking/path-utils.ts","../src/tracking/dependency-tracker.ts","../src/logging/Logger.ts","../src/proxy/ProxyTracker.ts","../src/constants.ts"],"sourcesContent":["/**\n * Centralized ID Generation\n *\n * Provides consistent, collision-resistant ID generation for all BlaC subsystems.\n * Uses timestamp + counter + random suffix for uniqueness.\n */\n\n// Global counter map for ID generation\nconst globalCounters = new Map<string, number>();\n\n/**\n * Creates an ID generator with isolated counter state\n *\n * @param prefix - Prefix for generated IDs\n * @returns Object with next(), nextSimple(), and reset() methods\n *\n * @example\n * ```ts\n * const generator = createIdGenerator('sub');\n * const id1 = generator.next(); // \"sub_1698765432100_1_a3k9d7f2q\"\n * const id2 = generator.next(); // \"sub_1698765432101_2_b4n8e9g3r\"\n * ```\n */\nexport function createIdGenerator(prefix: string) {\n let counter = 0;\n return {\n next: () =>\n `${prefix}_${Date.now()}_${++counter}_${Math.random().toString(36).substring(2, 11)}`,\n nextSimple: () => `${prefix}_${++counter}`,\n reset: () => {\n counter = 0;\n },\n };\n}\n\n/**\n * Generate ID with timestamp, counter, and random suffix (tree-shakeable)\n *\n * Format: `${prefix}_${timestamp}_${counter}_${random}`\n *\n * @param prefix - Prefix for the ID (e.g., 'sub', 'consumer', 'stage')\n * @returns Branded ID string\n *\n * @example\n * ```ts\n * const id = generateId('sub');\n * // Returns: \"sub_1698765432100_1_a3k9d7f2q\"\n * ```\n */\nexport function generateId(prefix: string): string {\n const counter = (globalCounters.get(prefix) ?? 0) + 1;\n globalCounters.set(prefix, counter);\n const timestamp = Date.now();\n const random = Math.random().toString(36).substring(2, 11);\n return `${prefix}_${timestamp}_${counter}_${random}`;\n}\n\n/**\n * Generate simple ID with timestamp and random (no counter tracking)\n *\n * Format: `${prefix}_${timestamp}_${random}`\n *\n * @param prefix - Prefix for the ID\n * @returns Branded ID string\n *\n * @example\n * ```ts\n * const id = generateSimpleId('CounterBloc');\n * // Returns: \"CounterBloc_1698765432100_a3k9d7f2q\"\n * ```\n */\nexport function generateSimpleId(prefix: string): string {\n const timestamp = Date.now();\n const random = Math.random().toString(36).substring(2, 11);\n return `${prefix}_${timestamp}_${random}`;\n}\n\n/**\n * Reset all counters for testing purposes\n * @internal\n */\nexport function __resetIdCounters(): void {\n globalCounters.clear();\n}\n","/**\n * StateContainerRegistry - Clean, minimal registry for StateContainer instances\n *\n * Responsibilities:\n * - Instance lifecycle management with ref counting\n * - Singleton/shared instance pattern\n * - Isolated instance support\n */\n\nimport type { StateContainer } from './StateContainer';\n\ninterface InstanceEntry {\n instance: StateContainer<any>;\n refCount: number;\n}\n\ninterface TypeConfig {\n isolated: boolean;\n}\n\n/**\n * Registry for managing StateContainer instances\n */\nexport class StateContainerRegistry {\n private readonly instances = new Map<string, InstanceEntry>();\n private readonly types = new Map<string, TypeConfig>();\n\n /**\n * Register a type with isolation mode\n */\n register<T extends StateContainer<any>>(\n constructor: new (...args: any[]) => T,\n isolated = false,\n ): void {\n const className = constructor.name;\n\n // Check for static isolated property\n if (!isolated && (constructor as any).isolated === true) {\n isolated = true;\n }\n\n if (this.types.has(className)) {\n throw new Error(`Type \"${className}\" is already registered`);\n }\n\n this.types.set(className, { isolated });\n }\n\n /**\n * Get or create a StateContainer instance\n * For isolated: always creates new\n * For shared: singleton per key\n */\n getOrCreate<T extends StateContainer<any>>(\n constructor: new (...args: any[]) => T,\n key?: string,\n ...args: any[]\n ): T {\n const className = constructor.name;\n let config = this.types.get(className);\n\n // Auto-register if not registered\n if (!config) {\n const isolated = (constructor as any).isolated === true;\n this.types.set(className, { isolated });\n config = this.types.get(className)!;\n }\n\n // Isolated: always create new instance\n if (config.isolated) {\n return new constructor(...args);\n }\n\n // Shared: singleton pattern\n const instanceKey = `${className}:${key || 'default'}`;\n const existing = this.instances.get(instanceKey);\n\n if (existing) {\n existing.refCount++;\n return existing.instance as T;\n }\n\n // Create new shared instance\n const instance = new constructor(...args);\n this.instances.set(instanceKey, { instance, refCount: 1 });\n\n return instance;\n }\n\n /**\n * Release a reference to an instance\n * Disposes when ref count reaches zero (unless keepAlive)\n */\n release<T extends StateContainer<any>>(\n constructor: new (...args: any[]) => T,\n key?: string,\n forceDispose = false,\n ): void {\n const className = constructor.name;\n const instanceKey = `${className}:${key || 'default'}`;\n const entry = this.instances.get(instanceKey);\n\n if (!entry) return;\n\n if (forceDispose) {\n entry.instance.dispose();\n this.instances.delete(instanceKey);\n return;\n }\n\n entry.refCount--;\n\n if (entry.refCount <= 0 && !entry.instance.keepAlive) {\n entry.instance.dispose();\n this.instances.delete(instanceKey);\n }\n }\n\n /**\n * Get all instances of a type (shared only, isolated aren't tracked)\n */\n getAll<T extends StateContainer<any>>(\n constructor: new (...args: any[]) => T,\n ): T[] {\n const className = constructor.name;\n const prefix = `${className}:`;\n const results: T[] = [];\n\n for (const [key, entry] of this.instances) {\n if (key.startsWith(prefix)) {\n results.push(entry.instance as T);\n }\n }\n\n return results;\n }\n\n /**\n * Clear all instances of a type\n */\n clear<T extends StateContainer<any>>(\n constructor: new (...args: any[]) => T,\n ): void {\n const className = constructor.name;\n const prefix = `${className}:`;\n const toDelete: string[] = [];\n\n for (const [key, entry] of this.instances) {\n if (key.startsWith(prefix)) {\n if (!entry.instance.isDisposed) {\n entry.instance.dispose();\n }\n toDelete.push(key);\n }\n }\n\n for (const key of toDelete) {\n this.instances.delete(key);\n }\n }\n\n /**\n * Clear all instances from all types (for testing)\n */\n clearAll(): void {\n for (const entry of this.instances.values()) {\n if (!entry.instance.isDisposed) {\n entry.instance.dispose();\n }\n }\n this.instances.clear();\n this.types.clear();\n }\n\n /**\n * Get registry statistics (for debugging)\n */\n getStats(): {\n registeredTypes: number;\n totalInstances: number;\n typeBreakdown: Record<string, number>;\n } {\n const typeBreakdown: Record<string, number> = {};\n\n for (const key of this.instances.keys()) {\n const typeName = key.split(':')[0];\n typeBreakdown[typeName] = (typeBreakdown[typeName] || 0) + 1;\n }\n\n return {\n registeredTypes: this.types.size,\n totalInstances: this.instances.size,\n typeBreakdown,\n };\n }\n\n /**\n * Get reference count for an instance\n */\n getRefCount<T extends StateContainer<any>>(\n constructor: new (...args: any[]) => T,\n key?: string,\n ): number {\n const className = constructor.name;\n const instanceKey = `${className}:${key || 'default'}`;\n const entry = this.instances.get(instanceKey);\n return entry?.refCount ?? 0;\n }\n\n /**\n * Check if an instance exists\n */\n hasInstance<T extends StateContainer<any>>(\n constructor: new (...args: any[]) => T,\n key?: string,\n ): boolean {\n const className = constructor.name;\n const instanceKey = `${className}:${key || 'default'}`;\n return this.instances.has(instanceKey);\n }\n}\n\n/**\n * Global default registry instance\n */\nexport const globalRegistry = new StateContainerRegistry();\n","/**\n * StateContainer - Clean, minimal state management container\n *\n * Responsibilities:\n * - State storage and updates\n * - Change notifications to subscribers\n * - Lifecycle management\n */\n\nimport { generateSimpleId } from '../utils/idGenerator';\nimport {\n StateContainerRegistry,\n globalRegistry,\n} from './StateContainerRegistry';\n\n/**\n * Configuration options for StateContainer\n */\nexport interface StateContainerConfig {\n /** Container name for debugging */\n name?: string;\n /** Whether to keep container alive when no consumers */\n keepAlive?: boolean;\n /** Enable debug logging */\n debug?: boolean;\n /** Custom instance identifier */\n instanceId?: string;\n /** Whether this instance should be isolated (not shared) */\n isolated?: boolean;\n}\n\n/**\n * Listener function for state changes\n */\ntype StateListener<S> = (state: S) => void;\n\n/**\n * Base abstract class for all state containers\n */\nexport abstract class StateContainer<S> {\n private static _registry = globalRegistry;\n\n /**\n * Set a custom registry (mainly for testing)\n */\n static setRegistry(registry: StateContainerRegistry): void {\n StateContainer._registry = registry;\n }\n\n /**\n * Register a type as isolated or shared\n */\n static register<T extends StateContainer<any>>(\n this: new (...args: any[]) => T,\n isolated = false,\n ): void {\n StateContainer._registry.register(this, isolated);\n }\n\n /**\n * Get or create an instance\n * @param key - Optional instance key for shared instances\n * @param args - Constructor arguments\n */\n static getOrCreate<T extends StateContainer<any>>(\n this: new (...args: any[]) => T,\n key?: string,\n ...args: any[]\n ): T {\n return StateContainer._registry.getOrCreate(this, key, ...args);\n }\n\n /**\n * Release a reference to an instance\n * @param key - Optional instance key\n * @param forceDispose - Force dispose regardless of ref count or keepAlive\n */\n static release<T extends StateContainer<any>>(\n this: new (...args: any[]) => T,\n key?: string,\n forceDispose = false,\n ): void {\n StateContainer._registry.release(this, key, forceDispose);\n }\n\n /**\n * Get all instances of this type\n */\n static getAll<T extends StateContainer<any>>(\n this: new (...args: any[]) => T,\n ): T[] {\n return StateContainer._registry.getAll(this);\n }\n\n /**\n * Clear all instances of this type\n */\n static clear<T extends StateContainer<any>>(\n this: new (...args: any[]) => T,\n ): void {\n StateContainer._registry.clear(this);\n }\n\n /**\n * Clear all instances from all types (for testing)\n */\n static clearAllInstances(): void {\n StateContainer._registry.clearAll();\n }\n\n /**\n * Get registry statistics (for debugging)\n */\n static getStats(): {\n registeredTypes: number;\n totalInstances: number;\n typeBreakdown: Record<string, number>;\n } {\n return StateContainer._registry.getStats();\n }\n\n /**\n * Get reference count for an instance\n * @param key - Optional instance key\n */\n static getRefCount<T extends StateContainer<any>>(\n this: new (...args: any[]) => T,\n key?: string,\n ): number {\n return StateContainer._registry.getRefCount(this, key);\n }\n\n /**\n * Check if an instance exists\n * @param key - Optional instance key\n */\n static hasInstance<T extends StateContainer<any>>(\n this: new (...args: any[]) => T,\n key?: string,\n ): boolean {\n return StateContainer._registry.hasInstance(this, key);\n }\n\n private _state: S;\n private readonly listeners = new Set<StateListener<S>>();\n private _disposed = false;\n private readonly config: StateContainerConfig;\n\n readonly name: string;\n readonly keepAlive: boolean;\n readonly debug: boolean;\n readonly instanceId: string;\n\n /**\n * Create a new StateContainer\n */\n constructor(initialState: S, config: StateContainerConfig = {}) {\n this._state = initialState;\n this.config = config;\n this.name = config.name || this.constructor.name;\n this.keepAlive = config.keepAlive ?? false;\n this.debug = config.debug ?? false;\n this.instanceId =\n config.instanceId || generateSimpleId(this.constructor.name);\n }\n\n /**\n * Get the current state\n */\n get state(): S {\n return this._state;\n }\n\n /**\n * Check if disposed\n */\n get isDisposed(): boolean {\n return this._disposed;\n }\n\n /**\n * Subscribe to state changes\n * @returns Unsubscribe function\n */\n subscribe(listener: StateListener<S>): () => void {\n if (this._disposed) {\n throw new Error(`Cannot subscribe to disposed container ${this.name}`);\n }\n\n this.listeners.add(listener);\n return () => this.listeners.delete(listener);\n }\n\n /**\n * Dispose the container\n */\n dispose(): void {\n if (this._disposed) return;\n\n if (this.debug) {\n console.log(`[${this.name}] Disposing...`);\n }\n\n this._disposed = true;\n\n // Call optional lifecycle hook\n this.onDispose?.();\n\n this.listeners.clear();\n\n if (this.debug) {\n console.log(`[${this.name}] Disposed successfully`);\n }\n }\n\n /**\n * Emit a new state (with change detection)\n */\n protected emit(newState: S): void {\n if (this._disposed) {\n throw new Error(`Cannot emit state from disposed container ${this.name}`);\n }\n\n // Skip if state hasn't changed (reference equality)\n if (this._state === newState) return;\n\n const previousState = this._state;\n this._state = newState;\n\n // Call optional lifecycle hook\n this.onStateChange?.(newState, previousState);\n\n // Notify listeners\n for (const listener of this.listeners) {\n try {\n listener(newState);\n } catch (error) {\n console.error(`[${this.name}] Error in listener:`, error);\n }\n }\n }\n\n /**\n * Update state using a function\n */\n protected update(updater: (current: S) => S): void {\n if (this._disposed) {\n throw new Error(\n `Cannot update state from disposed container ${this.name}`,\n );\n }\n this.emit(updater(this._state));\n }\n\n /**\n * Optional disposal hook for subclasses\n */\n protected onDispose?(): void;\n\n /**\n * Optional state change hook for subclasses\n */\n protected onStateChange?(newState: S, previousState: S): void;\n}\n","/**\n * Cubit - Simple state container with direct state emission\n *\n * This validates that our StateContainer design can support\n * the simple Cubit pattern from the original BlaC.\n */\n\nimport { StateContainer, StateContainerConfig } from './StateContainer';\n\n/**\n * Cubit is a simple state container that allows direct state emission\n *\n * Unlike StateContainer (where emit is protected), Cubit exposes emit and update\n * as public methods to allow direct state management.\n */\nexport abstract class Cubit<S> extends StateContainer<S> {\n /**\n * Create a new Cubit\n * @param initialState Initial state value\n * @param config Configuration options\n */\n constructor(initialState: S, config?: StateContainerConfig) {\n super(initialState, config);\n }\n\n /**\n * Emit a new state (public override of protected parent method)\n */\n public emit(newState: S): void {\n super['emit'](newState);\n }\n\n /**\n * Update state using a function (public override of protected parent method)\n */\n public update(updater: (current: S) => S): void {\n super['update'](updater);\n }\n\n /**\n * Patch state with partial updates (shallow merge)\n * Only available when state is an object type\n * Arrow function to maintain correct 'this' binding in React\n *\n * @example\n * ```typescript\n * // Update single field\n * this.patch({ count: 5 });\n *\n * // Update multiple fields\n * this.patch({ count: 5, name: 'Updated' });\n * ```\n */\n public patch = ((partial: S extends object ? Partial<S> : never): void => {\n if (typeof this.state !== 'object' || this.state === null) {\n throw new Error('patch() is only available for object state types');\n }\n this.update((current) => ({ ...current, ...partial }) as S);\n }) as S extends object ? (partial: Partial<S>) => void : never;\n}\n\n/**\n * Example: Counter Cubit\n */\nexport class CounterCubit extends Cubit<number> {\n constructor() {\n super(0, { name: 'CounterCubit' });\n }\n\n increment = (): void => {\n this.emit(this.state + 1);\n };\n\n decrement = (): void => {\n this.emit(this.state - 1);\n };\n\n reset = (): void => {\n this.emit(0);\n };\n\n addAmount = (amount: number): void => {\n this.emit(this.state + amount);\n };\n}\n\n/**\n * Example: Complex State Cubit\n */\nexport interface TodoState {\n todos: Array<{ id: string; text: string; done: boolean }>;\n filter: 'all' | 'active' | 'completed';\n isLoading: boolean;\n}\n\nexport class TodoCubit extends Cubit<TodoState> {\n private nextId = 0;\n\n constructor() {\n super(\n {\n todos: [],\n filter: 'all',\n isLoading: false,\n },\n { name: 'TodoCubit', keepAlive: true },\n );\n }\n\n addTodo = (text: string): void => {\n this.update((state) => ({\n ...state,\n todos: [\n ...state.todos,\n { id: `todo-${Date.now()}-${this.nextId++}`, text, done: false },\n ],\n }));\n };\n\n toggleTodo = (id: string): void => {\n this.update((state) => ({\n ...state,\n todos: state.todos.map((todo) =>\n todo.id === id ? { ...todo, done: !todo.done } : todo,\n ),\n }));\n };\n\n removeTodo = (id: string): void => {\n this.update((state) => ({\n ...state,\n todos: state.todos.filter((todo) => todo.id !== id),\n }));\n };\n\n setFilter = (filter: TodoState['filter']): void => {\n this.patch({ filter }); // Using patch() for simple field update\n };\n\n setLoading = (isLoading: boolean): void => {\n this.patch({ isLoading }); // Using patch() for simple field update\n };\n\n get visibleTodos() {\n const todos = this.state.todos;\n const filter = this.state.filter;\n\n switch (filter) {\n case 'active':\n return todos.filter((t) => !t.done);\n case 'completed':\n return todos.filter((t) => t.done);\n case 'all':\n default:\n return todos;\n }\n }\n\n get activeTodoCount() {\n return this.state.todos.filter((t) => !t.done).length;\n }\n}\n","/**\n * Vertex - Event-driven state container (Bloc pattern)\n *\n * Simplified version that includes its own event handling,\n * since events are only needed for the Vertex pattern.\n */\n\nimport { StateContainer, StateContainerConfig } from './StateContainer';\nimport { BaseEvent } from '../types/events';\n\n/**\n * Event handler signature (synchronous only)\n */\nexport type EventHandler<E extends BaseEvent, S> = (\n event: E,\n emit: (state: S) => void,\n) => void;\n\n/**\n * Type-safe event constructor\n */\nexport type EventConstructor<T extends BaseEvent = BaseEvent> = new (\n ...args: never[]\n) => T;\n\n/**\n * Event handler registration\n */\ninterface EventHandlerRegistration<E extends BaseEvent, S> {\n eventClass: EventConstructor<E>;\n handler: EventHandler<E, S>;\n}\n\n/**\n * Vertex is an event-driven state container (Bloc pattern)\n *\n * Includes its own simple event system since events are only needed\n * for the Vertex pattern, not for the base StateContainer.\n */\nexport abstract class Vertex<\n S,\n E extends BaseEvent = BaseEvent,\n> extends StateContainer<S> {\n private eventHandlers = new Map<string, EventHandlerRegistration<E, S>[]>();\n private isProcessing = false;\n private eventQueue: E[] = [];\n\n /**\n * Create a new Vertex\n * @param initialState Initial state value\n * @param config Configuration options\n */\n constructor(initialState: S, config?: StateContainerConfig) {\n super(initialState, config);\n }\n\n /**\n * Register an event handler\n * Arrow function to maintain correct 'this' binding\n */\n protected on = <T extends E>(\n EventClass: EventConstructor<T>,\n handler: EventHandler<T, S>,\n ): void => {\n const className = EventClass.name;\n const registrations = this.eventHandlers.get(className) || [];\n registrations.push({\n eventClass: EventClass as EventConstructor<E>,\n handler: handler as EventHandler<E, S>,\n });\n this.eventHandlers.set(className, registrations);\n };\n\n /**\n * Add an event to be processed\n * Arrow function to maintain correct 'this' binding in React\n */\n public add = (event: E): void => {\n this.processEvent(event);\n };\n\n /**\n * Process an event (synchronously)\n */\n private processEvent(event: E): void {\n // Queue event if already processing\n if (this.isProcessing) {\n this.eventQueue.push(event);\n return;\n }\n\n this.isProcessing = true;\n\n try {\n this.handleEvent(event);\n\n // Process queued events\n while (this.eventQueue.length > 0) {\n const nextEvent = this.eventQueue.shift()!;\n this.handleEvent(nextEvent);\n }\n } finally {\n this.isProcessing = false;\n }\n }\n\n /**\n * Handle a single event (synchronously)\n */\n private handleEvent(event: E): void {\n const className = event.constructor.name;\n const registrations = this.eventHandlers.get(className);\n\n if (!registrations || registrations.length === 0) {\n if (this.debug) {\n console.warn(`No handler registered for event: ${className}`);\n }\n return;\n }\n\n // Create emit function that captures current context\n const emitFn = (state: S) => {\n this.emit(state);\n };\n\n // Execute all handlers for this event type (synchronously)\n for (const registration of registrations) {\n try {\n registration.handler(event, emitFn);\n } catch (error) {\n if (this.debug) {\n console.error(`Error handling event ${className}:`, error);\n }\n // Optionally emit error state\n this.onEventError(event, error as Error);\n }\n }\n }\n\n /**\n * Hook for handling event processing errors\n */\n protected onEventError(event: E, error: Error): void {\n // Override in subclass to handle errors\n }\n}\n\n/**\n * Example: Counter Events\n */\nexport class IncrementEvent implements BaseEvent {\n readonly type = 'increment';\n readonly timestamp = Date.now();\n\n constructor(public readonly amount: number = 1) {}\n}\n\nexport class DecrementEvent implements BaseEvent {\n readonly type = 'decrement';\n readonly timestamp = Date.now();\n\n constructor(public readonly amount: number = 1) {}\n}\n\nexport class ResetEvent implements BaseEvent {\n readonly type = 'reset';\n readonly timestamp = Date.now();\n}\n\n/**\n * Example: Counter Vertex\n * Demonstrates proper typing and event handling\n */\nexport class CounterVertex extends Vertex<number> {\n constructor() {\n super(0);\n\n this.on(IncrementEvent, (event, emit) => {\n emit(this.state + event.amount);\n });\n\n this.on(DecrementEvent, (event, emit) => {\n emit(this.state - event.amount);\n });\n\n this.on(ResetEvent, (_, emit) => {\n emit(0);\n });\n }\n\n // Arrow functions for React compatibility\n increment = (amount = 1) => {\n this.add(new IncrementEvent(amount));\n };\n\n decrement = (amount = 1) => {\n this.add(new DecrementEvent(amount));\n };\n\n reset = () => {\n this.add(new ResetEvent());\n };\n}\n\n/**\n * Auth State and Events for testing async handlers\n */\nexport interface AuthState {\n isAuthenticated: boolean;\n isLoading: boolean;\n user: { id: string; name: string; email: string } | null;\n error: string | null;\n}\n\nexport class LoginEvent implements BaseEvent {\n readonly type = 'login';\n readonly timestamp = Date.now();\n constructor(\n public readonly email: string,\n public readonly password: string,\n ) {}\n}\n\nexport class LogoutEvent implements BaseEvent {\n readonly type = 'logout';\n readonly timestamp = Date.now();\n}\n\nexport class AuthVertex extends Vertex<AuthState> {\n constructor() {\n super({\n isAuthenticated: false,\n isLoading: false,\n user: null,\n error: null,\n });\n\n // Synchronous login handler (async operations should be done before calling this)\n this.on(LoginEvent, (event, emit) => {\n // Set loading\n emit({ ...this.state, isLoading: true, error: null });\n\n // Simulate sync auth (in real app, async work would be done before dispatching event)\n // Check credentials\n if (event.email === 'user@example.com' && event.password === 'password') {\n emit({\n isAuthenticated: true,\n isLoading: false,\n user: { id: '123', name: 'Test User', email: 'user@example.com' },\n error: null,\n });\n } else {\n emit({\n isAuthenticated: false,\n isLoading: false,\n user: null,\n error: 'Invalid credentials',\n });\n }\n });\n\n this.on(LogoutEvent, (_, emit) => {\n emit({\n isAuthenticated: false,\n isLoading: false,\n user: null,\n error: null,\n });\n });\n }\n\n login = (email: string, password: string) => {\n this.add(new LoginEvent(email, password));\n };\n\n logout = () => {\n this.add(new LogoutEvent());\n };\n}\n","/**\n * Functional proxy tracker for automatic dependency tracking\n *\n * This module provides a functional approach to proxy-based dependency tracking.\n * Unlike the class-based ProxyTracker, this uses a state object pattern that's\n * easier to integrate with functional programming patterns and framework hooks.\n */\n\n/**\n * Array methods that should trigger tracking of the entire array\n */\nconst ARRAY_METHODS = new Set([\n 'map',\n 'filter',\n 'forEach',\n 'find',\n 'some',\n 'every',\n 'reduce',\n]);\n\n/**\n * Check if a value can be proxied\n *\n * Returns true for plain objects and arrays only.\n * Excludes built-in objects like Date, Map, Set, etc.\n */\nexport function isProxyable(value: unknown): value is object {\n if (typeof value !== 'object' || value === null) return false;\n const proto = Object.getPrototypeOf(value);\n return proto === Object.prototype || proto === Array.prototype;\n}\n\n/**\n * State container for proxy tracking\n */\nexport interface ProxyTrackerState<T> {\n /** Set of all tracked property paths */\n trackedPaths: Set<string>;\n /** Whether tracking is currently active */\n isTracking: boolean;\n /** Cache of created proxies to avoid duplicates */\n proxyCache: WeakMap<object, any>;\n /** Cache of bound functions to maintain referential equality */\n boundFunctionsCache: WeakMap<Function, Function> | null;\n /** Last state object that was proxied (for cache invalidation) */\n lastProxiedState: T | null;\n /** Last proxy created (for cache reuse) */\n lastProxy: T | null;\n /** Maximum depth for nested proxy creation */\n maxDepth: number;\n}\n\n/**\n * Create a new proxy tracker state\n *\n * @example\n * const state = createProxyTrackerState<MyState>();\n * startProxyTracking(state);\n * const proxy = createProxyForTarget(state, myObject);\n * // ... use proxy ...\n * const paths = stopProxyTracking(state);\n */\nexport function createProxyTrackerState<T>(): ProxyTrackerState<T> {\n return {\n trackedPaths: new Set<string>(),\n isTracking: false,\n proxyCache: new WeakMap<object, any>(),\n boundFunctionsCache: null,\n lastProxiedState: null,\n lastProxy: null,\n maxDepth: 10,\n };\n}\n\n/**\n * Start tracking property accesses\n *\n * Clears previous tracked paths and enables tracking mode.\n */\nexport function startProxyTracking<T>(state: ProxyTrackerState<T>): void {\n state.isTracking = true;\n state.trackedPaths.clear();\n}\n\n/**\n * Stop tracking and return the tracked paths\n *\n * Returns a new Set containing all tracked paths.\n */\nexport function stopProxyTracking<T>(state: ProxyTrackerState<T>): Set<string> {\n state.isTracking = false;\n return new Set(state.trackedPaths);\n}\n\n/**\n * Create a proxy for an array with property access tracking\n *\n * Tracks:\n * - Array element access (arr[0])\n * - Length access (arr.length)\n * - Array method calls (arr.map, arr.filter, etc.)\n */\nexport function createArrayProxy<T, U>(\n state: ProxyTrackerState<T>,\n target: U[],\n path: string,\n depth: number = 0,\n): U[] {\n const proxy = new Proxy(target, {\n get: (arr, prop: string | symbol) => {\n if (typeof prop === 'symbol') {\n return Reflect.get(arr, prop);\n }\n\n const value = Reflect.get(arr, prop);\n\n if (typeof value === 'function') {\n if (ARRAY_METHODS.has(prop)) {\n if (state.isTracking && path) {\n state.trackedPaths.add(path);\n }\n }\n\n if (!state.boundFunctionsCache) {\n state.boundFunctionsCache = new WeakMap<Function, Function>();\n }\n const cached = state.boundFunctionsCache.get(value);\n if (cached) {\n return cached;\n }\n const bound = value.bind(arr);\n state.boundFunctionsCache.set(value, bound);\n return bound;\n }\n\n let fullPath: string;\n if (prop === 'length') {\n fullPath = path ? `${path}.length` : 'length';\n } else if (typeof prop === 'string') {\n const index = Number(prop);\n if (!isNaN(index) && index >= 0) {\n fullPath = path ? `${path}[${index}]` : `[${index}]`;\n } else {\n fullPath = path ? `${path}.${prop}` : prop;\n }\n } else {\n return value;\n }\n\n if (isProxyable(value)) {\n return createProxyInternal(state, value as T, fullPath, depth + 1);\n }\n\n if (state.isTracking) {\n state.trackedPaths.add(fullPath);\n }\n\n return value;\n },\n });\n\n state.proxyCache.set(target, proxy);\n return proxy;\n}\n\n/**\n * Create a proxy for an object with property access tracking\n *\n * This is the core proxy creation function that recursively creates proxies\n * for nested objects and arrays.\n *\n * Tracks:\n * - Property access (obj.prop)\n * - Nested property access (obj.nested.prop)\n * - 'in' operator usage ('prop' in obj)\n * - Object.keys, Object.entries, etc.\n */\nexport function createProxyInternal<T>(\n state: ProxyTrackerState<T>,\n target: T,\n path: string = '',\n depth: number = 0,\n): T {\n if (!state.isTracking || !isProxyable(target)) {\n return target;\n }\n\n if (depth >= state.maxDepth) {\n return target;\n }\n\n if (state.proxyCache.has(target)) {\n return state.proxyCache.get(target);\n }\n\n if (Array.isArray(target)) {\n return createArrayProxy(\n state,\n target as unknown as any[],\n path,\n depth,\n ) as unknown as T;\n }\n\n const proxy = new Proxy(target, {\n get: (obj, prop: string | symbol) => {\n if (typeof prop === 'symbol') {\n return Reflect.get(obj, prop);\n }\n\n const value = Reflect.get(obj, prop);\n\n if (typeof value === 'function') {\n if (!state.boundFunctionsCache) {\n state.boundFunctionsCache = new WeakMap<Function, Function>();\n }\n const cached = state.boundFunctionsCache.get(value);\n if (cached) {\n return cached;\n }\n const bound = value.bind(obj);\n state.boundFunctionsCache.set(value, bound);\n return bound;\n }\n\n const fullPath = path ? `${path}.${String(prop)}` : String(prop);\n\n if (isProxyable(value)) {\n const proxiedValue = createProxyInternal(\n state,\n value as T,\n fullPath,\n depth + 1,\n );\n return proxiedValue;\n }\n\n if (typeof prop === 'string' && state.isTracking) {\n if (!prop.startsWith('_') && !prop.startsWith('$$')) {\n state.trackedPaths.add(fullPath);\n }\n }\n\n return value;\n },\n\n has: (obj, prop: string | symbol) => {\n if (typeof prop === 'string' && state.isTracking) {\n const fullPath = path ? `${path}.${prop}` : prop;\n state.trackedPaths.add(fullPath);\n }\n return Reflect.has(obj, prop);\n },\n\n ownKeys: (obj) => {\n if (state.isTracking && path) {\n state.trackedPaths.add(path);\n }\n return Reflect.ownKeys(obj);\n },\n });\n\n state.proxyCache.set(target, proxy);\n return proxy as T;\n}\n\n/**\n * Create a proxy for a target with caching\n *\n * If the target hasn't changed since the last call, returns the cached proxy.\n * Otherwise, creates a new proxy and caches it.\n *\n * This is the main entry point for creating tracked proxies.\n */\nexport function createProxyForTarget<T>(\n state: ProxyTrackerState<T>,\n target: T,\n): T {\n if (state.lastProxiedState === target && state.lastProxy) {\n return state.lastProxy;\n }\n\n // Clear caches when state changes to prevent stale bound functions\n // This is critical for array methods like .map() which get bound to the target\n state.proxyCache = new WeakMap<object, any>();\n state.boundFunctionsCache = null;\n\n const proxy = createProxyInternal(state, target, '', 0);\n state.lastProxiedState = target;\n state.lastProxy = proxy;\n return proxy;\n}\n","/**\n * Path utilities for dependency tracking\n *\n * Provides utilities for parsing property paths and extracting values\n * from nested objects using path strings.\n */\n\n/**\n * Parse a property path string into an array of segments\n *\n * Handles both dot notation (a.b.c) and bracket notation (a[0].b)\n *\n * @example\n * parsePath('user.name') // ['user', 'name']\n * parsePath('items[0].name') // ['items', '0', 'name']\n * parsePath('data.users[2].address.city') // ['data', 'users', '2', 'address', 'city']\n */\nexport function parsePath(path: string): string[] {\n const segments: string[] = [];\n let current = '';\n let i = 0;\n\n while (i < path.length) {\n const char = path[i];\n if (char === '.') {\n if (current) segments.push(current);\n current = '';\n } else if (char === '[') {\n if (current) segments.push(current);\n current = '';\n // Skip bracket\n i++;\n // Read until ]\n while (i < path.length && path[i] !== ']') {\n current += path[i++];\n }\n if (current) segments.push(current);\n current = '';\n } else {\n current += char;\n }\n i++;\n }\n\n if (current) segments.push(current);\n return segments;\n}\n\n/**\n * Get a value from an object using a path of segments\n *\n * @example\n * const obj = { user: { name: 'Alice', age: 30 } }\n * getValueAtPath(obj, ['user', 'name']) // 'Alice'\n * getValueAtPath(obj, ['user', 'age']) // 30\n * getValueAtPath(obj, ['user', 'missing']) // undefined\n */\nexport function getValueAtPath(obj: any, segments: string[]): any {\n if (obj == null) return undefined;\n\n let current = obj;\n for (let i = 0; i < segments.length; i++) {\n current = current[segments[i]];\n if (current == null) return undefined;\n }\n return current;\n}\n\n/**\n * Shallow equality comparison for arrays\n *\n * Compares two arrays element-by-element using Object.is\n *\n * @example\n * shallowEqual([1, 2, 3], [1, 2, 3]) // true\n * shallowEqual([1, 2, 3], [1, 2, 4]) // false\n * shallowEqual([1, 2], [1, 2, 3]) // false\n */\nexport function shallowEqual(arr1: unknown[], arr2: unknown[]): boolean {\n if (arr1.length !== arr2.length) return false;\n for (let i = 0; i < arr1.length; i++) {\n if (!Object.is(arr1[i], arr2[i])) return false;\n }\n return true;\n}\n","/**\n * Dependency tracking for state management\n *\n * Provides high-level dependency tracking that combines proxy tracking with\n * change detection to determine when a component needs to re-render.\n */\n\nimport type { AnyObject } from '../types/branded';\nimport {\n type ProxyTrackerState,\n createProxyTrackerState,\n startProxyTracking,\n stopProxyTracking,\n createProxyForTarget,\n} from './proxy-tracker';\nimport { parsePath, getValueAtPath } from './path-utils';\n\n/**\n * Information about a tracked path\n */\nexport interface PathInfo {\n /** Parsed path segments */\n segments: string[];\n /** Last known value at this path */\n value: any;\n}\n\n/**\n * State for dependency tracking\n */\nexport interface TrackerState<T extends AnyObject> {\n /** Internal proxy tracker state */\n proxyTrackerState: ProxyTrackerState<T>;\n /** Paths tracked in the previous render */\n previousRenderPaths: Set<string>;\n /** Paths tracked in the current render */\n currentRenderPaths: Set<string>;\n /** Cache of parsed paths and their values */\n pathCache: Map<string, PathInfo>;\n /** Last state object that was checked for changes */\n lastCheckedState: T | null;\n /** Values from the last change check (optimization) */\n lastCheckedValues: Map<string, any>;\n /** Counter for periodic cleanup of unused paths */\n cleanupCounter: number;\n}\n\n/**\n * How often to clean up unused paths from the cache\n */\nconst CLEANUP_INTERVAL = 10;\n\n/**\n * Create a new tracker state\n */\nexport function createTrackerState<T extends AnyObject>(): TrackerState<T> {\n return {\n proxyTrackerState: createProxyTrackerState<T>(),\n previousRenderPaths: new Set<string>(),\n currentRenderPaths: new Set<string>(),\n pathCache: new Map<string, PathInfo>(),\n lastCheckedState: null,\n lastCheckedValues: new Map<string, any>(),\n cleanupCounter: 0,\n };\n}\n\n/**\n * Start tracking property accesses\n */\nexport function startTracking<T extends AnyObject>(\n tracker: TrackerState<T>,\n): void {\n startProxyTracking(tracker.proxyTrackerState);\n}\n\n/**\n * Create a proxy for the given state\n */\nexport function createProxy<T extends AnyObject>(\n tracker: TrackerState<T>,\n state: T,\n): T {\n return createProxyForTarget(tracker.proxyTrackerState, state);\n}\n\n/**\n * Capture the paths that were tracked during a render\n *\n * This should be called after each render to record which paths were accessed.\n * It also performs periodic cleanup of unused paths to prevent memory leaks.\n */\nexport function captureTrackedPaths<T extends AnyObject>(\n tracker: TrackerState<T>,\n state: T,\n): void {\n tracker.previousRenderPaths = tracker.currentRenderPaths;\n tracker.currentRenderPaths = stopProxyTracking(tracker.proxyTrackerState);\n\n if (\n tracker.previousRenderPaths.size === 0 &&\n tracker.currentRenderPaths.size === 0\n ) {\n return;\n }\n\n const trackedPathsUnion = new Set(tracker.previousRenderPaths);\n for (const path of tracker.currentRenderPaths) {\n trackedPathsUnion.add(path);\n }\n\n const canReuseCache = tracker.lastCheckedState === state;\n\n for (const path of trackedPathsUnion) {\n if (!tracker.pathCache.has(path)) {\n const segments = parsePath(path);\n const value =\n canReuseCache && tracker.lastCheckedValues.has(path)\n ? tracker.lastCheckedValues.get(path)\n : getValueAtPath(state, segments);\n\n tracker.pathCache.set(path, { segments, value });\n } else {\n const info = tracker.pathCache.get(path)!;\n info.value =\n canReuseCache && tracker.lastCheckedValues.has(path)\n ? tracker.lastCheckedValues.get(path)\n : getValueAtPath(state, info.segments);\n }\n }\n\n tracker.cleanupCounter++;\n if (tracker.cleanupCounter >= CLEANUP_INTERVAL) {\n tracker.cleanupCounter = 0;\n for (const path of tracker.pathCache.keys()) {\n if (!trackedPathsUnion.has(path)) {\n tracker.pathCache.delete(path);\n }\n }\n }\n\n tracker.lastCheckedValues.clear();\n}\n\n/**\n * Check if any tracked paths have changed\n *\n * This is called when state changes to determine if a re-render is needed.\n * Returns true if any tracked path has a different value than before.\n */\nexport function hasChanges<T extends AnyObject>(\n tracker: TrackerState<T>,\n state: T,\n): boolean {\n if (tracker.pathCache.size === 0) {\n return true;\n }\n\n tracker.lastCheckedValues.clear();\n\n for (const [path, info] of tracker.pathCache.entries()) {\n const currentValue = getValueAtPath(state, info.segments);\n tracker.lastCheckedValues.set(path, currentValue);\n\n if (!Object.is(currentValue, info.value)) {\n tracker.lastCheckedState = state;\n return true;\n }\n }\n\n tracker.lastCheckedState = state;\n return false;\n}\n\n/**\n * Check if tracker has any tracked data\n *\n * Returns true if there are any tracked paths or cached paths.\n */\nexport function hasTrackedData<T extends AnyObject>(\n tracker: TrackerState<T>,\n): boolean {\n return (\n tracker.proxyTrackerState.trackedPaths.size > 0 ||\n tracker.pathCache.size > 0 ||\n tracker.previousRenderPaths.size > 0\n );\n}\n","export enum LogLevel {\n ERROR = 0,\n WARN = 1,\n INFO = 2,\n DEBUG = 3,\n}\n\nexport interface LogEntry {\n level: string;\n context: string;\n message: string;\n data?: any;\n timestamp: number;\n}\n\nexport interface LogConfig {\n enabled: boolean;\n level: LogLevel;\n output: (entry: LogEntry) => void;\n}\n\n/**\n * Creates a logger instance with given configuration\n *\n * @param config - Logger configuration\n * @returns Logger instance with debug, info, warn, error, and configure methods\n *\n * @example\n * ```ts\n * const logger = createLogger({\n * enabled: true,\n * level: LogLevel.DEBUG,\n * output: (entry) => console.log(JSON.stringify(entry))\n * });\n * logger.debug('MyComponent', 'Rendering', { props: { foo: 'bar' } });\n * ```\n */\nexport function createLogger(config: LogConfig) {\n const shouldLog = (level: LogLevel): boolean => {\n return config.enabled && config.level >= level;\n };\n\n const log = (\n level: string,\n context: string,\n message: string,\n data?: any,\n ): void => {\n try {\n const entry: LogEntry = {\n level,\n context,\n message,\n timestamp: Date.now(),\n ...(data !== undefined && { data: serialize(data) }),\n };\n config.output(entry);\n } catch (e) {\n console.error('[BlacLogger] Error logging:', e);\n }\n };\n\n const serialize = (data: any): any => {\n try {\n return JSON.parse(JSON.stringify(data));\n } catch {\n return String(data);\n }\n };\n\n return {\n debug: (context: string, message: string, data?: any) => {\n if (shouldLog(LogLevel.DEBUG)) {\n log('DEBUG', context, message, data);\n }\n },\n info: (context: string, message: string, data?: any) => {\n if (shouldLog(LogLevel.INFO)) {\n log('INFO', context, message, data);\n }\n },\n warn: (context: string, message: string, data?: any) => {\n if (shouldLog(LogLevel.WARN)) {\n log('WARN', context, message, data);\n }\n },\n error: (context: string, message: string, data?: any) => {\n if (shouldLog(LogLevel.ERROR)) {\n log('ERROR', context, message, data);\n }\n },\n configure: (opts: Partial<LogConfig>) => {\n Object.assign(config, opts);\n },\n };\n}\n\n// Track current configuration for proper merging\nlet currentConfig: LogConfig = {\n enabled: false, // Off by default (matches current implementation)\n level: LogLevel.INFO,\n output: (entry) => console.log(JSON.stringify(entry)),\n};\n\n// Default logger instance\nlet defaultLogger = createLogger(currentConfig);\n\n// Export individual methods for tree-shaking\nexport const debug = (context: string, message: string, data?: any) =>\n defaultLogger.debug(context, message, data);\nexport const info = (context: string, message: string, data?: any) =>\n defaultLogger.info(context, message, data);\nexport const warn = (context: string, message: string, data?: any) =>\n defaultLogger.warn(context, message, data);\nexport const error = (context: string, message: string, data?: any) =>\n defaultLogger.error(context, message, data);\n\n/**\n * Configuration function that recreates the default logger\n *\n * @param opts - Partial logger configuration\n *\n * @example\n * ```ts\n * configureLogger({ enabled: true, level: LogLevel.DEBUG });\n * ```\n */\nexport function configureLogger(opts: Partial<LogConfig>): void {\n // Merge with existing config\n currentConfig = {\n ...currentConfig,\n ...opts,\n };\n defaultLogger = createLogger(currentConfig);\n}\n","/**\n * ProxyTracker - Automatic dependency tracking through Proxies\n *\n * Tracks property access on state objects to automatically determine\n * which parts of the state a component depends on.\n */\n\nimport { debug, info, warn, error } from '../logging/Logger';\n\n/**\n * Check if a value is an object that can be proxied\n */\nfunction isProxyable(value: unknown): value is object {\n return (\n value !== null &&\n typeof value === 'object' &&\n !(value instanceof Date) &&\n !(value instanceof RegExp) &&\n !(value instanceof Map) &&\n !(value instanceof Set) &&\n !(value instanceof WeakMap) &&\n !(value instanceof WeakSet) &&\n !(value instanceof Promise)\n );\n}\n\n/**\n * Tracks property access on state objects\n */\nexport class ProxyTracker<T> {\n private trackedPaths = new Set<string>();\n private isTracking = false;\n private proxyCache = new WeakMap<object, any>();\n private maxDepth = 10; // Prevent infinite recursion\n\n /**\n * Create a proxy that tracks property access\n */\n createProxy(target: T, path: string = '', depth: number = 0): T {\n // Return target as-is if not tracking or not proxyable\n if (!this.isTracking || !isProxyable(target)) {\n return target;\n }\n\n // Prevent infinite recursion or max depth exceeded\n if (depth >= this.maxDepth) {\n return target;\n }\n\n // Check cache to avoid creating duplicate proxies\n if (this.proxyCache.has(target)) {\n return this.proxyCache.get(target);\n }\n\n // Handle arrays specially to track index access\n if (Array.isArray(target)) {\n return this.createArrayProxy(\n target as unknown as any[],\n path,\n depth,\n ) as unknown as T;\n }\n\n // Create object proxy for all objects\n const proxy = new Proxy(target, {\n get: (obj, prop: string | symbol) => {\n const value = Reflect.get(obj, prop);\n\n // Handle functions - bind them to original object\n if (typeof value === 'function') {\n return value.bind(obj);\n }\n\n // Build the full path\n const fullPath = path ? `${path}.${String(prop)}` : String(prop);\n\n // If the value is a nested object, recursively proxy it\n // DON'T track intermediate objects, only track when we access leaf values\n if (isProxyable(value)) {\n const proxiedValue = this.createProxy(\n value as T,\n fullPath,\n depth + 1,\n );\n return proxiedValue;\n }\n\n // Track ONLY leaf properties (non-objects)\n if (typeof prop === 'string' && this.isTracking) {\n // Don't track internal properties\n if (!prop.startsWith('_') && !prop.startsWith('$$')) {\n this.trackedPaths.add(fullPath);\n debug('ProxyTracker', 'Tracked property access', {\n path: fullPath,\n valueType: typeof value,\n });\n }\n }\n\n return value;\n },\n\n // Track 'in' operator\n has: (obj, prop: string | symbol) => {\n if (typeof prop === 'string' && this.isTracking) {\n const fullPath = path ? `${path}.${prop}` : prop;\n this.trackedPaths.add(fullPath);\n debug('ProxyTracker', 'Tracked \"in\" operator access', {\n path: fullPath,\n });\n }\n return Reflect.has(obj, prop);\n },\n\n // Track Object.keys, Object.entries, etc.\n ownKeys: (obj) => {\n if (this.isTracking && path) {\n // Track that we're iterating over this object\n this.trackedPaths.add(path);\n debug('ProxyTracker', 'Tracked object keys iteration', {\n path: path,\n });\n }\n return Reflect.ownKeys(obj);\n },\n });\n\n this.proxyCache.set(target, proxy);\n return proxy as T;\n }\n\n /**\n * Create a proxy for arrays with special handling\n */\n private createArrayProxy<U>(\n target: U[],\n path: string,\n depth: number = 0,\n ): U[] {\n const proxy = new Proxy(target, {\n get: (arr, prop: string | symbol) => {\n const value = Reflect.get(arr, prop);\n\n // Handle array methods\n if (typeof value === 'function') {\n // For methods like map, filter, etc., track array access\n if (\n [\n 'map',\n 'filter',\n 'forEach',\n 'find',\n 'some',\n 'every',\n 'reduce',\n ].includes(String(prop))\n ) {\n if (this.isTracking && path) {\n this.trackedPaths.add(path);\n debug('ProxyTracker', 'Tracked array method access', {\n path: path,\n method: String(prop),\n });\n }\n }\n return value.bind(arr);\n }\n\n // Build the full path for array access\n let fullPath: string;\n if (prop === 'length') {\n fullPath = path ? `${path}.length` : 'length';\n } else if (typeof prop === 'string') {\n const index = Number(prop);\n if (!isNaN(index) && index >= 0) {\n fullPath = path ? `${path}[${index}]` : `[${index}]`;\n } else {\n fullPath = path ? `${path}.${prop}` : prop;\n }\n } else {\n return value;\n }\n\n // Recursively proxy nested objects in arrays\n // DON'T track intermediate objects, only track when we access leaf values\n if (isProxyable(value)) {\n return this.createProxy(value as T, fullPath, depth + 1);\n }\n\n // Track ONLY leaf properties (non-objects) and array length\n if (this.isTracking) {\n this.trackedPaths.add(fullPath);\n debug('ProxyTracker', 'Tracked array property access', {\n path: fullPath,\n valueType: typeof value,\n });\n }\n\n return value;\n },\n });\n\n this.proxyCache.set(target, proxy);\n return proxy;\n }\n\n /**\n * Start tracking property access\n */\n startTracking(): void {\n this.isTracking = true;\n this.trackedPaths.clear();\n debug('ProxyTracker', 'Started tracking');\n }\n\n /**\n * Stop tracking and return tracked paths\n */\n stopTracking(): Set<string> {\n this.isTracking = false;\n debug('ProxyTracker', 'Stopped tracking', {\n pathCount: this.trackedPaths.size,\n paths: Array.from(this.trackedPaths),\n });\n return new Set(this.trackedPaths);\n }\n\n /**\n * Get currently tracked paths\n */\n getTrackedPaths(): ReadonlySet<string> {\n return new Set(this.trackedPaths);\n }\n\n /**\n * Check if currently tracking\n */\n isCurrentlyTracking(): boolean {\n return this.isTracking;\n }\n\n /**\n * Clear proxy cache (useful for memory management)\n */\n clearCache(): void {\n this.proxyCache = new WeakMap();\n }\n\n /**\n * Set maximum tracking depth\n */\n setMaxDepth(depth: number): void {\n this.maxDepth = Math.max(1, depth);\n }\n\n /**\n * Add a path manually (useful for forcing dependencies)\n */\n addPath(path: string): void {\n this.trackedPaths.add(path);\n }\n\n /**\n * Remove a path manually\n */\n removePath(path: string): void {\n this.trackedPaths.delete(path);\n }\n\n /**\n * Clear all tracked paths\n */\n clearPaths(): void {\n this.trackedPaths.clear();\n }\n}\n\n/**\n * Global proxy tracker instance for convenience\n */\nexport const globalProxyTracker = new ProxyTracker();\n\n/**\n * Utility function to track property access in a callback\n */\nexport function trackAccess<T, R>(\n state: T,\n callback: (proxiedState: T) => R,\n): { result: R; trackedPaths: Set<string> } {\n const tracker = new ProxyTracker<T>();\n\n tracker.startTracking();\n const proxiedState = tracker.createProxy(state);\n const result = callback(proxiedState);\n const trackedPaths = tracker.stopTracking();\n\n return { result, trackedPaths };\n}\n","/**\n * Default configuration constants for BlaC\n *\n * Centralized location for all magic numbers and default values.\n */\n\n/**\n * Default configuration constants for BlaC\n */\nexport const BLAC_DEFAULTS = {\n /**\n * Default cleanup interval for subscriptions (30 seconds)\n */\n CLEANUP_INTERVAL_MS: 30_000,\n\n /**\n * Cleanup interval for weak reference stage (10 seconds)\n */\n WEAKREF_CLEANUP_INTERVAL_MS: 10_000,\n\n /**\n * Default maximum subscriptions per container\n */\n MAX_SUBSCRIPTIONS: 1_000,\n\n /**\n * Maximum subscriptions for high-performance mode\n */\n MAX_SUBSCRIPTIONS_HIGH_PERF: 10_000,\n\n /**\n * Default timeout for pipeline execution (5 seconds)\n */\n PIPELINE_TIMEOUT_MS: 5_000,\n\n /**\n * Cleanup interval for high-performance mode (5 seconds)\n */\n CLEANUP_INTERVAL_HIGH_PERF_MS: 5_000,\n\n /**\n * Maximum number of stages in a pipeline\n */\n MAX_PIPELINE_STAGES: 30,\n} as const;\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blac/core",
|
|
3
|
-
"version": "2.0.0-rc.
|
|
3
|
+
"version": "2.0.0-rc.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": "Brendan Mullins <jsnanigans@gmail.com>",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -8,9 +8,14 @@
|
|
|
8
8
|
"types": "./dist/index.d.ts",
|
|
9
9
|
"exports": {
|
|
10
10
|
".": {
|
|
11
|
-
"
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
"import": {
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
|
+
"default": "./dist/index.js"
|
|
14
|
+
},
|
|
15
|
+
"require": {
|
|
16
|
+
"types": "./dist/index.d.cts",
|
|
17
|
+
"default": "./dist/index.cjs"
|
|
18
|
+
}
|
|
14
19
|
}
|
|
15
20
|
},
|
|
16
21
|
"files": [
|
|
@@ -21,27 +26,28 @@
|
|
|
21
26
|
"sideEffects": false,
|
|
22
27
|
"keywords": [
|
|
23
28
|
"typescript",
|
|
24
|
-
"rxjs",
|
|
25
29
|
"state-management",
|
|
26
30
|
"observer-pattern",
|
|
27
31
|
"bloc",
|
|
28
32
|
"bloc-pattern"
|
|
29
33
|
],
|
|
30
|
-
"dependencies": {},
|
|
31
34
|
"devDependencies": {
|
|
32
35
|
"@testing-library/jest-dom": "^6.6.4",
|
|
33
36
|
"@testing-library/user-event": "^14.6.1",
|
|
34
37
|
"@vitest/browser": "^3.2.4",
|
|
38
|
+
"arktype": "^2.1.23",
|
|
39
|
+
"fast-check": "^4.3.0",
|
|
35
40
|
"jsdom": "^26.1.0",
|
|
36
41
|
"prettier": "^3.6.2",
|
|
42
|
+
"tsdown": "^0.15.7",
|
|
37
43
|
"typescript": "^5.9.2",
|
|
38
|
-
"
|
|
44
|
+
"valibot": "^1.1.0",
|
|
45
|
+
"vitest": "^3.2.4",
|
|
46
|
+
"zod": "^4.1.12"
|
|
39
47
|
},
|
|
40
48
|
"scripts": {
|
|
41
|
-
"dev": "
|
|
42
|
-
"build": "
|
|
43
|
-
"build:esm": "tsc --project tsconfig.build.json",
|
|
44
|
-
"build:cjs": "tsc --project tsconfig.build.json --module commonjs --outDir dist --declaration false --declarationMap false && cp dist/index.js dist/index.cjs",
|
|
49
|
+
"dev": "tsdown --watch",
|
|
50
|
+
"build": "tsdown",
|
|
45
51
|
"clean": "rm -rf dist",
|
|
46
52
|
"format": "prettier --write \".\"",
|
|
47
53
|
"lint": "eslint src --ext .ts,.tsx",
|
package/dist/.tsbuildinfo
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"fileNames":["../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2024.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2023.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2024.collection.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2024.object.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2024.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2024.string.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.esnext.array.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.esnext.collection.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.esnext.promise.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.esnext.iterator.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.esnext.float16.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.esnext.error.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/utils/uuid.ts","../src/cubit.ts","../src/types.ts","../src/bloc.ts","../src/plugins/types.ts","../src/errors/blacerror.ts","../src/errors/errormanager.ts","../src/errors/handleerror.ts","../src/plugins/blocpluginregistry.ts","../src/subscription/types.ts","../src/subscription/subscriptionmanager.ts","../src/lifecycle/bloclifecycle.ts","../src/utils/batchingmanager.ts","../src/blocbase.ts","../src/plugins/systempluginregistry.ts","../src/blac.ts","../src/events.ts","../src/subscription/index.ts","../src/lifecycle/index.ts","../src/utils/shallowequal.ts","../src/utils/generateinstanceid.ts","../src/utils/rerenderlogger.ts","../src/testing.ts","../src/adapter/proxyfactory.ts","../src/adapter/blacadapter.ts","../src/adapter/index.ts","../src/plugins/index.ts","../src/errors/index.ts","../src/index.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/utility.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/h2c-client.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/mock-call-history.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/cache-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@7.8.0/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/dom-events.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/sqlite.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@24.1.0/node_modules/@types/node/index.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/globals.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/s3.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/fetch.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/bun.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/extensions.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/devserver.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/ffi.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/html-rewriter.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/jsc.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/sqlite.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/test.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/wasm.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/overrides.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/deprecated.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/redis.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/shell.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/experimental.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/bun.ns.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/dom-events.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@20.19.9/node_modules/@types/node/index.d.ts","../../../node_modules/.pnpm/bun-types@1.2.19_@types+react@19.1.9/node_modules/bun-types/index.d.ts","../../../node_modules/.pnpm/@types+bun@1.2.19_@types+react@19.1.9/node_modules/@types/bun/index.d.ts"],"fileIdsList":[[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,323],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,263,264,265,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,244,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,154,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[113,114,115,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,244,245,246,247,250,251,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,244,245,246,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,244,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,216,220,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,216,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,211,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,213,216,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,211,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[111,112,115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,212,215,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,216,223,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[111,115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,214,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,216,237,238,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,212,216,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,237,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,210,211,212,213,214,215,216,217,218,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,238,239,240,241,242,243,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,216,231,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,216,223,224,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,214,216,224,225,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,215,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[111,115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,211,216,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,216,220,224,225,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,220,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,214,216,219,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[111,115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,213,216,223,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,211,216,237,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,124,128,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,124,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,119,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,121,124,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,119,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,116,117,118,120,123,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,124,132,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,117,122,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,124,148,149,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,117,120,124,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,116,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,119,120,121,122,123,124,125,126,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,149,150,151,152,153,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,124,141,144,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,124,132,133,134,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,122,124,133,135,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,123,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,117,119,124,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,124,128,133,135,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,128,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,122,124,127,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,117,121,124,132,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,124,141,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[115,119,124,148,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[82,84,95,97,102,105,115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[105,106,115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[95,115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[84,87,88,93,95,96,115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[84,95,97,115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[82,86,90,92,93,94,97,115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[95,97,115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[87,115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[87,88,115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[87,88,89,115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[82,83,84,85,95,97,98,99,100,101,102,103,104,107,108,109,115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[93,115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[86,87,89,115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[86,90,96,115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[85,86,95,115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[85,95,115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[91,92,115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[82,91,95,97,115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[83,84,85,95,97,115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[83,85,95,115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321],[97,115,156,157,158,159,160,161,162,163,164,165,166,167,168,169,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,245,246,247,248,250,256,257,258,259,260,261,268,270,271,272,273,274,275,276,277,278,279,280,281,282,283,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"8fd575e12870e9944c7e1d62e1f5a73fcf23dd8d3a321f2a2c74c20d022283fe","impliedFormat":1},{"version":"2ab096661c711e4a81cc464fa1e6feb929a54f5340b46b0a07ac6bbf857471f0","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"df83c2a6c73228b625b0beb6669c7ee2a09c914637e2d35170723ad49c0f5cd4","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"87dc0f382502f5bbce5129bdc0aea21e19a3abbc19259e0b43ae038a9fc4e326","affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ece9f17b3866cc077099c73f4983bddbcb1dc7ddb943227f1ec070f529dedd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c9319a09485199c1f7b0498f2988d6d2249793ef67edda49d1e584746be9032","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3a2a0cee0f03ffdde24d89660eba2685bfbdeae955a6c67e8c4c9fd28928eeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"60037901da1a425516449b9a20073aa03386cce92f7a1fd902d7602be3a7c2e9","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"22adec94ef7047a6c9d1af3cb96be87a335908bf9ef386ae9fd50eeb37f44c47","affectsGlobalScope":true,"impliedFormat":1},{"version":"4245fee526a7d1754529d19227ecbf3be066ff79ebb6a380d78e41648f2f224d","affectsGlobalScope":true,"impliedFormat":1},{"version":"73f78680d4c08509933daf80947902f6ff41b6230f94dd002ae372620adb0f60","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5239f5c01bcfa9cd32f37c496cf19c61d69d37e48be9de612b541aac915805b","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"87ace3a15b3ad4db8f28554a04911d74a9a153a88787c064971912561aa188fa","signature":"07933b94fa2f7784aea7a94fa4baaef7ce387cb291abf7c708852a1122171ed9"},{"version":"cd8c3f882efbfc1bb5e4616236d60bcea458fa054246176a596cf814866a8732","signature":"8c1fd581517e7eee9730c8c7c49cc65a2dbcebea759d4ce0fefc8a6b45b8c42d"},{"version":"a12f39310eb89ef39db9925fa6ea2948511099b399bfb02d734be81a4e3c723c","signature":"4f85a5905b7dc25dc7c43e30400c4774a30550dafa247a1d337ba4db1fae774a"},{"version":"9e78ba1aca91e98fee8ce6472a466d3152c7859fc383a08e3242561fe320135d","signature":"543d8d7e11117a896a5e158a1fdde25ef4d628cac88ff9c2d9259f3c601626ce"},{"version":"f297ce48076686386f1da675ca4f639236c706fbf236eafddbdeb90fdf317086","signature":"ee9ce5850e79836afb7ad629cd84a9d624618453d51077166a28a79a67585e28"},{"version":"20ef0871ddf293a0a116125e8860b7fec6690788be7ddc11a29e5293f8a96f75","signature":"dc4778dfc69f95008cf610f654aa8040ad8ab62323083ba177f2601e40824e20"},{"version":"055409d71a004cb42a2ce0acd7991826560ea45ffb645edc2e2eebdb120fe6e5","signature":"7f9a5e6f5af5dc2fc5ce6499d19cebe0b7df33b0bbd312dedafe48e6e28adc7b"},{"version":"35be75915dbd672b0cfdc200dc2bde728c150e4f42bb6197b7e3269d06595f1f","signature":"552740206b0b6bf1102f775532905f28dc0fdbfb6bff76894f0f9f8c1688f238"},{"version":"6f14e1b2bdf51d9a59ebe3654713d733613284ed501ec38d3cf9b6b8e7428769","signature":"c2708a9d249afd55931a45f280b96206cd8741dd9147f450e9963a15d7db5379"},{"version":"c113228fea938e6020b72c6b6654c5de011dcc7b549697cb0a49f3dbd7a0e6ab","signature":"bac1421cdf6ccf8e5e369d46c0adc6e98dcee86af0aab8946f66f4e0b7d35fde"},{"version":"4b6ce4f325f2caaae138bfcd7736916df7ecdb7b56a8955d40b44b1f69bccc0e","signature":"a00e8f24d2b5eef83ffad5af2ed08965704e9c4834fb605c6c68d19abd75dc30"},{"version":"c8e3f722c7139d7db9de8c8c2976dc736fc32d9d16ca087cea9510bf354c9f47","signature":"727d80c10428ea2ebaba62d295807ade6d0b408e050bf21f7a449ca7b4dc7e07"},{"version":"3caa2ffc9676cb6355975e2a515f41db1a1188641729fe0252a8895007346921","signature":"d29579a895a4e821334f11484447cfef8c63fd437aa1316752d6edc3baf85498"},{"version":"e2eb435457f3dedf84f74e4dac41a01d7af766b90c3f1cda28e77cc119475ccb","signature":"2467948c6cf232adfe9fdb84bcbb75107e6e5cd8f9be8ef82228290b82287497"},{"version":"25908621aa3ccb138aa2c817ca615391edc8183fd190067e8f64abbb3df2179e","signature":"7c0dec2dceec15cf8a40ff27869fd9ced0484b051ccae63de0a34ff799c04136"},{"version":"c0bed587790f6f36b29fda37f0a30242d21731e65b45a3de0372f1c32944ffdc","signature":"d4ca1ad046eee3364d50977591cf14653521e59334c6993400a3a2e3c144509d"},{"version":"0a0f94d96bff2f4d541857912e992cfdf6e07b6d2a5ca7839bcea35fc86602ef","signature":"39d775ad4da8e5e2e2b9105cc86efb04c26d087c6425572d83f1e2288561b9ad"},"9e17040e7b358006515b48e37ae17bb4af35e1032ea34bbd438d6e08eaac3f7e","d31084dd2de1d8e5705f8d48a0a578bec6d3a77a60bc38475d5896d143ff5afc",{"version":"54c8e471314c0e560227e429c75d7fca9c01517de66943ff4061359bc4c10f5c","signature":"02fdaeb24ff7bffa9fa4bc791894a4e8bb8744b98d1a8cf9019412e880057483"},{"version":"3aca29a53533b97d08c82ba1076db4c26985305093a313b472789d350580b287","signature":"4b9d99adc8a8f8867d07a6880244529d44240707eb599c4678e9f77c1f2a346b"},{"version":"a400939cb82a719b20e752457210b12149dd9aae989dc5271f3e7e676ba118b4","signature":"7c7dc2baa6a66c662f7f214234f39496e49ccc325b45df13943d1c4f3f89632a"},{"version":"73c847b0a08fa9ea8b236226f3120940e19a028339eedff0925dd00be26765ba","signature":"963ba581ee3d96350c6837e18e3f171e1756bcaabb4ce852154687a2e8b6b6fd"},{"version":"0d858312feb2f2762f0a073395b44162cbed968c2a4074abbce08521e9cdff3d","signature":"b3bfe8855b099d2d1d885c873ba55b7767adfac7a55c72a805b6085d84f6cc1f"},{"version":"628daeba9faced4f548e034fd100d5cc0b8f2ce4c0d7e73e2942400d4cd889b4","signature":"24df3ed401ed8d6d7ac88d8486ede6f4756090d1824c0caebd98c37c40feb506"},"c0cde1f5985aa9b33c59d10e92ab0b05586c8653b481192aa5d9ef3ca5e05259",{"version":"b97486274310bfd841cf7232551dbe59b61676d6afc5d8e9aa554aa21ecb1887","signature":"11bef6691b73f612dc6697b25b60cac5f547077a28d259ca0f4f91cf9121283b"},{"version":"b7219c0cebccf58dcbe46abcfa8cc3af73e3d7edac3fb2166479401e1e6b2872","signature":"17a0107b41196a4b2da890d8f483e7098c1cd51aa1428af5e5938db482c9dc4e"},{"version":"7432e30b795a3dafa0b6428d3c39fd0007803cfce3f3ad420adf9786ec238f56","signature":"4aec85aeec4b7014a08d3da0adf4f8448ef8296178ab624d563c9fbca50cf7bc"},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0671b50bb99cc7ad46e9c68fa0e7f15ba4bc898b59c31a17ea4611fab5095da","affectsGlobalScope":true,"impliedFormat":1},{"version":"d802f0e6b5188646d307f070d83512e8eb94651858de8a82d1e47f60fb6da4e2","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdcf9ea426ad970f96ac930cd176d5c69c6c24eebd9fc580e1572d6c6a88f62c","impliedFormat":1},{"version":"23cd712e2ce083d68afe69224587438e5914b457b8acf87073c22494d706a3d0","impliedFormat":1},{"version":"487b694c3de27ddf4ad107d4007ad304d29effccf9800c8ae23c2093638d906a","impliedFormat":1},{"version":"e525f9e67f5ddba7b5548430211cae2479070b70ef1fd93550c96c10529457bd","impliedFormat":1},{"version":"ccf4552357ce3c159ef75f0f0114e80401702228f1898bdc9402214c9499e8c0","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"17fe9131bec653b07b0a1a8b99a830216e3e43fe0ea2605be318dc31777c8bbf","impliedFormat":1},{"version":"3c8e93af4d6ce21eb4c8d005ad6dc02e7b5e6781f429d52a35290210f495a674","impliedFormat":1},{"version":"2c9875466123715464539bfd69bcaccb8ff6f3e217809428e0d7bd6323416d01","impliedFormat":1},{"version":"ea6bc8de8b59f90a7a3960005fd01988f98fd0784e14bc6922dde2e93305ec7d","impliedFormat":1},{"version":"36107995674b29284a115e21a0618c4c2751b32a8766dd4cb3ba740308b16d59","impliedFormat":1},{"version":"914a0ae30d96d71915fc519ccb4efbf2b62c0ddfb3a3fc6129151076bc01dc60","impliedFormat":1},{"version":"2472ef4c28971272a897fdb85d4155df022e1f5d9a474a526b8fc2ef598af94e","impliedFormat":1},{"version":"6c8e442ba33b07892169a14f7757321e49ab0f1032d676d321a1fdab8a67d40c","impliedFormat":1},{"version":"b41767d372275c154c7ea6c9d5449d9a741b8ce080f640155cc88ba1763e35b3","impliedFormat":1},{"version":"1cd673d367293fc5cb31cd7bf03d598eb368e4f31f39cf2b908abbaf120ab85a","impliedFormat":1},{"version":"19851a6596401ca52d42117108d35e87230fc21593df5c4d3da7108526b6111c","impliedFormat":1},{"version":"3825bf209f1662dfd039010a27747b73d0ef379f79970b1d05601ec8e8a4249f","impliedFormat":1},{"version":"0b6e25234b4eec6ed96ab138d96eb70b135690d7dd01f3dd8a8ab291c35a683a","impliedFormat":1},{"version":"40bfc70953be2617dc71979c14e9e99c5e65c940a4f1c9759ddb90b0f8ff6b1a","impliedFormat":1},{"version":"da52342062e70c77213e45107921100ba9f9b3a30dd019444cf349e5fb3470c4","impliedFormat":1},{"version":"e9ace91946385d29192766bf783b8460c7dbcbfc63284aa3c9cae6de5155c8bc","impliedFormat":1},{"version":"40b463c6766ca1b689bfcc46d26b5e295954f32ad43e37ee6953c0a677e4ae2b","impliedFormat":1},{"version":"561c60d8bfe0fec2c08827d09ff039eca0c1f9b50ef231025e5a549655ed0298","impliedFormat":1},{"version":"1e30c045732e7db8f7a82cf90b516ebe693d2f499ce2250a977ec0d12e44a529","impliedFormat":1},{"version":"84b736594d8760f43400202859cda55607663090a43445a078963031d47e25e7","impliedFormat":1},{"version":"499e5b055a5aba1e1998f7311a6c441a369831c70905cc565ceac93c28083d53","impliedFormat":1},{"version":"54c3e2371e3d016469ad959697fd257e5621e16296fa67082c2575d0bf8eced0","impliedFormat":1},{"version":"beb8233b2c220cfa0feea31fbe9218d89fa02faa81ef744be8dce5acb89bb1fd","impliedFormat":1},{"version":"78b29846349d4dfdd88bd6650cc5d2baaa67f2e89dc8a80c8e26ef7995386583","impliedFormat":1},{"version":"5d0375ca7310efb77e3ef18d068d53784faf62705e0ad04569597ae0e755c401","impliedFormat":1},{"version":"59af37caec41ecf7b2e76059c9672a49e682c1a2aa6f9d7dc78878f53aa284d6","impliedFormat":1},{"version":"addf417b9eb3f938fddf8d81e96393a165e4be0d4a8b6402292f9c634b1cb00d","impliedFormat":1},{"version":"e38d4fdf79e1eadd92ed7844c331dbaa40f29f21541cfee4e1acff4db09cda33","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"7c10a32ae6f3962672e6869ee2c794e8055d8225ef35c91c0228e354b4e5d2d3","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"99f569b42ea7e7c5fe404b2848c0893f3e1a56e0547c1cd0f74d5dbb9a9de27e","impliedFormat":1},{"version":"f4b4faedc57701ae727d78ba4a83e466a6e3bdcbe40efbf913b17e860642897c","affectsGlobalScope":true,"impliedFormat":1},{"version":"bbcfd9cd76d92c3ee70475270156755346c9086391e1b9cb643d072e0cf576b8","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"72c1f5e0a28e473026074817561d1bc9647909cf253c8d56c41d1df8d95b85f7","impliedFormat":1},{"version":"003ec918ec442c3a4db2c36dc0c9c766977ea1c8bcc1ca7c2085868727c3d3f6","affectsGlobalScope":true,"impliedFormat":1},{"version":"938f94db8400d0b479626b9006245a833d50ce8337f391085fad4af540279567","impliedFormat":1},{"version":"c4e8e8031808b158cfb5ac5c4b38d4a26659aec4b57b6a7e2ba0a141439c208c","impliedFormat":1},{"version":"2c91d8366ff2506296191c26fd97cc1990bab3ee22576275d28b654a21261a44","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"12fb9c13f24845000d7bd9660d11587e27ef967cbd64bd9df19ae3e6aa9b52d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"289e9894a4668c61b5ffed09e196c1f0c2f87ca81efcaebdf6357cfb198dac14","impliedFormat":1},{"version":"25a1105595236f09f5bce42398be9f9ededc8d538c258579ab662d509aa3b98e","impliedFormat":1},{"version":"5078cd62dbdf91ae8b1dc90b1384dec71a9c0932d62bdafb1a811d2a8e26bef2","impliedFormat":1},{"version":"a2e2bbde231b65c53c764c12313897ffdfb6c49183dd31823ee2405f2f7b5378","impliedFormat":1},{"version":"ad1cc0ed328f3f708771272021be61ab146b32ecf2b78f3224959ff1e2cd2a5c","impliedFormat":1},{"version":"71450bbc2d82821d24ca05699a533e72758964e9852062c53b30f31c36978ab8","affectsGlobalScope":true,"impliedFormat":1},{"version":"62f572306e0b173cc5dfc4c583471151f16ef3779cf27ab96922c92ec82a3bc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"dd2fcf3359dc2dacc5198ae764d5179e3dc096295c37e8241fdce324a99ff1ee","impliedFormat":1},{"version":"0ab3c844f1eb5a1d94c90edc346a25eb9d3943af7a7812f061bf2d627d8afac0","impliedFormat":1},{"version":"bd8b644c5861b94926687618ec2c9e60ad054d334d6b7eb4517f23f53cb11f91","impliedFormat":1},{"version":"161f09445a8b4ba07f62ae54b27054e4234e7957062e34c6362300726dabd315","impliedFormat":1},{"version":"77fced47f495f4ff29bb49c52c605c5e73cd9b47d50080133783032769a9d8a6","impliedFormat":1},{"version":"a828998f5c017ec1356a7d07e66c7fc8a6b009d451c2bdc3be8ccb4f424316d2","impliedFormat":1},{"version":"34ecb9596317c44dab586118fb62c1565d3dad98d201cd77f3e6b0dde453339c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0f5cda0282e1d18198e2887387eb2f026372ebc4e11c4e4516fef8a19ee4d514","impliedFormat":1},{"version":"e99b0e71f07128fc32583e88ccd509a1aaa9524c290efb2f48c22f9bf8ba83b1","impliedFormat":1},{"version":"76957a6d92b94b9e2852cf527fea32ad2dc0ef50f67fe2b14bd027c9ceef2d86","impliedFormat":1},{"version":"237581f5ec4620a17e791d3bb79bad3af01e27a274dbee875ac9b0721a4fe97d","affectsGlobalScope":true,"impliedFormat":1},{"version":"a8a99a5e6ed33c4a951b67cc1fd5b64fd6ad719f5747845c165ca12f6c21ba16","affectsGlobalScope":true,"impliedFormat":1},{"version":"a58a15da4c5ba3df60c910a043281256fa52d36a0fcdef9b9100c646282e88dd","impliedFormat":1},{"version":"b36beffbf8acdc3ebc58c8bb4b75574b31a2169869c70fc03f82895b93950a12","impliedFormat":1},{"version":"de263f0089aefbfd73c89562fb7254a7468b1f33b61839aafc3f035d60766cb4","impliedFormat":1},{"version":"70b57b5529051497e9f6482b76d91c0dcbb103d9ead8a0549f5bab8f65e5d031","impliedFormat":1},{"version":"e6d81b1f7ab11dc1b1ad7ad29fcfad6904419b36baf55ed5e80df48d56ac3aff","impliedFormat":1},{"version":"1013eb2e2547ad8c100aca52ef9df8c3f209edee32bb387121bb3227f7c00088","impliedFormat":1},{"version":"b6b8e3736383a1d27e2592c484a940eeb37ec4808ba9e74dd57679b2453b5865","impliedFormat":1},{"version":"d6f36b683c59ac0d68a1d5ee906e578e2f5e9a285bca80ff95ce61cdc9ddcdeb","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"12aad38de6f0594dc21efa78a2c1f67bf6a7ef5a389e05417fe9945284450908","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea713aa14a670b1ea0fbaaca4fd204e645f71ca7653a834a8ec07ee889c45de6","impliedFormat":1},{"version":"b338a6e6c1d456e65a6ea78da283e3077fe8edf7202ae10490abbba5b952b05e","impliedFormat":1},{"version":"2918b7c516051c30186a1055ebcdb3580522be7190f8a2fff4100ea714c7c366","affectsGlobalScope":true,"impliedFormat":1},{"version":"ae86f30d5d10e4f75ce8dcb6e1bd3a12ecec3d071a21e8f462c5c85c678efb41","impliedFormat":1},{"version":"982efeb2573605d4e6d5df4dc7e40846bda8b9e678e058fc99522ab6165c479e","impliedFormat":1},{"version":"e03460fe72b259f6d25ad029f085e4bedc3f90477da4401d8fbc1efa9793230e","impliedFormat":1},{"version":"4286a3a6619514fca656089aee160bb6f2e77f4dd53dc5a96b26a0b4fc778055","impliedFormat":1},{"version":"d67fc92a91171632fc74f413ce42ff1aa7fbcc5a85b127101f7ec446d2039a1f","affectsGlobalScope":true,"impliedFormat":1},{"version":"d40e4631100dbc067268bce96b07d7aff7f28a541b1bfb7ef791c64a696b3d33","affectsGlobalScope":true,"impliedFormat":1},{"version":"784490137935e1e38c49b9289110e74a1622baf8a8907888dcbe9e476d7c5e44","impliedFormat":1},{"version":"42180b657831d1b8fead051698618b31da623fb71ff37f002cb9d932cfa775f1","impliedFormat":1},{"version":"4f98d6fb4fe7cbeaa04635c6eaa119d966285d4d39f0eb55b2654187b0b27446","impliedFormat":1},{"version":"e4c653466d0497d87fa9ffd00e59a95f33bc1c1722c3f5c84dab2e950c18da70","affectsGlobalScope":true,"impliedFormat":1},{"version":"e6dcc3b933e864e91d4bea94274ad69854d5d2a1311a4b0e20408a57af19e95d","impliedFormat":1},{"version":"a51f786b9f3c297668f8f322a6c58f85d84948ef69ade32069d5d63ec917221c","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"e8a763a4ebce303ca18717d2166d67950b0362ff3319def0c28ecb794b9f04d3","affectsGlobalScope":true,"impliedFormat":1},{"version":"ee31fab138939ef1903831933d524de9944511759778eedaaed56d6eb7f8697d","impliedFormat":1},{"version":"e45cc72cc9e7ad726ec83141fa4cd221d432062de34586ff107a0442ae28bf19","impliedFormat":1},{"version":"d9455aaf258770f187384ebe910495634a7fb904ee7a1c11755427a1e611eea8","impliedFormat":1},{"version":"6d7ec38e96b4ad4d977e7376d9a92253927c1342ed6c102bd4dc4950deed1dd1","impliedFormat":1},{"version":"fc9e630f9302d0414ccd6c8ed2706659cff5ae454a56560c6122fa4a3fac5bbd","affectsGlobalScope":true,"impliedFormat":1},{"version":"7115f1157a00937d712e042a011eb85e9d80b13eff78bac5f210ee852f96879d","impliedFormat":1},{"version":"0ac74c7586880e26b6a599c710b59284a284e084a2bbc82cd40fb3fbfdea71ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"2ce12357dadbb8efc4e4ec4dab709c8071bf992722fc9adfea2fe0bd5b50923f","impliedFormat":1},{"version":"56c685ea062afe11fd775c31dc33acc449f780b17ba392ac154799323ebc9647","impliedFormat":1},{"version":"085b6073465a6358e693823dcc03128f359e28780e8a497bf5fcf1b577b5c960","impliedFormat":1},{"version":"b05b9ef20d18697e468c3ae9cecfff3f47e8976f9522d067047e3f236db06a41","affectsGlobalScope":true,"impliedFormat":1},{"version":"b12b645134e106bea2c135a8a64c933329e195d3b8ca2fc6eeeec73dd8836924","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbe8d85bf780a22fb2838e9807c53b3ea2610f46ae925a771eba421c44c5a4c6","affectsGlobalScope":true,"impliedFormat":1},{"version":"f7f5d83fe8eff2f1910e8b0437527041e5cc45aa15cda443f27dbadc3d5805e7","impliedFormat":1},{"version":"f5e8617ad68d001f3e26035ee699dad75df20ada6adc88524cb631d9f9b871fa","impliedFormat":1},{"version":"c61c37176b7a6c043df76f437e402ea9abc9f19e9652a0d37629dfc8b7e83497","impliedFormat":1},{"version":"067f76ab5254b1bdfc94154730b7a30c12e3aad8b9d04ec62c0d6b7a1f40ea0e","affectsGlobalScope":true,"impliedFormat":1},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"49a5a44f2e68241a1d2bd9ec894535797998841c09729e506a7cbfcaa40f2180","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ca84b44ad1d8e4576f24904d8b95dd23b94ea67e1575f89614ac90062fc67f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d586db0a09a9495ebb5dece28f54df9684bfbd6e1f568426ca153126dac4a40","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"8c0bcd6c6b67b4b503c11e91a1fb91522ed585900eab2ab1f61bba7d7caa9d6f","impliedFormat":1},{"version":"567b7f607f400873151d7bc63a049514b53c3c00f5f56e9e95695d93b66a138e","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3e58c4c18a031cbb17abec7a4ad0bd5ae9fc70c1f4ba1e7fb921ad87c504aca","impliedFormat":1},{"version":"84c1930e33d1bb12ad01bcbe11d656f9646bd21b2fb2afd96e8e10615a021aef","impliedFormat":1},{"version":"35ec8b6760fd7138bbf5809b84551e31028fb2ba7b6dc91d95d098bf212ca8b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4b87f767c7bc841511113c876a6b8bf1fd0cb0b718c888ad84478b372ec486b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d04e3640dd9eb67f7f1e5bd3d0bf96c784666f7aefc8ac1537af6f2d38d4c29","impliedFormat":1},{"version":"9d19808c8c291a9010a6c788e8532a2da70f811adb431c97520803e0ec649991","impliedFormat":1},{"version":"2bf469abae4cc9c0f340d4e05d9d26e37f936f9c8ca8f007a6534f109dcc77e4","impliedFormat":1},{"version":"4aacb0dd020eeaef65426153686cc639a78ec2885dc72ad220be1d25f1a439df","impliedFormat":1},{"version":"f0bd7e6d931657b59605c44112eaf8b980ba7f957a5051ed21cb93d978cf2f45","impliedFormat":1},{"version":"71450bbc2d82821d24ca05699a533e72758964e9852062c53b30f31c36978ab8","affectsGlobalScope":true,"impliedFormat":1},{"version":"0ada07543808f3b967624645a8e1ccd446f8b01ade47842acf1328aec899fed0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4c21aaa8257d7950a5b75a251d9075b6a371208fc948c9c8402f6690ef3b5b55","impliedFormat":1},{"version":"b5895e6353a5d708f55d8685c38a235c3a6d8138e374dee8ceb8ffde5aa8002a","impliedFormat":1},{"version":"54c4f21f578864961efc94e8f42bc893a53509e886370ec7dd602e0151b9266c","impliedFormat":1},{"version":"de735eca2c51dd8b860254e9fdb6d9ec19fe402dfe597c23090841ce3937cfc5","impliedFormat":1},{"version":"4ff41188773cbf465807dd2f7059c7494cbee5115608efc297383832a1150c43","impliedFormat":1},{"version":"5650cf3dace09e7c25d384e3e6b818b938f68f4e8de96f52d9c5a1b3db068e86","impliedFormat":1},{"version":"1354ca5c38bd3fd3836a68e0f7c9f91f172582ba30ab15bb8c075891b91502b7","affectsGlobalScope":true,"impliedFormat":1},{"version":"5155da3047ef977944d791a2188ff6e6c225f6975cc1910ab7bb6838ab84cede","impliedFormat":1},{"version":"93f437e1398a4f06a984f441f7fa7a9f0535c04399619b5c22e0b87bdee182cb","impliedFormat":1},{"version":"afbe24ab0d74694372baa632ecb28bb375be53f3be53f9b07ecd7fc994907de5","impliedFormat":1},{"version":"e16d218a30f6a6810b57f7e968124eaa08c7bb366133ea34bbf01e7cd6b8c0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb8692dea24c27821f77e397272d9ed2eda0b95e4a75beb0fdda31081d15a8ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e043a1bc8fbf2a255bccf9bf27e0f1caf916c3b0518ea34aa72357c0afd42ec","impliedFormat":1},{"version":"b4f70ec656a11d570e1a9edce07d118cd58d9760239e2ece99306ee9dfe61d02","impliedFormat":1},{"version":"3bc2f1e2c95c04048212c569ed38e338873f6a8593930cf5a7ef24ffb38fc3b6","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"f9d9d753d430ed050dc1bf2667a1bab711ccbb1c1507183d794cc195a5b085cc","impliedFormat":1},{"version":"9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","impliedFormat":1},{"version":"5b6844ad931dcc1d3aca53268f4bd671428421464b1286746027aede398094f2","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"0dbcebe2126d03936c70545e96a6e41007cf065be38a1ce4d32a39fcedefead4","affectsGlobalScope":true,"impliedFormat":1},{"version":"1851a3b4db78664f83901bb9cac9e45e03a37bb5933cc5bf37e10bb7e91ab4eb","impliedFormat":1},{"version":"461e54289e6287e8494a0178ba18182acce51a02bca8dea219149bf2cf96f105","impliedFormat":1},{"version":"12ed4559eba17cd977aa0db658d25c4047067444b51acfdcbf38470630642b23","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3ffabc95802521e1e4bcba4c88d8615176dc6e09111d920c7a213bdda6e1d65","impliedFormat":1},{"version":"e31e51c55800014d926e3f74208af49cb7352803619855c89296074d1ecbb524","impliedFormat":1},{"version":"ae56f65caf3be91108707bd8dfbccc2a57a91feb5daabf7165a06a945545ed26","impliedFormat":1},{"version":"a136d5de521da20f31631a0a96bf712370779d1c05b7015d7019a9b2a0446ca9","impliedFormat":1},{"version":"dfb96ba5177b68003deec9e773c47257da5c4c8a74053d8956389d832df72002","affectsGlobalScope":true,"impliedFormat":1},{"version":"92d3070580cf72b4bb80959b7f16ede9a3f39e6f4ef2ac87cfa4561844fdc69f","affectsGlobalScope":true,"impliedFormat":1},{"version":"d3dffd70e6375b872f0b4e152de4ae682d762c61a24881ecc5eb9f04c5caf76f","impliedFormat":1},{"version":"613deebaec53731ff6b74fe1a89f094b708033db6396b601df3e6d5ab0ec0a47","impliedFormat":1},{"version":"d91a7d8b5655c42986f1bdfe2105c4408f472831c8f20cf11a8c3345b6b56c8c","impliedFormat":1},{"version":"e56eb632f0281c9f8210eb8c86cc4839a427a4ffffcfd2a5e40b956050b3e042","affectsGlobalScope":true,"impliedFormat":1},{"version":"e8a979b8af001c9fc2e774e7809d233c8ca955a28756f52ee5dee88ccb0611d2","impliedFormat":1},{"version":"cac793cc47c29e26e4ac3601dcb00b4435ebed26203485790e44f2ad8b6ad847","impliedFormat":1},{"version":"8f95bf00d9d01de72cddbeabe5bdcb019248c209df4976a814756504afdb9291","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be812b06e518320ba82e2aff3ac2ca37370a9df917db708f081b9043fa3315","impliedFormat":1}],"root":[[82,110]],"options":{"allowSyntheticDefaultImports":true,"composite":false,"declaration":false,"declarationMap":false,"esModuleInterop":true,"experimentalDecorators":false,"module":1,"outDir":"./","removeComments":false,"rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":99,"tsBuildInfoFile":"./.tsbuildinfo"},"referencedMap":[[324,1],[270,2],[271,3],[272,2],[268,4],[273,2],[274,2],[275,2],[263,2],[266,5],[264,2],[265,2],[276,2],[277,2],[278,2],[279,2],[280,2],[281,2],[282,2],[284,2],[283,2],[285,2],[286,2],[287,2],[269,6],[267,2],[288,2],[289,2],[290,2],[322,7],[291,2],[292,2],[293,2],[294,2],[295,2],[296,2],[297,2],[298,2],[299,2],[300,2],[301,2],[302,2],[303,8],[304,2],[306,2],[305,2],[307,2],[308,2],[309,2],[310,2],[311,2],[312,2],[313,2],[314,2],[315,2],[316,2],[317,2],[318,2],[319,2],[320,2],[321,2],[156,2],[157,9],[158,2],[115,10],[159,2],[160,2],[161,2],[113,2],[162,2],[163,2],[164,2],[165,2],[166,2],[167,2],[168,2],[170,2],[169,2],[171,2],[172,2],[173,2],[155,11],[114,2],[174,11],[175,2],[176,2],[209,12],[177,2],[178,2],[179,2],[180,2],[181,2],[182,2],[183,13],[184,2],[185,2],[186,2],[187,2],[188,2],[189,14],[190,2],[191,2],[193,2],[192,2],[194,2],[195,2],[196,2],[197,2],[198,2],[199,2],[200,2],[201,2],[202,2],[203,2],[204,2],[205,2],[206,2],[207,2],[208,2],[248,15],[262,2],[258,16],[250,17],[261,18],[249,2],[247,19],[251,2],[245,20],[252,2],[323,21],[253,2],[257,22],[259,23],[246,24],[260,25],[254,2],[255,2],[256,26],[80,2],[81,2],[13,2],[15,2],[14,2],[2,2],[16,2],[17,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[3,2],[24,2],[25,2],[4,2],[26,2],[30,2],[27,2],[28,2],[29,2],[31,2],[32,2],[33,2],[5,2],[34,2],[35,2],[36,2],[37,2],[6,2],[41,2],[38,2],[39,2],[40,2],[42,2],[7,2],[43,2],[48,2],[49,2],[44,2],[45,2],[46,2],[47,2],[8,2],[53,2],[50,2],[51,2],[52,2],[54,2],[9,2],[55,2],[56,2],[57,2],[59,2],[58,2],[60,2],[61,2],[10,2],[62,2],[63,2],[64,2],[11,2],[65,2],[66,2],[67,2],[68,2],[69,2],[1,2],[70,2],[71,2],[12,2],[75,2],[73,2],[78,2],[77,2],[72,2],[76,2],[74,2],[79,2],[223,27],[233,28],[222,27],[243,29],[214,30],[213,2],[242,31],[236,32],[241,30],[216,33],[230,34],[215,35],[239,36],[211,37],[210,31],[240,38],[212,39],[217,28],[218,2],[221,28],[111,2],[244,40],[234,41],[225,42],[226,43],[228,44],[224,45],[227,46],[237,31],[219,47],[220,48],[229,49],[112,2],[232,41],[231,28],[235,2],[238,50],[132,51],[143,52],[130,51],[144,2],[153,53],[122,54],[121,2],[152,31],[147,55],[151,54],[124,56],[140,57],[123,58],[150,59],[119,60],[120,55],[125,52],[126,2],[131,54],[129,52],[117,61],[154,62],[145,63],[135,64],[134,52],[136,65],[138,66],[133,67],[137,68],[148,31],[127,69],[128,70],[139,71],[118,2],[142,72],[141,52],[146,2],[116,2],[149,73],[106,74],[107,75],[105,76],[97,77],[85,78],[95,79],[83,80],[87,2],[88,81],[89,82],[109,83],[98,2],[110,84],[93,2],[100,85],[90,86],[108,87],[96,88],[86,89],[99,90],[92,91],[91,76],[104,92],[84,93],[94,2],[102,2],[103,94],[101,2],[82,2]],"version":"5.9.2"}
|