{
  "version": 3,
  "sources": ["../src/tfjs/tf-node-gpu.ts", "../src/human.ts", "../src/helpers.ts", "../src/sysinfo.ts", "../src/tfjs/backend.ts", "../src/age/age.ts", "../src/profile.ts", "../src/gender/gender.ts", "../src/emotion/emotion.ts", "../src/embedding/embedding.ts", "../src/faceres/faceres.ts", "../src/faceall.ts", "../src/blazeface/facemesh.ts", "../src/blazeface/blazeface.ts", "../src/blazeface/facepipeline.ts", "../src/blazeface/box.ts", "../src/blazeface/util.ts", "../src/blazeface/coords.ts", "../src/posenet/posenet.ts", "../src/posenet/modelBase.ts", "../src/posenet/heapSort.ts", "../src/posenet/buildParts.ts", "../src/posenet/keypoints.ts", "../src/posenet/vectors.ts", "../src/posenet/decoders.ts", "../src/posenet/decodePose.ts", "../src/posenet/decodeMultiple.ts", "../src/posenet/util.ts", "../src/handpose/handpose.ts", "../src/handpose/handdetector.ts", "../src/handpose/box.ts", "../src/handpose/handpipeline.ts", "../src/handpose/util.ts", "../src/handpose/anchors.ts", "../src/blazepose/blazepose.ts", "../src/blazepose/annotations.ts", "../src/efficientpose/efficientpose.ts", "../src/nanodet/nanodet.ts", "../src/nanodet/labels.ts", "../src/gesture/gesture.ts", "../src/image/image.ts", "../src/image/imagefx.js", "../src/draw/draw.ts", "../src/config.ts", "../src/sample.ts"],
  "sourcesContent": ["export * from '@tensorflow/tfjs-node-gpu';\n", "import { log, now, mergeDeep } from './helpers';\nimport * as sysinfo from './sysinfo';\nimport * as tf from '../dist/tfjs.esm.js';\nimport * as backend from './tfjs/backend';\nimport * as faceall from './faceall';\nimport * as facemesh from './blazeface/facemesh';\nimport * as age from './age/age';\nimport * as gender from './gender/gender';\nimport * as faceres from './faceres/faceres';\nimport * as emotion from './emotion/emotion';\nimport * as embedding from './embedding/embedding';\nimport * as posenet from './posenet/posenet';\nimport * as handpose from './handpose/handpose';\nimport * as blazepose from './blazepose/blazepose';\nimport * as efficientpose from './efficientpose/efficientpose';\nimport * as nanodet from './nanodet/nanodet';\nimport * as gesture from './gesture/gesture';\nimport * as image from './image/image';\nimport * as draw from './draw/draw';\nimport * as profile from './profile';\nimport { Config, defaults } from './config';\nimport { Result } from './result';\nimport * as sample from './sample';\nimport * as app from '../package.json';\n\n/** Generic Tensor object type */\nexport type Tensor = typeof tf.Tensor;\nexport type { Config } from './config';\nexport type { Result } from './result';\n/** Defines all possible input types for **Human** detection */\nexport type Input = Tensor | ImageData | ImageBitmap | HTMLImageElement | HTMLVideoElement | HTMLCanvasElement | OffscreenCanvas;\n/** Error message */\nexport type Error = { error: string };\n/** Instance of TensorFlow/JS */\nexport type TensorFlow = typeof tf;\n/** Generic Model object type, holds instance of individual models */\ntype Model = Object;\n\n/**\n * **Human** library main class\n *\n * All methods and properties are available only as members of Human class\n *\n * - Configuration object definition: {@link Config}\n * - Results object definition: {@link Result}\n * - Possible inputs: {@link Input}\n */\nexport class Human {\n  version: string;\n  config: Config;\n  state: string;\n  image: { tensor: Tensor, canvas: OffscreenCanvas | HTMLCanvasElement };\n  // classes\n  tf: TensorFlow;\n  draw: {\n    drawOptions?: typeof draw.drawOptions,\n    gesture: typeof draw.gesture,\n    face: typeof draw.face,\n    body: typeof draw.body,\n    hand: typeof draw.hand,\n    canvas: typeof draw.canvas,\n    all: typeof draw.all,\n  };\n  // models\n  models: {\n    face: facemesh.MediaPipeFaceMesh | Model | null,\n    posenet: posenet.PoseNet | null,\n    blazepose: Model | null,\n    efficientpose: Model | null,\n    handpose: handpose.HandPose | null,\n    iris: Model | null,\n    age: Model | null,\n    gender: Model | null,\n    emotion: Model | null,\n    embedding: Model | null,\n    nanodet: Model | null,\n    faceres: Model | null,\n  };\n  classes: {\n    facemesh: typeof facemesh;\n    age: typeof age;\n    gender: typeof gender;\n    emotion: typeof emotion;\n    body: typeof posenet | typeof blazepose;\n    hand: typeof handpose;\n    nanodet: typeof nanodet;\n    faceres: typeof faceres;\n  };\n  faceTriangulation: typeof facemesh.triangulation;\n  faceUVMap: typeof facemesh.uvmap;\n  sysinfo: { platform: string, agent: string };\n  perf: any;\n  #numTensors: number;\n  #analyzeMemoryLeaks: boolean;\n  #checkSanity: boolean;\n  #firstRun: boolean;\n  // definition end\n\n  constructor(userConfig: Config | Object = {}) {\n    this.tf = tf;\n    this.draw = draw;\n    this.version = app.version;\n    this.config = mergeDeep(defaults, userConfig);\n    this.state = 'idle';\n    this.#numTensors = 0;\n    this.#analyzeMemoryLeaks = false;\n    this.#checkSanity = false;\n    this.#firstRun = true;\n    this.perf = {};\n    // object that contains all initialized models\n    this.models = {\n      face: null,\n      posenet: null,\n      blazepose: null,\n      efficientpose: null,\n      handpose: null,\n      iris: null,\n      age: null,\n      gender: null,\n      emotion: null,\n      embedding: null,\n      nanodet: null,\n      faceres: null,\n    };\n    // export access to image processing\n    // @ts-ignore\n    this.image = (input: Input) => image.process(input, this.config);\n    // export raw access to underlying models\n    this.classes = {\n      facemesh,\n      age,\n      gender,\n      emotion,\n      faceres,\n      body: this.config.body.modelPath.includes('posenet') ? posenet : blazepose,\n      hand: handpose,\n      nanodet,\n    };\n    this.faceTriangulation = facemesh.triangulation;\n    this.faceUVMap = facemesh.uvmap;\n    // include platform info\n    this.sysinfo = sysinfo.info();\n  }\n\n  profileData(): { newBytes, newTensors, peakBytes, numKernelOps, timeKernelOps, slowestKernelOps, largestKernelOps } | {} {\n    if (this.config.profile) return profile.data;\n    return {};\n  }\n\n  // helper function: measure tensor leak\n  /** @hidden */\n  analyze = (...msg) => {\n    if (!this.#analyzeMemoryLeaks) return;\n    const current = this.tf.engine().state.numTensors;\n    const previous = this.#numTensors;\n    this.#numTensors = current;\n    const leaked = current - previous;\n    if (leaked !== 0) log(...msg, leaked);\n  }\n\n  // quick sanity check on inputs\n  /** @hidden */\n  #sanity = (input): null | string => {\n    if (!this.#checkSanity) return null;\n    if (!input) return 'input is not defined';\n    if (this.tf.ENV.flags.IS_NODE && !(input instanceof tf.Tensor)) return 'input must be a tensor';\n    try {\n      this.tf.getBackend();\n    } catch {\n      return 'backend not loaded';\n    }\n    return null;\n  }\n\n  similarity(embedding1: Array<number>, embedding2: Array<number>): number {\n    if (this.config.face.description.enabled) return faceres.similarity(embedding1, embedding2);\n    if (this.config.face.embedding.enabled) return embedding.similarity(embedding1, embedding2);\n    return 0;\n  }\n\n  // eslint-disable-next-line class-methods-use-this\n  enhance(input: Tensor): Tensor | null {\n    return faceres.enhance(input);\n  }\n\n  // eslint-disable-next-line class-methods-use-this\n  match(faceEmbedding: Array<number>, db: Array<{ name: string, source: string, embedding: number[] }>, threshold = 0): { name: string, source: string, similarity: number, embedding: number[] } {\n    return faceres.match(faceEmbedding, db, threshold);\n  }\n\n  // preload models, not explicitly required as it's done automatically on first use\n  async load(userConfig: Config | Object = {}) {\n    this.state = 'load';\n    const timeStamp = now();\n    if (userConfig) this.config = mergeDeep(this.config, userConfig);\n\n    if (this.#firstRun) {\n      if (this.config.debug) log(`version: ${this.version}`);\n      if (this.config.debug) log(`tfjs version: ${this.tf.version_core}`);\n      if (this.config.debug) log('platform:', this.sysinfo.platform);\n      if (this.config.debug) log('agent:', this.sysinfo.agent);\n\n      await this.#checkBackend(true);\n      if (this.tf.ENV.flags.IS_BROWSER) {\n        if (this.config.debug) log('configuration:', this.config);\n        if (this.config.debug) log('tf flags:', this.tf.ENV.flags);\n      }\n    }\n    if (this.config.async) {\n      [\n        this.models.face,\n        this.models.age,\n        this.models.gender,\n        this.models.emotion,\n        this.models.embedding,\n        // @ts-ignore\n        this.models.handpose,\n        // @ts-ignore false warning with latest @typescript-eslint\n        this.models.posenet,\n        this.models.blazepose,\n        this.models.efficientpose,\n        this.models.nanodet,\n        this.models.faceres,\n      ] = await Promise.all([\n        this.models.face || (this.config.face.enabled ? facemesh.load(this.config) : null),\n        this.models.age || ((this.config.face.enabled && this.config.face.age.enabled) ? age.load(this.config) : null),\n        this.models.gender || ((this.config.face.enabled && this.config.face.gender.enabled) ? gender.load(this.config) : null),\n        this.models.emotion || ((this.config.face.enabled && this.config.face.emotion.enabled) ? emotion.load(this.config) : null),\n        this.models.embedding || ((this.config.face.enabled && this.config.face.embedding.enabled) ? embedding.load(this.config) : null),\n        this.models.handpose || (this.config.hand.enabled ? <Promise<handpose.HandPose>>handpose.load(this.config) : null),\n        this.models.posenet || (this.config.body.enabled && this.config.body.modelPath.includes('posenet') ? posenet.load(this.config) : null),\n        this.models.blazepose || (this.config.body.enabled && this.config.body.modelPath.includes('blazepose') ? blazepose.load(this.config) : null),\n        this.models.efficientpose || (this.config.body.enabled && this.config.body.modelPath.includes('efficientpose') ? efficientpose.load(this.config) : null),\n        this.models.nanodet || (this.config.object.enabled ? nanodet.load(this.config) : null),\n        this.models.faceres || ((this.config.face.enabled && this.config.face.description.enabled) ? faceres.load(this.config) : null),\n      ]);\n    } else {\n      if (this.config.face.enabled && !this.models.face) this.models.face = await facemesh.load(this.config);\n      if (this.config.face.enabled && this.config.face.age.enabled && !this.models.age) this.models.age = await age.load(this.config);\n      if (this.config.face.enabled && this.config.face.gender.enabled && !this.models.gender) this.models.gender = await gender.load(this.config);\n      if (this.config.face.enabled && this.config.face.emotion.enabled && !this.models.emotion) this.models.emotion = await emotion.load(this.config);\n      if (this.config.face.enabled && this.config.face.embedding.enabled && !this.models.embedding) this.models.embedding = await embedding.load(this.config);\n      if (this.config.hand.enabled && !this.models.handpose) this.models.handpose = await handpose.load(this.config);\n      if (this.config.body.enabled && !this.models.posenet && this.config.body.modelPath.includes('posenet')) this.models.posenet = await posenet.load(this.config);\n      if (this.config.body.enabled && !this.models.blazepose && this.config.body.modelPath.includes('blazepose')) this.models.blazepose = await blazepose.load(this.config);\n      if (this.config.body.enabled && !this.models.efficientpose && this.config.body.modelPath.includes('efficientpose')) this.models.efficientpose = await efficientpose.load(this.config);\n      if (this.config.object.enabled && !this.models.nanodet) this.models.nanodet = await nanodet.load(this.config);\n      if (this.config.face.enabled && this.config.face.description.enabled && !this.models.faceres) this.models.faceres = await faceres.load(this.config);\n    }\n\n    if (this.#firstRun) {\n      if (this.config.debug) log('tf engine state:', this.tf.engine().state.numBytes, 'bytes', this.tf.engine().state.numTensors, 'tensors');\n      this.#firstRun = false;\n    }\n\n    const current = Math.trunc(now() - timeStamp);\n    if (current > (this.perf.load || 0)) this.perf.load = current;\n  }\n\n  // check if backend needs initialization if it changed\n  /** @hidden */\n  #checkBackend = async (force = false) => {\n    if (this.config.backend && (this.config.backend !== '') && force || (this.tf.getBackend() !== this.config.backend)) {\n      const timeStamp = now();\n      this.state = 'backend';\n      /* force backend reload\n      if (this.config.backend in tf.engine().registry) {\n        const backendFactory = tf.findBackendFactory(this.config.backend);\n        tf.removeBackend(this.config.backend);\n        tf.registerBackend(this.config.backend, backendFactory);\n      } else {\n        log('Backend not registred:', this.config.backend);\n      }\n      */\n\n      if (this.config.backend && this.config.backend !== '') {\n        // force browser vs node backend\n        if (this.tf.ENV.flags.IS_BROWSER && this.config.backend === 'tensorflow') this.config.backend = 'webgl';\n        if (this.tf.ENV.flags.IS_NODE && (this.config.backend === 'webgl' || this.config.backend === 'wasm')) this.config.backend = 'tensorflow';\n\n        if (this.config.debug) log('setting backend:', this.config.backend);\n\n        if (this.config.backend === 'wasm') {\n          if (this.config.debug) log('wasm path:', this.config.wasmPath);\n          this.tf.setWasmPaths(this.config.wasmPath);\n          const simd = await this.tf.env().getAsync('WASM_HAS_SIMD_SUPPORT');\n          const mt = await this.tf.env().getAsync('WASM_HAS_MULTITHREAD_SUPPORT');\n          if (this.config.debug) log(`wasm execution: ${simd ? 'SIMD' : 'no SIMD'} ${mt ? 'multithreaded' : 'singlethreaded'}`);\n          if (!simd) log('warning: wasm simd support is not enabled');\n        }\n\n        if (this.config.backend === 'humangl') backend.register();\n        try {\n          await this.tf.setBackend(this.config.backend);\n        } catch (err) {\n          log('error: cannot set backend:', this.config.backend, err);\n        }\n      }\n      this.tf.enableProdMode();\n      // this.tf.enableDebugMode();\n      if (this.tf.getBackend() === 'webgl' || this.tf.getBackend() === 'humangl') {\n        this.tf.ENV.set('CHECK_COMPUTATION_FOR_ERRORS', false);\n        this.tf.ENV.set('WEBGL_PACK_DEPTHWISECONV', true);\n        if (this.config.deallocate) {\n          log('changing webgl: WEBGL_DELETE_TEXTURE_THRESHOLD:', this.config.deallocate);\n          this.tf.ENV.set('WEBGL_DELETE_TEXTURE_THRESHOLD', this.config.deallocate ? 0 : -1);\n        }\n        const gl = await this.tf.backend().getGPGPUContext().gl;\n        if (this.config.debug) log(`gl version:${gl.getParameter(gl.VERSION)} renderer:${gl.getParameter(gl.RENDERER)}`);\n      }\n      await this.tf.ready();\n      this.perf.backend = Math.trunc(now() - timeStamp);\n    }\n  }\n\n  // main detect function\n  async detect(input: Input, userConfig: Config | Object = {}): Promise<Result | Error> {\n    // detection happens inside a promise\n    return new Promise(async (resolve) => {\n      this.state = 'config';\n      let timeStamp;\n\n      // update configuration\n      this.config = mergeDeep(this.config, userConfig);\n\n      // sanity checks\n      this.state = 'check';\n      const error = this.#sanity(input);\n      if (error) {\n        log(error, input);\n        resolve({ error });\n      }\n\n      const timeStart = now();\n\n      // configure backend\n      await this.#checkBackend();\n\n      // load models if enabled\n      await this.load();\n\n      if (this.config.scoped) this.tf.engine().startScope();\n      this.analyze('Start Scope:');\n\n      timeStamp = now();\n      const process = image.process(input, this.config);\n      if (!process || !process.tensor) {\n        log('could not convert input to tensor');\n        resolve({ error: 'could not convert input to tensor' });\n        return;\n      }\n      this.perf.image = Math.trunc(now() - timeStamp);\n      this.analyze('Get Image:');\n\n      // prepare where to store model results\n      let bodyRes;\n      let handRes;\n      let faceRes;\n      let objectRes;\n      let current;\n\n      // run face detection followed by all models that rely on face bounding box: face mesh, age, gender, emotion\n      if (this.config.async) {\n        faceRes = this.config.face.enabled ? faceall.detectFace(this, process.tensor) : [];\n        if (this.perf.face) delete this.perf.face;\n      } else {\n        this.state = 'run:face';\n        timeStamp = now();\n        faceRes = this.config.face.enabled ? await faceall.detectFace(this, process.tensor) : [];\n        current = Math.trunc(now() - timeStamp);\n        if (current > 0) this.perf.face = current;\n      }\n\n      // run body: can be posenet or blazepose\n      this.analyze('Start Body:');\n      if (this.config.async) {\n        if (this.config.body.modelPath.includes('posenet')) bodyRes = this.config.body.enabled ? this.models.posenet?.estimatePoses(process.tensor, this.config) : [];\n        else if (this.config.body.modelPath.includes('blazepose')) bodyRes = this.config.body.enabled ? blazepose.predict(process.tensor, this.config) : [];\n        else if (this.config.body.modelPath.includes('efficientpose')) bodyRes = this.config.body.enabled ? efficientpose.predict(process.tensor, this.config) : [];\n        if (this.perf.body) delete this.perf.body;\n      } else {\n        this.state = 'run:body';\n        timeStamp = now();\n        if (this.config.body.modelPath.includes('posenet')) bodyRes = this.config.body.enabled ? await this.models.posenet?.estimatePoses(process.tensor, this.config) : [];\n        else if (this.config.body.modelPath.includes('blazepose')) bodyRes = this.config.body.enabled ? await blazepose.predict(process.tensor, this.config) : [];\n        else if (this.config.body.modelPath.includes('efficientpose')) bodyRes = this.config.body.enabled ? await efficientpose.predict(process.tensor, this.config) : [];\n        current = Math.trunc(now() - timeStamp);\n        if (current > 0) this.perf.body = current;\n      }\n      this.analyze('End Body:');\n\n      // run handpose\n      this.analyze('Start Hand:');\n      if (this.config.async) {\n        handRes = this.config.hand.enabled ? this.models.handpose?.estimateHands(process.tensor, this.config) : [];\n        if (this.perf.hand) delete this.perf.hand;\n      } else {\n        this.state = 'run:hand';\n        timeStamp = now();\n        handRes = this.config.hand.enabled ? await this.models.handpose?.estimateHands(process.tensor, this.config) : [];\n        current = Math.trunc(now() - timeStamp);\n        if (current > 0) this.perf.hand = current;\n      }\n      this.analyze('End Hand:');\n\n      // run nanodet\n      this.analyze('Start Object:');\n      if (this.config.async) {\n        objectRes = this.config.object.enabled ? nanodet.predict(process.tensor, this.config) : [];\n        if (this.perf.object) delete this.perf.object;\n      } else {\n        this.state = 'run:object';\n        timeStamp = now();\n        objectRes = this.config.object.enabled ? await nanodet.predict(process.tensor, this.config) : [];\n        current = Math.trunc(now() - timeStamp);\n        if (current > 0) this.perf.object = current;\n      }\n      this.analyze('End Object:');\n\n      // if async wait for results\n      if (this.config.async) {\n        [faceRes, bodyRes, handRes, objectRes] = await Promise.all([faceRes, bodyRes, handRes, objectRes]);\n      }\n      process.tensor.dispose();\n\n      if (this.config.scoped) this.tf.engine().endScope();\n      this.analyze('End Scope:');\n\n      let gestureRes = [];\n      if (this.config.gesture.enabled) {\n        timeStamp = now();\n        // @ts-ignore\n        gestureRes = [...gesture.face(faceRes), ...gesture.body(bodyRes), ...gesture.hand(handRes), ...gesture.iris(faceRes)];\n        if (!this.config.async) this.perf.gesture = Math.trunc(now() - timeStamp);\n        else if (this.perf.gesture) delete this.perf.gesture;\n      }\n\n      this.perf.total = Math.trunc(now() - timeStart);\n      this.state = 'idle';\n      const result = {\n        face: faceRes,\n        body: bodyRes,\n        hand: handRes,\n        gesture: gestureRes,\n        object: objectRes,\n        performance: this.perf,\n        canvas: process.canvas,\n      };\n      // log('Result:', result);\n      resolve(result);\n    });\n  }\n\n  /** @hidden */\n  #warmupBitmap = async () => {\n    const b64toBlob = (base64, type = 'application/octet-stream') => fetch(`data:${type};base64,${base64}`).then((res) => res.blob());\n    let blob;\n    let res;\n    switch (this.config.warmup) {\n      case 'face': blob = await b64toBlob(sample.face); break;\n      case 'full': blob = await b64toBlob(sample.body); break;\n      default: blob = null;\n    }\n    if (blob) {\n      const bitmap = await createImageBitmap(blob);\n      res = await this.detect(bitmap, this.config);\n      bitmap.close();\n    }\n    return res;\n  }\n\n  /** @hidden */\n  #warmupCanvas = async () => new Promise((resolve) => {\n    let src;\n    let size = 0;\n    switch (this.config.warmup) {\n      case 'face':\n        size = 256;\n        src = 'data:image/jpeg;base64,' + sample.face;\n        break;\n      case 'full':\n      case 'body':\n        size = 1200;\n        src = 'data:image/jpeg;base64,' + sample.body;\n        break;\n      default:\n        src = null;\n    }\n    // src = encodeURI('../assets/human-sample-upper.jpg');\n    const img = new Image();\n    img.onload = async () => {\n      const canvas = (typeof OffscreenCanvas !== 'undefined') ? new OffscreenCanvas(size, size) : document.createElement('canvas');\n      canvas.width = img.naturalWidth;\n      canvas.height = img.naturalHeight;\n      const ctx = canvas.getContext('2d');\n      ctx?.drawImage(img, 0, 0);\n      // const data = ctx?.getImageData(0, 0, canvas.height, canvas.width);\n      const res = await this.detect(canvas, this.config);\n      resolve(res);\n    };\n    if (src) img.src = src;\n    else resolve(null);\n  });\n\n  /** @hidden */\n  #warmupNode = async () => {\n    const atob = (str) => Buffer.from(str, 'base64');\n    const img = this.config.warmup === 'face' ? atob(sample.face) : atob(sample.body);\n    // @ts-ignore\n    const data = tf.node.decodeJpeg(img); // tf.node is only defined when compiling for nodejs\n    const expanded = data.expandDims(0);\n    this.tf.dispose(data);\n    // log('Input:', expanded);\n    const res = await this.detect(expanded, this.config);\n    this.tf.dispose(expanded);\n    return res;\n  }\n\n  async warmup(userConfig: Config | Object = {}): Promise<Result | { error }> {\n    const t0 = now();\n    if (userConfig) this.config = mergeDeep(this.config, userConfig);\n    const save = this.config.videoOptimized;\n    this.config.videoOptimized = false;\n    let res;\n    if (typeof createImageBitmap === 'function') res = await this.#warmupBitmap();\n    else if (typeof Image !== 'undefined') res = await this.#warmupCanvas();\n    else res = await this.#warmupNode();\n    this.config.videoOptimized = save;\n    const t1 = now();\n    if (this.config.debug) log('Warmup', this.config.warmup, Math.round(t1 - t0), 'ms', res);\n    return res;\n  }\n}\n\n/**\n * Class Human is also available as default export\n */\nexport { Human as default };\n", "// helper function: wrapper around console output\nexport function log(...msg) {\n  const dt = new Date();\n  const ts = `${dt.getHours().toString().padStart(2, '0')}:${dt.getMinutes().toString().padStart(2, '0')}:${dt.getSeconds().toString().padStart(2, '0')}.${dt.getMilliseconds().toString().padStart(3, '0')}`;\n  // eslint-disable-next-line no-console\n  if (msg) console.log(ts, 'Human:', ...msg);\n}\n\n// helper function: gets elapsed time on both browser and nodejs\nexport const now = () => {\n  if (typeof performance !== 'undefined') return performance.now();\n  return parseInt((Number(process.hrtime.bigint()) / 1000 / 1000).toString());\n};\n\n// helper function: perform deep merge of multiple objects so it allows full inheriance with overrides\nexport function mergeDeep(...objects) {\n  const isObject = (obj) => obj && typeof obj === 'object';\n  return objects.reduce((prev, obj) => {\n    Object.keys(obj || {}).forEach((key) => {\n      const pVal = prev[key];\n      const oVal = obj[key];\n      if (Array.isArray(pVal) && Array.isArray(oVal)) prev[key] = pVal.concat(...oVal);\n      else if (isObject(pVal) && isObject(oVal)) prev[key] = mergeDeep(pVal, oVal);\n      else prev[key] = oVal;\n    });\n    return prev;\n  }, {});\n}\n", "export function info(): { platform: string, agent: string } {\n  let platform;\n  let agent;\n  if (typeof navigator !== 'undefined') {\n    const raw = navigator.userAgent.match(/\\(([^()]+)\\)/g);\n    if (raw && raw[0]) {\n      // @ts-ignore\n      platform = raw[0].match(/\\(([^()]+)\\)/g)[0].replace(/\\(|\\)/g, '');\n      agent = navigator.userAgent.replace(raw[0], '');\n      if (platform[1]) agent = agent.replace(raw[1], '');\n      agent = agent.replace(/  /g, ' ');\n    }\n  } else if (typeof process !== 'undefined') {\n    platform = `${process.platform} ${process.arch}`;\n    agent = `NodeJS ${process.version}`;\n  }\n  return { platform, agent };\n}\n", "import { log } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\n\nexport const config = {\n  name: 'humangl',\n  priority: 99,\n  canvas: null,\n  gl: null,\n  width: 1024,\n  height: 1024,\n  webGLattr: { // https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.2\n    alpha: false,\n    antialias: false,\n    premultipliedAlpha: false,\n    preserveDrawingBuffer: false,\n    depth: false,\n    stencil: false,\n    failIfMajorPerformanceCaveat: false,\n    desynchronized: true,\n  },\n};\n\nexport function register(): void {\n  if (!tf.findBackend(config.name)) {\n    log('backend registration:', config.name);\n    try {\n      // @ts-ignore\n      config.canvas = (typeof OffscreenCanvas !== 'undefined') ? new OffscreenCanvas(config.width, config.height) : document.createElement('canvas');\n    } catch (err) {\n      log('error: cannot create canvas:', err);\n      return;\n    }\n    try {\n      // @ts-ignore\n      config.gl = config.canvas.getContext('webgl2', config.webGLattr);\n    } catch (err) {\n      log('error: cannot get WebGL2 context:', err);\n      return;\n    }\n    try {\n      tf.setWebGLContext(2, config.gl);\n    } catch (err) {\n      log('error: cannot set WebGL2 context:', err);\n      return;\n    }\n    try {\n      const ctx = new tf.GPGPUContext(config.gl);\n      tf.registerBackend(config.name, () => new tf.MathBackendWebGL(ctx), config.priority);\n    } catch (err) {\n      log('error: cannot register WebGL backend:', err);\n      return;\n    }\n    try {\n      const kernels = tf.getKernelsForBackend('webgl');\n      kernels.forEach((kernelConfig) => {\n        const newKernelConfig = { ...kernelConfig, backendName: config.name };\n        tf.registerKernel(newKernelConfig);\n      });\n    } catch (err) {\n      log('error: cannot update WebGL backend registration:', err);\n      return;\n    }\n    try {\n      tf.ENV.set('WEBGL_VERSION', 2);\n      // @ts-ignore\n      // tf.ENV.set('WEBGL_MAX_TEXTURE_SIZE', config.gl.getParameter(config.gl.MAX_TEXTURE_SIZE));\n      // tf.ENV.set('WEBGL_FORCE_F16_TEXTURES', true);\n      // tf.ENV.set('WEBGL_PACK_DEPTHWISECONV', true);\n    } catch (err) {\n      log('error: cannot set WebGL backend flags:', err);\n      return;\n    }\n    log('backend registered:', config.name);\n  }\n}\n", "import { log } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\nimport * as profile from '../profile';\n\nlet model;\nlet last = { age: 0 };\nlet skipped = Number.MAX_SAFE_INTEGER;\n\nexport async function load(config) {\n  if (!model) {\n    model = await tf.loadGraphModel(config.face.age.modelPath);\n    if (config.debug) log(`load model: ${config.face.age.modelPath.match(/\\/(.*)\\./)[1]}`);\n  }\n  return model;\n}\n\nexport async function predict(image, config) {\n  if (!model) return null;\n  if ((skipped < config.face.age.skipFrames) && config.videoOptimized && last.age && (last.age > 0)) {\n    skipped++;\n    return last;\n  }\n  if (config.videoOptimized) skipped = 0;\n  else skipped = Number.MAX_SAFE_INTEGER;\n  return new Promise(async (resolve) => {\n    const resize = tf.image.resizeBilinear(image, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false);\n    const enhance = tf.mul(resize, [255.0]);\n    tf.dispose(resize);\n\n    let ageT;\n    const obj = { age: 0 };\n\n    if (!config.profile) {\n      if (config.face.age.enabled) ageT = await model.predict(enhance);\n    } else {\n      const profileAge = config.face.age.enabled ? await tf.profile(() => model.predict(enhance)) : {};\n      ageT = profileAge.result.clone();\n      profileAge.result.dispose();\n      profile.run('age', profileAge);\n    }\n    enhance.dispose();\n\n    if (ageT) {\n      const data = ageT.dataSync();\n      obj.age = Math.trunc(10 * data[0]) / 10;\n    }\n    ageT.dispose();\n\n    last = obj;\n    resolve(obj);\n  });\n}\n", "import { log } from './helpers';\n\nexport const data = {};\n\nexport function run(modelName: string, profileData: any): void {\n  if (!profileData || !profileData.kernels) return;\n  const maxResults = 5;\n  const time = profileData.kernels\n    .filter((a) => a.kernelTimeMs > 0)\n    .reduce((a, b) => a += b.kernelTimeMs, 0);\n  const slowest = profileData.kernels\n    .map((a, i) => { a.id = i; return a; })\n    .filter((a) => a.kernelTimeMs > 0)\n    .sort((a, b) => b.kernelTimeMs - a.kernelTimeMs);\n  const largest = profileData.kernels\n    .map((a, i) => { a.id = i; return a; })\n    .filter((a) => a.totalBytesSnapshot > 0)\n    .sort((a, b) => b.totalBytesSnapshot - a.totalBytesSnapshot);\n  if (slowest.length > maxResults) slowest.length = maxResults;\n  if (largest.length > maxResults) largest.length = maxResults;\n  data[modelName] = {\n    model: modelName,\n    newBytes: profileData.newBytes,\n    newTensors: profileData.newTensors,\n    peakBytes: profileData.peakBytes,\n    numKernelOps: profileData.kernels.length,\n    timeKernelOps: time,\n    slowestKernelOps: slowest,\n    largestKernelOps: largest,\n  };\n  log('profiler', modelName, data[modelName]);\n}\n", "import { log } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\nimport * as profile from '../profile';\n\nlet model;\nlet last = { gender: '' };\nlet skipped = Number.MAX_SAFE_INTEGER;\nlet alternative = false;\n\n// tuning values\nconst rgb = [0.2989, 0.5870, 0.1140]; // factors for red/green/blue colors when converting to grayscale\n\nexport async function load(config) {\n  if (!model) {\n    model = await tf.loadGraphModel(config.face.gender.modelPath);\n    alternative = model.inputs[0].shape[3] === 1;\n    if (config.debug) log(`load model: ${config.face.gender.modelPath.match(/\\/(.*)\\./)[1]}`);\n  }\n  return model;\n}\n\nexport async function predict(image, config) {\n  if (!model) return null;\n  if ((skipped < config.face.gender.skipFrames) && config.videoOptimized && last.gender !== '') {\n    skipped++;\n    return last;\n  }\n  if (config.videoOptimized) skipped = 0;\n  else skipped = Number.MAX_SAFE_INTEGER;\n  return new Promise(async (resolve) => {\n    const resize = tf.image.resizeBilinear(image, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false);\n    let enhance;\n    if (alternative) {\n      enhance = tf.tidy(() => {\n        const [red, green, blue] = tf.split(resize, 3, 3);\n        const redNorm = tf.mul(red, rgb[0]);\n        const greenNorm = tf.mul(green, rgb[1]);\n        const blueNorm = tf.mul(blue, rgb[2]);\n        const grayscale = tf.addN([redNorm, greenNorm, blueNorm]);\n        const normalize = grayscale.sub(0.5).mul(2); // range grayscale:-1..1\n        return normalize;\n      });\n    } else {\n      enhance = tf.mul(resize, [255.0]); // range RGB:0..255\n    }\n    tf.dispose(resize);\n\n    let genderT;\n    const obj = { gender: '', confidence: 0 };\n\n    if (!config.profile) {\n      if (config.face.gender.enabled) genderT = await model.predict(enhance);\n    } else {\n      const profileGender = config.face.gender.enabled ? await tf.profile(() => model.predict(enhance)) : {};\n      genderT = profileGender.result.clone();\n      profileGender.result.dispose();\n      profile.run('gender', profileGender);\n    }\n    enhance.dispose();\n\n    if (genderT) {\n      if (!Array.isArray(genderT)) {\n        const data = genderT.dataSync();\n        if (alternative) {\n          // returns two values 0..1, bigger one is prediction\n          if (data[0] > config.face.gender.minConfidence || data[1] > config.face.gender.minConfidence) {\n            obj.gender = data[0] > data[1] ? 'female' : 'male';\n            obj.confidence = data[0] > data[1] ? (Math.trunc(100 * data[0]) / 100) : (Math.trunc(100 * data[1]) / 100);\n          }\n        } else {\n          // returns one value 0..1, .5 is prediction threshold\n          const confidence = Math.trunc(200 * Math.abs((data[0] - 0.5))) / 100;\n          if (confidence > config.face.gender.minConfidence) {\n            obj.gender = data[0] <= 0.5 ? 'female' : 'male';\n            obj.confidence = Math.min(0.99, confidence);\n          }\n        }\n        genderT.dispose();\n      } else {\n        const gender = genderT[0].dataSync();\n        const confidence = Math.trunc(200 * Math.abs((gender[0] - 0.5))) / 100;\n        if (confidence > config.face.gender.minConfidence) {\n          obj.gender = gender[0] <= 0.5 ? 'female' : 'male';\n          obj.confidence = Math.min(0.99, confidence);\n        }\n        /*\n        let age = genderT[1].argMax(1).dataSync()[0];\n        const all = genderT[1].dataSync();\n        age = Math.round(all[age - 1] > all[age + 1] ? 10 * age - 100 * all[age - 1] : 10 * age + 100 * all[age + 1]) / 10;\n        const descriptor = genderT[1].dataSync();\n        */\n        genderT.forEach((t) => tf.dispose(t));\n      }\n    }\n    last = obj;\n    resolve(obj);\n  });\n}\n", "import { log } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\nimport * as profile from '../profile';\n\nconst annotations = ['angry', 'disgust', 'fear', 'happy', 'sad', 'surprise', 'neutral'];\nlet model;\nlet last: Array<{ score: number, emotion: string }> = [];\nlet skipped = Number.MAX_SAFE_INTEGER;\n\n// tuning values\nconst rgb = [0.2989, 0.5870, 0.1140]; // factors for red/green/blue colors when converting to grayscale\n\nexport async function load(config) {\n  if (!model) {\n    model = await tf.loadGraphModel(config.face.emotion.modelPath);\n    if (config.debug) log(`load model: ${config.face.emotion.modelPath.match(/\\/(.*)\\./)[1]}`);\n  }\n  return model;\n}\n\nexport async function predict(image, config) {\n  if (!model) return null;\n  if ((skipped < config.face.emotion.skipFrames) && config.videoOptimized && (last.length > 0)) {\n    skipped++;\n    return last;\n  }\n  if (config.videoOptimized) skipped = 0;\n  else skipped = Number.MAX_SAFE_INTEGER;\n  return new Promise(async (resolve) => {\n    const resize = tf.image.resizeBilinear(image, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false);\n    const [red, green, blue] = tf.split(resize, 3, 3);\n    resize.dispose();\n    // weighted rgb to grayscale: https://www.mathworks.com/help/matlab/ref/rgb2gray.html\n    const redNorm = tf.mul(red, rgb[0]);\n    const greenNorm = tf.mul(green, rgb[1]);\n    const blueNorm = tf.mul(blue, rgb[2]);\n    red.dispose();\n    green.dispose();\n    blue.dispose();\n    const grayscale = tf.addN([redNorm, greenNorm, blueNorm]);\n    redNorm.dispose();\n    greenNorm.dispose();\n    blueNorm.dispose();\n    const normalize = tf.tidy(() => grayscale.sub(0.5).mul(2));\n    grayscale.dispose();\n    const obj: Array<{ score: number, emotion: string }> = [];\n    if (config.face.emotion.enabled) {\n      let data;\n      if (!config.profile) {\n        const emotionT = await model.predict(normalize); // result is already in range 0..1, no need for additional activation\n        data = emotionT.dataSync();\n        tf.dispose(emotionT);\n      } else {\n        const profileData = await tf.profile(() => model.predict(normalize));\n        data = profileData.result.dataSync();\n        profileData.result.dispose();\n        profile.run('emotion', profileData);\n      }\n      for (let i = 0; i < data.length; i++) {\n        if (data[i] > config.face.emotion.minConfidence) obj.push({ score: Math.min(0.99, Math.trunc(100 * data[i]) / 100), emotion: annotations[i] });\n      }\n      obj.sort((a, b) => b.score - a.score);\n    }\n    normalize.dispose();\n    last = obj;\n    resolve(obj);\n  });\n}\n", "import { log } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\nimport * as profile from '../profile';\n\ntype Tensor = typeof tf.Tensor;\ntype DB = Array<{ name: string, source: string, embedding: number[] }>;\nlet model;\n\nexport async function load(config) {\n  if (!model) {\n    model = await tf.loadGraphModel(config.face.embedding.modelPath);\n    if (config.debug) log(`load model: ${config.face.embedding.modelPath.match(/\\/(.*)\\./)[1]}`);\n  }\n  return model;\n}\n\nexport function similarity(embedding1, embedding2, order = 2): number {\n  if (!embedding1 || !embedding2) return 0;\n  if (embedding1?.length === 0 || embedding2?.length === 0) return 0;\n  if (embedding1?.length !== embedding2?.length) return 0;\n  // general minkowski distance, euclidean distance is limited case where order is 2\n  const distance = embedding1\n    .map((val, i) => (Math.abs(embedding1[i] - embedding2[i]) ** order)) // distance squared\n    .reduce((sum, now) => (sum + now), 0) // sum all distances\n    ** (1 / order); // get root of\n  const res = Math.max(Math.trunc(1000 * (1 - distance)) / 1000, 0);\n  return res;\n}\n\nexport function match(embedding: Array<number>, db: DB, threshold = 0) {\n  let best = { similarity: 0, name: '', source: '', embedding: [] as number[] };\n  if (!embedding || !db || !Array.isArray(embedding) || !Array.isArray(db)) return best;\n  for (const f of db) {\n    if (f.embedding && f.name) {\n      const perc = similarity(embedding, f.embedding);\n      if (perc > threshold && perc > best.similarity) best = { ...f, similarity: perc };\n    }\n  }\n  return best;\n}\n\nexport function enhance(input): Tensor {\n  const image = tf.tidy(() => {\n    // input received from detector is already normalized to 0..1\n    // input is also assumed to be straightened\n    // const data = tf.image.resizeBilinear(input, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false); // just resize to fit the embedding model\n    // do a tight crop of image and resize it to fit the model\n    const box = [[0.05, 0.15, 0.85, 0.85]]; // empyrical values for top, left, bottom, right\n    const tensor = input.image || input.tensor;\n    if (!(tensor instanceof tf.Tensor)) return null;\n    const crop = (tensor.shape.length === 3)\n      ? tf.image.cropAndResize(tf.expandDims(tensor, 0), box, [0], [model.inputs[0].shape[2], model.inputs[0].shape[1]]) // add batch dimension if missing\n      : tf.image.cropAndResize(tensor, box, [0], [model.inputs[0].shape[2], model.inputs[0].shape[1]]);\n\n    // convert to black&white to avoid colorization impact\n    const rgb = [0.2989, 0.5870, 0.1140]; // factors for red/green/blue colors when converting to grayscale: https://www.mathworks.com/help/matlab/ref/rgb2gray.html\n    const [red, green, blue] = tf.split(crop, 3, 3);\n    const redNorm = tf.mul(red, rgb[0]);\n    const greenNorm = tf.mul(green, rgb[1]);\n    const blueNorm = tf.mul(blue, rgb[2]);\n    const grayscale = tf.addN([redNorm, greenNorm, blueNorm]);\n    const merge = tf.stack([grayscale, grayscale, grayscale], 3).squeeze(4);\n\n    /*\n    // optional increase image contrast\n    // or do it per-channel so mean is done on each channel\n    // or do it based on histogram\n    const mean = merge.mean();\n    const factor = 5;\n    const contrast = merge.sub(mean).mul(factor).add(mean);\n    */\n\n    // normalize brightness from 0..1\n    const darken = merge.sub(merge.min());\n    const lighten = darken.div(darken.max());\n\n    return lighten;\n  });\n  return image;\n}\n\nexport async function predict(input, config): Promise<number[]> {\n  if (!model) return [];\n  return new Promise(async (resolve) => {\n    // let data: Array<[]> = [];\n    let data: Array<number> = [];\n    if (config.face.embedding.enabled) {\n      const image = enhance(input);\n      if (!config.profile) {\n        data = tf.tidy(() => {\n          /*\n          // if needed convert from NHWC to NCHW\n          const nchw = image.transpose([3, 0, 1, 2]);\n          */\n\n          const res = model.predict(image);\n\n          /*\n          // optionally do it twice with flipped image and average results\n          const res1 = model.predict(image);\n          const flipped = tf.image.flipLeftRight(image);\n          const res2 = model.predict(flipped);\n          const merge = tf.stack([res1, res2], 2).squeeze();\n          const res = reshape.logSumExp(1);\n          */\n\n          /*\n          // optional normalize outputs with l2 normalization\n          const scaled = tf.tidy(() => {\n            const l2 = res.norm('euclidean');\n            const scale = res.div(l2);\n            return scale;\n          });\n          */\n\n          // optional reduce feature vector complexity\n          const reshape = res.reshape([128, 2]); // split 256 vectors into 128 x 2\n          const reduce = reshape.logSumExp(1); // reduce 2nd dimension by calculating logSumExp on it\n\n          const output: Array<number> = reduce.dataSync();\n          return [...output]; // convert typed array to simple array\n        });\n      } else {\n        const profileData = await tf.profile(() => model.predict({ img_inputs: image }));\n        data = [...profileData.result.dataSync()];\n        profileData.result.dispose();\n        profile.run('emotion', profileData);\n      }\n      tf.dispose(image);\n    }\n    resolve(data);\n  });\n}\n\n/*\ngit clone https://github.com/becauseofAI/MobileFace\ncd MobileFace/MobileFace_Identification\nmmconvert --srcFramework mxnet --inputWeight MobileFace_Identification_V3-0000.params --inputNetwork MobileFace_Identification_V3-symbol.json --inputShape 3,112,112 --dstFramework tensorflow --outputModel saved\nsaved_model_cli show --dir saved/\ntensorflowjs_converter --input_format tf_saved_model --output_format tfjs_graph_model --saved_model_tags train saved/ graph/\n~/dev/detector/signature.js graph/\n2021-03-12 08:25:12 DATA:  created on: 2021-03-12T13:17:11.960Z\n2021-03-12 08:25:12 INFO:  graph model: /home/vlado/dev/face/MobileFace/MobileFace_Identification/graph/model.json\n2021-03-12 08:25:12 INFO:  size: { unreliable: true, numTensors: 75, numDataBuffers: 75, numBytes: 2183192 }\n2021-03-12 08:25:12 INFO:  model inputs based on signature\n2021-03-12 08:25:12 INFO:  model outputs based on signature\n2021-03-12 08:25:12 DATA:  inputs: [ { name: 'data:0', dtype: 'DT_FLOAT', shape: [ -1, 112, 112, 3, [length]: 4 ] }, [length]: 1 ]\n2021-03-12 08:25:12 DATA:  outputs: [ { id: 0, name: 'batchnorm0/add_1:0', dytpe: 'DT_FLOAT', shape: [ -1, 256, [length]: 2 ] }, [length]: 1 ]\n*/\n", "import { log } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\nimport * as profile from '../profile';\n\nlet model;\nlet last = { age: 0 };\nlet skipped = Number.MAX_SAFE_INTEGER;\n\ntype Tensor = typeof tf.Tensor;\ntype DB = Array<{ name: string, source: string, embedding: number[] }>;\n\nexport async function load(config) {\n  if (!model) {\n    model = await tf.loadGraphModel(config.face.description.modelPath);\n    if (config.debug) log(`load model: ${config.face.description.modelPath.match(/\\/(.*)\\./)[1]}`);\n  }\n  return model;\n}\n\nexport function similarity(embedding1, embedding2, order = 2): number {\n  if (!embedding1 || !embedding2) return 0;\n  if (embedding1?.length === 0 || embedding2?.length === 0) return 0;\n  if (embedding1?.length !== embedding2?.length) return 0;\n  // general minkowski distance, euclidean distance is limited case where order is 2\n  const distance = 4.0 * embedding1\n    .map((val, i) => (Math.abs(embedding1[i] - embedding2[i]) ** order)) // distance squared\n    .reduce((sum, now) => (sum + now), 0) // sum all distances\n    ** (1 / order); // get root of\n  const res = Math.max(0, 100 - distance) / 100.0;\n  return res;\n}\n\nexport function match(embedding: Array<number>, db: DB, threshold = 0) {\n  let best = { similarity: 0, name: '', source: '', embedding: [] as number[] };\n  if (!embedding || !db || !Array.isArray(embedding) || !Array.isArray(db)) return best;\n  for (const f of db) {\n    if (f.embedding && f.name) {\n      const perc = similarity(embedding, f.embedding);\n      if (perc > threshold && perc > best.similarity) best = { ...f, similarity: perc };\n    }\n  }\n  return best;\n}\n\nexport function enhance(input): Tensor {\n  const image = tf.tidy(() => {\n    // input received from detector is already normalized to 0..1\n    // input is also assumed to be straightened\n    const tensor = input.image || input.tensor || input;\n    if (!(tensor instanceof tf.Tensor)) return null;\n    // do a tight crop of image and resize it to fit the model\n    const box = [[0.05, 0.15, 0.85, 0.85]]; // empyrical values for top, left, bottom, right\n    const crop = (tensor.shape.length === 3)\n      ? tf.image.cropAndResize(tf.expandDims(tensor, 0), box, [0], [model.inputs[0].shape[2], model.inputs[0].shape[1]]) // add batch dimension if missing\n      : tf.image.cropAndResize(tensor, box, [0], [model.inputs[0].shape[2], model.inputs[0].shape[1]]);\n    // const crop = tf.image.resizeBilinear(tensor, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false); // just resize to fit the embedding model\n\n    /*\n    // convert to black&white to avoid colorization impact\n    const rgb = [0.2989, 0.5870, 0.1140]; // factors for red/green/blue colors when converting to grayscale: https://www.mathworks.com/help/matlab/ref/rgb2gray.html\n    const [red, green, blue] = tf.split(crop, 3, 3);\n    const redNorm = tf.mul(red, rgb[0]);\n    const greenNorm = tf.mul(green, rgb[1]);\n    const blueNorm = tf.mul(blue, rgb[2]);\n    const grayscale = tf.addN([redNorm, greenNorm, blueNorm]);\n    const merge = tf.stack([grayscale, grayscale, grayscale], 3).squeeze(4);\n    */\n\n    /*\n    // optional increase image contrast\n    // or do it per-channel so mean is done on each channel\n    // or do it based on histogram\n    const mean = merge.mean();\n    const factor = 5;\n    const contrast = merge.sub(mean).mul(factor).add(mean);\n    */\n    /*\n    // normalize brightness from 0..1\n    const darken = crop.sub(crop.min());\n    const lighten = darken.div(darken.max());\n    */\n    const norm = crop.mul(255);\n\n    return norm;\n  });\n  return image;\n}\n\nexport async function predict(image, config) {\n  if (!model) return null;\n  if ((skipped < config.face.description.skipFrames) && config.videoOptimized && last.age && (last.age > 0)) {\n    skipped++;\n    return last;\n  }\n  if (config.videoOptimized) skipped = 0;\n  else skipped = Number.MAX_SAFE_INTEGER;\n  return new Promise(async (resolve) => {\n    // const resize = tf.image.resizeBilinear(image, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false);\n    // const enhanced = tf.mul(resize, [255.0]);\n    // tf.dispose(resize);\n    const enhanced = enhance(image);\n\n    let resT;\n    const obj = {\n      age: <number>0,\n      gender: <string>'unknown',\n      genderConfidence: <number>0,\n      descriptor: <number[]>[] };\n\n    if (!config.profile) {\n      if (config.face.description.enabled) resT = await model.predict(enhanced);\n    } else {\n      const profileDesc = config.face.description.enabled ? await tf.profile(() => model.predict(enhanced)) : {};\n      resT = profileDesc.result;\n      profile.run('faceres', profileDesc);\n    }\n    tf.dispose(enhanced);\n\n    if (resT) {\n      tf.tidy(() => {\n        const gender = resT.find((t) => t.shape[1] === 1).dataSync();\n        const confidence = Math.trunc(200 * Math.abs((gender[0] - 0.5))) / 100;\n        if (confidence > config.face.gender.minConfidence) {\n          obj.gender = gender[0] <= 0.5 ? 'female' : 'male';\n          obj.genderConfidence = Math.min(0.99, confidence);\n        }\n        const age = resT.find((t) => t.shape[1] === 100).argMax(1).dataSync()[0];\n        const all = resT.find((t) => t.shape[1] === 100).dataSync();\n        obj.age = Math.round(all[age - 1] > all[age + 1] ? 10 * age - 100 * all[age - 1] : 10 * age + 100 * all[age + 1]) / 10;\n\n        const desc = resT.find((t) => t.shape[1] === 1024);\n        // const reshape = desc.reshape([128, 8]);\n        // const reduce = reshape.logSumExp(1); // reduce 2nd dimension by calculating logSumExp on it\n\n        obj.descriptor = [...desc.dataSync()];\n      });\n      resT.forEach((t) => tf.dispose(t));\n    }\n\n    last = obj;\n    resolve(obj);\n  });\n}\n", "import { log, now } from './helpers';\nimport * as tf from '../dist/tfjs.esm.js';\nimport * as age from './age/age';\nimport * as gender from './gender/gender';\nimport * as emotion from './emotion/emotion';\nimport * as embedding from './embedding/embedding';\nimport * as faceres from './faceres/faceres';\n\ntype Tensor = typeof tf.Tensor;\n\nconst calculateFaceAngle = (face, image_size): { angle: { pitch: number, yaw: number, roll: number }, matrix: [number, number, number, number, number, number, number, number, number] } => {\n  // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars\n  const degrees = (theta) => (theta * 180) / Math.PI;\n  // const degrees = (theta) => Math.abs(((theta * 180) / Math.PI) % 360);\n  const normalize = (v) => { // normalize vector\n    const length = Math.sqrt(v[0] * v[0] + v[1] * v[1] + v[2] * v[2]);\n    v[0] /= length;\n    v[1] /= length;\n    v[2] /= length;\n    return v;\n  };\n  const subVectors = (a, b) => { // vector subtraction (a - b)\n    const x = a[0] - b[0];\n    const y = a[1] - b[1];\n    const z = a[2] - b[2];\n    return [x, y, z];\n  };\n  const crossVectors = (a, b) => { // vector cross product (a x b)\n    const x = a[1] * b[2] - a[2] * b[1];\n    const y = a[2] * b[0] - a[0] * b[2];\n    const z = a[0] * b[1] - a[1] * b[0];\n    return [x, y, z];\n  };\n  // 3x3 rotation matrix to Euler angles based on https://www.geometrictools.com/Documentation/EulerAngles.pdf\n  const rotationMatrixToEulerAngle = (r) => {\n    // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars\n    const [r00, r01, r02, r10, r11, r12, r20, r21, r22] = r;\n    let thetaX; let thetaY; let thetaZ;\n    if (r10 < 1) { // YZX calculation\n      if (r10 > -1) {\n        thetaZ = Math.asin(r10);\n        thetaY = Math.atan2(-r20, r00);\n        thetaX = Math.atan2(-r12, r11);\n      } else {\n        thetaZ = -Math.PI / 2;\n        thetaY = -Math.atan2(r21, r22);\n        thetaX = 0;\n      }\n    } else {\n      thetaZ = Math.PI / 2;\n      thetaY = Math.atan2(r21, r22);\n      thetaX = 0;\n    }\n    return { pitch: 2 * -thetaX, yaw: 2 * -thetaY, roll: 2 * -thetaZ };\n  };\n  // simple Euler angle calculation based existing 3D mesh\n  // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars\n  const meshToEulerAngle = (mesh) => {\n    const radians = (a1, a2, b1, b2) => Math.atan2(b2 - a2, b1 - a1);\n    // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars\n    const angle = {\n      // values are in radians in range of -pi/2 to pi/2 which is -90 to +90 degrees\n      // value of 0 means center\n      // pitch is face move up/down\n      pitch: radians(mesh[10][1], mesh[10][2], mesh[152][1], mesh[152][2]), // looking at y,z of top and bottom points of the face\n      // yaw is face turn left/right\n      yaw: radians(mesh[33][0], mesh[33][2], mesh[263][0], mesh[263][2]), // looking at x,z of outside corners of leftEye and rightEye\n      // roll is face lean left/right\n      roll: radians(mesh[33][0], mesh[33][1], mesh[263][0], mesh[263][1]), // looking at x,y of outside corners of leftEye and rightEye\n    };\n    return angle;\n  };\n\n  const mesh = face.meshRaw;\n  if (!mesh || mesh.length < 300) return { angle: { pitch: 0, yaw: 0, roll: 0 }, matrix: [1, 0, 0, 0, 1, 0, 0, 0, 1] };\n\n  const size = Math.max(face.boxRaw[2] * image_size[0], face.boxRaw[3] * image_size[1]) / 1.5;\n  // top, bottom, left, right\n  const pts = [mesh[10], mesh[152], mesh[234], mesh[454]].map((pt) => [\n    // make the xyz coordinates proportional, independent of the image/box size\n    pt[0] * image_size[0] / size,\n    pt[1] * image_size[1] / size,\n    pt[2],\n  ]);\n\n  const y_axis = normalize(subVectors(pts[1], pts[0]));\n  let x_axis = normalize(subVectors(pts[3], pts[2]));\n  const z_axis = normalize(crossVectors(x_axis, y_axis));\n  // adjust x_axis to make sure that all axes are perpendicular to each other\n  x_axis = crossVectors(y_axis, z_axis);\n\n  // Rotation Matrix from Axis Vectors - http://renderdan.blogspot.com/2006/05/rotation-matrix-from-axis-vectors.html\n  // 3x3 rotation matrix is flatten to array in row-major order. Note that the rotation represented by this matrix is inverted.\n  const matrix: [number, number, number, number, number, number, number, number, number] = [\n    x_axis[0], x_axis[1], x_axis[2],\n    y_axis[0], y_axis[1], y_axis[2],\n    z_axis[0], z_axis[1], z_axis[2],\n  ];\n  const angle = rotationMatrixToEulerAngle(matrix);\n  // const angle = meshToEulerAngle(mesh);\n  return { angle, matrix };\n};\n\nexport const detectFace = async (parent, input): Promise<any> => {\n  // run facemesh, includes blazeface and iris\n  // eslint-disable-next-line no-async-promise-executor\n  let timeStamp;\n  let ageRes;\n  let genderRes;\n  let emotionRes;\n  let embeddingRes;\n  let descRes;\n  const faceRes: Array<{\n      confidence: number,\n      boxConfidence: number,\n      faceConfidence: number,\n      box: [number, number, number, number],\n      mesh: Array<[number, number, number]>\n      meshRaw: Array<[number, number, number]>\n      boxRaw: [number, number, number, number],\n      annotations: Array<{ part: string, points: Array<[number, number, number]>[] }>,\n      age: number,\n      gender: string,\n      genderConfidence: number,\n      emotion: string,\n      embedding: number[],\n      iris: number,\n      rotation: {\n        angle: { pitch: number, yaw: number, roll: number },\n        matrix: [number, number, number, number, number, number, number, number, number]\n      },\n      tensor: Tensor,\n    }> = [];\n  parent.state = 'run:face';\n  timeStamp = now();\n  const faces = await parent.models.face?.estimateFaces(input, parent.config);\n  parent.perf.face = Math.trunc(now() - timeStamp);\n  if (!faces) return [];\n  for (const face of faces) {\n    parent.analyze('Get Face');\n\n    // is something went wrong, skip the face\n    if (!face.image || face.image.isDisposedInternal) {\n      log('Face object is disposed:', face.image);\n      continue;\n    }\n\n    const rotation = calculateFaceAngle(face, [input.shape[2], input.shape[1]]);\n\n    // run age, inherits face from blazeface\n    parent.analyze('Start Age:');\n    if (parent.config.async) {\n      ageRes = parent.config.face.age.enabled ? age.predict(face.image, parent.config) : {};\n    } else {\n      parent.state = 'run:age';\n      timeStamp = now();\n      ageRes = parent.config.face.age.enabled ? await age.predict(face.image, parent.config) : {};\n      parent.perf.age = Math.trunc(now() - timeStamp);\n    }\n\n    // run gender, inherits face from blazeface\n    parent.analyze('Start Gender:');\n    if (parent.config.async) {\n      genderRes = parent.config.face.gender.enabled ? gender.predict(face.image, parent.config) : {};\n    } else {\n      parent.state = 'run:gender';\n      timeStamp = now();\n      genderRes = parent.config.face.gender.enabled ? await gender.predict(face.image, parent.config) : {};\n      parent.perf.gender = Math.trunc(now() - timeStamp);\n    }\n\n    // run emotion, inherits face from blazeface\n    parent.analyze('Start Emotion:');\n    if (parent.config.async) {\n      emotionRes = parent.config.face.emotion.enabled ? emotion.predict(face.image, parent.config) : {};\n    } else {\n      parent.state = 'run:emotion';\n      timeStamp = now();\n      emotionRes = parent.config.face.emotion.enabled ? await emotion.predict(face.image, parent.config) : {};\n      parent.perf.emotion = Math.trunc(now() - timeStamp);\n    }\n    parent.analyze('End Emotion:');\n\n    // run emotion, inherits face from blazeface\n    parent.analyze('Start Embedding:');\n    if (parent.config.async) {\n      embeddingRes = parent.config.face.embedding.enabled ? embedding.predict(face, parent.config) : [];\n    } else {\n      parent.state = 'run:embedding';\n      timeStamp = now();\n      embeddingRes = parent.config.face.embedding.enabled ? await embedding.predict(face, parent.config) : [];\n      parent.perf.embedding = Math.trunc(now() - timeStamp);\n    }\n    parent.analyze('End Embedding:');\n\n    // run emotion, inherits face from blazeface\n    parent.analyze('Start Description:');\n    if (parent.config.async) {\n      descRes = parent.config.face.description.enabled ? faceres.predict(face, parent.config) : [];\n    } else {\n      parent.state = 'run:description';\n      timeStamp = now();\n      descRes = parent.config.face.description.enabled ? await faceres.predict(face.image, parent.config) : [];\n      parent.perf.embedding = Math.trunc(now() - timeStamp);\n    }\n    parent.analyze('End Description:');\n\n    // if async wait for results\n    if (parent.config.async) {\n      [ageRes, genderRes, emotionRes, embeddingRes, descRes] = await Promise.all([ageRes, genderRes, emotionRes, embeddingRes, descRes]);\n    }\n\n    parent.analyze('Finish Face:');\n\n    // calculate iris distance\n    // iris: array[ center, left, top, right, bottom]\n    if (!parent.config.face.iris.enabled && face?.annotations?.leftEyeIris && face?.annotations?.rightEyeIris) {\n      delete face.annotations.leftEyeIris;\n      delete face.annotations.rightEyeIris;\n    }\n    const irisSize = (face.annotations?.leftEyeIris && face.annotations?.rightEyeIris)\n    /* average human iris size is 11.7mm */\n      ? 11.7 * Math.max(Math.abs(face.annotations.leftEyeIris[3][0] - face.annotations.leftEyeIris[1][0]), Math.abs(face.annotations.rightEyeIris[4][1] - face.annotations.rightEyeIris[2][1]))\n      : 0;\n\n    // combine results\n    faceRes.push({\n      ...face,\n      age: descRes.age || ageRes.age,\n      gender: descRes.gender || genderRes.gender,\n      genderConfidence: descRes.genderConfidence || genderRes.confidence,\n      embedding: descRes.descriptor || embeddingRes,\n      emotion: emotionRes,\n      iris: (irisSize !== 0) ? Math.trunc(irisSize) / 100 : 0,\n      rotation,\n      tensor: parent.config.face.detector.return ? face.image?.squeeze() : null,\n    });\n    // dispose original face tensor\n    face.image?.dispose();\n\n    parent.analyze('End Face');\n  }\n  parent.analyze('End FaceMesh:');\n  if (parent.config.async) {\n    if (parent.perf.face) delete parent.perf.face;\n    if (parent.perf.age) delete parent.perf.age;\n    if (parent.perf.gender) delete parent.perf.gender;\n    if (parent.perf.emotion) delete parent.perf.emotion;\n  }\n  return faceRes;\n};\n", "import { log } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\nimport * as blazeface from './blazeface';\nimport * as facepipeline from './facepipeline';\nimport * as coords from './coords';\n\nexport class MediaPipeFaceMesh {\n  facePipeline: any;\n  config: any;\n\n  constructor(blazeFace, blazeMeshModel, irisModel, config) {\n    this.facePipeline = new facepipeline.Pipeline(blazeFace, blazeMeshModel, irisModel);\n    this.config = config;\n  }\n\n  async estimateFaces(input, config): Promise<{ confidence, boxConfidence, faceConfidence, box, mesh, boxRaw, meshRaw, annotations, image }[]> {\n    const predictions = await this.facePipeline.predict(input, config);\n    const results: Array<{ confidence, boxConfidence, faceConfidence, box, mesh, boxRaw, meshRaw, annotations, image }> = [];\n    for (const prediction of (predictions || [])) {\n      if (prediction.isDisposedInternal) continue; // guard against disposed tensors on long running operations such as pause in middle of processing\n      const mesh = prediction.coords ? prediction.coords.arraySync() : [];\n      const meshRaw = mesh.map((pt) => [\n        pt[0] / input.shape[2],\n        pt[1] / input.shape[1],\n        pt[2] / this.facePipeline.meshSize,\n      ]);\n      const annotations = {};\n      if (mesh && mesh.length > 0) {\n        for (const key of Object.keys(coords.MESH_ANNOTATIONS)) annotations[key] = coords.MESH_ANNOTATIONS[key].map((index) => mesh[index]);\n      }\n      const box = prediction.box ? [\n        Math.max(0, prediction.box.startPoint[0]),\n        Math.max(0, prediction.box.startPoint[1]),\n        Math.min(input.shape[2], prediction.box.endPoint[0]) - Math.max(0, prediction.box.startPoint[0]),\n        Math.min(input.shape[1], prediction.box.endPoint[1]) - Math.max(0, prediction.box.startPoint[1]),\n      ] : 0;\n      const boxRaw = prediction.box ? [\n        prediction.box.startPoint[0] / input.shape[2],\n        prediction.box.startPoint[1] / input.shape[1],\n        (prediction.box.endPoint[0] - prediction.box.startPoint[0]) / input.shape[2],\n        (prediction.box.endPoint[1] - prediction.box.startPoint[1]) / input.shape[1],\n      ] : [];\n      results.push({\n        confidence: Math.round(100 * prediction.faceConfidence || 100 * prediction.boxConfidence || 0) / 100,\n        boxConfidence: Math.round(100 * prediction.boxConfidence) / 100,\n        faceConfidence: Math.round(100 * prediction.faceConfidence) / 100,\n        box,\n        boxRaw,\n        mesh,\n        meshRaw,\n        annotations,\n        image: prediction.image ? prediction.image.clone() : null,\n      });\n      if (prediction.coords) prediction.coords.dispose();\n      if (prediction.image) prediction.image.dispose();\n    }\n    return results;\n  }\n}\n\nlet faceModels = [null, null, null];\nexport async function load(config): Promise<MediaPipeFaceMesh> {\n  // @ts-ignore\n  faceModels = await Promise.all([\n    (!faceModels[0] && config.face.enabled) ? blazeface.load(config) : null,\n    (!faceModels[1] && config.face.mesh.enabled) ? tf.loadGraphModel(config.face.mesh.modelPath, { fromTFHub: config.face.mesh.modelPath.includes('tfhub.dev') }) : null,\n    (!faceModels[2] && config.face.iris.enabled) ? tf.loadGraphModel(config.face.iris.modelPath, { fromTFHub: config.face.iris.modelPath.includes('tfhub.dev') }) : null,\n  ]);\n  const faceMesh = new MediaPipeFaceMesh(faceModels[0], faceModels[1], faceModels[2], config);\n  if (config.face.mesh.enabled && config.debug) log(`load model: ${config.face.mesh.modelPath.match(/\\/(.*)\\./)[1]}`);\n  if (config.face.iris.enabled && config.debug) log(`load model: ${config.face.iris.modelPath.match(/\\/(.*)\\./)[1]}`);\n  return faceMesh;\n}\n\nexport const triangulation = coords.TRI468;\nexport const uvmap = coords.UV468;\n", "import { log } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\n\nconst NUM_LANDMARKS = 6;\n\nfunction generateAnchors(inputSize) {\n  const spec = { strides: [inputSize / 16, inputSize / 8], anchors: [2, 6] };\n  const anchors: Array<[number, number]> = [];\n  for (let i = 0; i < spec.strides.length; i++) {\n    const stride = spec.strides[i];\n    const gridRows = Math.floor((inputSize + stride - 1) / stride);\n    const gridCols = Math.floor((inputSize + stride - 1) / stride);\n    const anchorsNum = spec.anchors[i];\n    for (let gridY = 0; gridY < gridRows; gridY++) {\n      const anchorY = stride * (gridY + 0.5);\n      for (let gridX = 0; gridX < gridCols; gridX++) {\n        const anchorX = stride * (gridX + 0.5);\n        for (let n = 0; n < anchorsNum; n++) {\n          anchors.push([anchorX, anchorY]);\n        }\n      }\n    }\n  }\n  return anchors;\n}\n\nexport const disposeBox = (box) => {\n  box.startEndTensor.dispose();\n  box.startPoint.dispose();\n  box.endPoint.dispose();\n};\n\nconst createBox = (startEndTensor) => ({\n  startEndTensor,\n  startPoint: tf.slice(startEndTensor, [0, 0], [-1, 2]),\n  endPoint: tf.slice(startEndTensor, [0, 2], [-1, 2]),\n});\n\nfunction decodeBounds(boxOutputs, anchors, inputSize) {\n  const boxStarts = tf.slice(boxOutputs, [0, 1], [-1, 2]);\n  const centers = tf.add(boxStarts, anchors);\n  const boxSizes = tf.slice(boxOutputs, [0, 3], [-1, 2]);\n  const boxSizesNormalized = tf.div(boxSizes, inputSize);\n  const centersNormalized = tf.div(centers, inputSize);\n  const halfBoxSize = tf.div(boxSizesNormalized, 2);\n  const starts = tf.sub(centersNormalized, halfBoxSize);\n  const ends = tf.add(centersNormalized, halfBoxSize);\n  const startNormalized = tf.mul(starts, inputSize);\n  const endNormalized = tf.mul(ends, inputSize);\n  const concatAxis = 1;\n  return tf.concat2d([startNormalized, endNormalized], concatAxis);\n}\n\nexport class BlazeFaceModel {\n  model: any;\n  anchorsData: any;\n  anchors: any;\n  inputSize: number;\n  config: any;\n\n  constructor(model, config) {\n    this.model = model;\n    this.anchorsData = generateAnchors(model.inputs[0].shape[1]);\n    this.anchors = tf.tensor2d(this.anchorsData);\n    this.inputSize = model.inputs[0].shape[2];\n    this.config = config;\n  }\n\n  async getBoundingBoxes(inputImage) {\n    // sanity check on input\n    if ((!inputImage) || (inputImage.isDisposedInternal) || (inputImage.shape.length !== 4) || (inputImage.shape[1] < 1) || (inputImage.shape[2] < 1)) return null;\n    const [batch, boxes, scores] = tf.tidy(() => {\n      const resizedImage = inputImage.resizeBilinear([this.inputSize, this.inputSize]);\n      // const normalizedImage = tf.mul(tf.sub(resizedImage.div(255), 0.5), 2);\n      const normalizedImage = resizedImage.div(127.5).sub(0.5);\n      const batchedPrediction = this.model.predict(normalizedImage);\n      let batchOut;\n      // are we using tfhub or pinto converted model?\n      if (Array.isArray(batchedPrediction)) {\n        const sorted = batchedPrediction.sort((a, b) => a.size - b.size);\n        const concat384 = tf.concat([sorted[0], sorted[2]], 2); // dim: 384, 1 + 16\n        const concat512 = tf.concat([sorted[1], sorted[3]], 2); // dim: 512, 1 + 16\n        const concat = tf.concat([concat512, concat384], 1);\n        batchOut = concat.squeeze(0);\n      } else {\n        batchOut = batchedPrediction.squeeze(); // when using tfhub model\n      }\n      const boxesOut = decodeBounds(batchOut, this.anchors, [this.inputSize, this.inputSize]);\n      const logits = tf.slice(batchOut, [0, 0], [-1, 1]);\n      const scoresOut = tf.sigmoid(logits).squeeze();\n      return [batchOut, boxesOut, scoresOut];\n    });\n    const boxIndicesTensor = await tf.image.nonMaxSuppressionAsync(boxes, scores, this.config.face.detector.maxFaces, this.config.face.detector.iouThreshold, this.config.face.detector.scoreThreshold);\n    const boxIndices = boxIndicesTensor.arraySync();\n    boxIndicesTensor.dispose();\n    const boundingBoxesMap = boxIndices.map((boxIndex) => tf.slice(boxes, [boxIndex, 0], [1, -1]));\n    const boundingBoxes = boundingBoxesMap.map((boundingBox) => {\n      const vals = boundingBox.arraySync();\n      boundingBox.dispose();\n      return vals;\n    });\n\n    const scoresVal = scores.dataSync();\n    const annotatedBoxes: Array<{ box: any, landmarks: any, anchor: any, confidence: number }> = [];\n    for (let i = 0; i < boundingBoxes.length; i++) {\n      const boxIndex = boxIndices[i];\n      const confidence = scoresVal[boxIndex];\n      if (confidence > this.config.face.detector.minConfidence) {\n        const box = createBox(boundingBoxes[i]);\n        const anchor = this.anchorsData[boxIndex];\n        const landmarks = tf.tidy(() => tf.slice(batch, [boxIndex, NUM_LANDMARKS - 1], [1, -1]).squeeze().reshape([NUM_LANDMARKS, -1]));\n        annotatedBoxes.push({ box, landmarks, anchor, confidence });\n      }\n    }\n    batch.dispose();\n    boxes.dispose();\n    scores.dispose();\n    return {\n      boxes: annotatedBoxes,\n      scaleFactor: [inputImage.shape[2] / this.inputSize, inputImage.shape[1] / this.inputSize],\n    };\n  }\n}\n\nexport async function load(config) {\n  const blazeface = await tf.loadGraphModel(config.face.detector.modelPath, { fromTFHub: config.face.detector.modelPath.includes('tfhub.dev') });\n  const model = new BlazeFaceModel(blazeface, config);\n  if (config.debug) log(`load model: ${config.face.detector.modelPath.match(/\\/(.*)\\./)[1]}`);\n  return model;\n}\n", "/* eslint-disable class-methods-use-this */\nimport * as tf from '../../dist/tfjs.esm.js';\nimport * as bounding from './box';\nimport * as util from './util';\nimport * as coords from './coords';\n\nconst leftOutline = coords.MESH_ANNOTATIONS['leftEyeLower0'];\nconst rightOutline = coords.MESH_ANNOTATIONS['rightEyeLower0'];\n\nconst eyeLandmarks = {\n  leftBounds: [leftOutline[0], leftOutline[leftOutline.length - 1]],\n  rightBounds: [rightOutline[0], rightOutline[rightOutline.length - 1]],\n};\n\nconst meshLandmarks = {\n  count: 468,\n  mouth: 13,\n  symmetryLine: [13, coords.MESH_ANNOTATIONS['midwayBetweenEyes'][0]],\n};\n\nconst blazeFaceLandmarks = {\n  leftEye: 0,\n  rightEye: 1,\n  nose: 2,\n  mouth: 3,\n  leftEar: 4,\n  rightEar: 5,\n  symmetryLine: [3, 2],\n};\n\nconst irisLandmarks = {\n  upperCenter: 3,\n  lowerCenter: 4,\n  index: 71,\n  numCoordinates: 76,\n};\n\n// Replace the raw coordinates returned by facemesh with refined iris model coordinates\n// Update the z coordinate to be an average of the original and the new.\nfunction replaceRawCoordinates(rawCoords, newCoords, prefix, keys) {\n  for (let i = 0; i < coords.MESH_TO_IRIS_INDICES_MAP.length; i++) {\n    const { key, indices } = coords.MESH_TO_IRIS_INDICES_MAP[i];\n    const originalIndices = coords.MESH_ANNOTATIONS[`${prefix}${key}`];\n    // @ts-ignore\n    if (!keys || keys.includes(key)) {\n      for (let j = 0; j < indices.length; j++) {\n        const index = indices[j];\n        rawCoords[originalIndices[j]] = [\n          newCoords[index][0], newCoords[index][1],\n          (newCoords[index][2] + rawCoords[originalIndices[j]][2]) / 2,\n        ];\n      }\n    }\n  }\n}\n// The Pipeline coordinates between the bounding box and skeleton models.\nexport class Pipeline {\n  storedBoxes: any;\n  boundingBoxDetector: any;\n  meshDetector: any;\n  irisModel: any;\n  boxSize: number;\n  meshSize: number;\n  irisSize: number;\n  irisEnlarge: number;\n  skipped: number;\n  detectedFaces: number;\n\n  constructor(boundingBoxDetector, meshDetector, irisModel) {\n    // An array of facial bounding boxes.\n    this.storedBoxes = [];\n    this.boundingBoxDetector = boundingBoxDetector;\n    this.meshDetector = meshDetector;\n    this.irisModel = irisModel;\n    this.boxSize = boundingBoxDetector?.model?.inputs[0].shape[2] || 0;\n    this.meshSize = meshDetector?.inputs[0].shape[2] || boundingBoxDetector?.model?.inputs[0].shape[2];\n    this.irisSize = irisModel?.inputs[0].shape[1] || 0;\n    this.irisEnlarge = 2.3;\n    this.skipped = 0;\n    this.detectedFaces = 0;\n  }\n\n  transformRawCoords(rawCoords, box, angle, rotationMatrix) {\n    const boxSize = bounding.getBoxSize({ startPoint: box.startPoint, endPoint: box.endPoint });\n    const coordsScaled = rawCoords.map((coord) => ([\n      boxSize[0] / this.meshSize * (coord[0] - this.meshSize / 2),\n      boxSize[1] / this.meshSize * (coord[1] - this.meshSize / 2),\n      coord[2],\n    ]));\n    const coordsRotationMatrix = (angle !== 0) ? util.buildRotationMatrix(angle, [0, 0]) : util.IDENTITY_MATRIX;\n    const coordsRotated = (angle !== 0) ? coordsScaled.map((coord) => ([...util.rotatePoint(coord, coordsRotationMatrix), coord[2]])) : coordsScaled;\n    const inverseRotationMatrix = (angle !== 0) ? util.invertTransformMatrix(rotationMatrix) : util.IDENTITY_MATRIX;\n    const boxCenter = [...bounding.getBoxCenter({ startPoint: box.startPoint, endPoint: box.endPoint }), 1];\n    return coordsRotated.map((coord) => ([\n      coord[0] + util.dot(boxCenter, inverseRotationMatrix[0]),\n      coord[1] + util.dot(boxCenter, inverseRotationMatrix[1]),\n      coord[2],\n    ]));\n  }\n\n  getLeftToRightEyeDepthDifference(rawCoords) {\n    const leftEyeZ = rawCoords[eyeLandmarks.leftBounds[0]][2];\n    const rightEyeZ = rawCoords[eyeLandmarks.rightBounds[0]][2];\n    return leftEyeZ - rightEyeZ;\n  }\n\n  // Returns a box describing a cropped region around the eye fit for passing to the iris model.\n  getEyeBox(rawCoords, face, eyeInnerCornerIndex, eyeOuterCornerIndex, flip = false) {\n    const box = bounding.squarifyBox(bounding.enlargeBox(this.calculateLandmarksBoundingBox([rawCoords[eyeInnerCornerIndex], rawCoords[eyeOuterCornerIndex]]), this.irisEnlarge));\n    const boxSize = bounding.getBoxSize(box);\n    let crop = tf.image.cropAndResize(face, [[\n      box.startPoint[1] / this.meshSize,\n      box.startPoint[0] / this.meshSize, box.endPoint[1] / this.meshSize,\n      box.endPoint[0] / this.meshSize,\n    ]], [0], [this.irisSize, this.irisSize]);\n    if (flip && tf.ENV.flags.IS_BROWSER) {\n      crop = tf.image.flipLeftRight(crop); // flipLeftRight is not defined for tfjs-node\n    }\n    return { box, boxSize, crop };\n  }\n\n  // Given a cropped image of an eye, returns the coordinates of the contours surrounding the eye and the iris.\n  getEyeCoords(eyeData, eyeBox, eyeBoxSize, flip = false) {\n    const eyeRawCoords: Array<any[]> = [];\n    for (let i = 0; i < irisLandmarks.numCoordinates; i++) {\n      const x = eyeData[i * 3];\n      const y = eyeData[i * 3 + 1];\n      const z = eyeData[i * 3 + 2];\n      eyeRawCoords.push([\n        (flip ? (1 - (x / this.irisSize)) : (x / this.irisSize)) * eyeBoxSize[0] + eyeBox.startPoint[0],\n        (y / this.irisSize) * eyeBoxSize[1] + eyeBox.startPoint[1], z,\n      ]);\n    }\n    return { rawCoords: eyeRawCoords, iris: eyeRawCoords.slice(irisLandmarks.index) };\n  }\n\n  // The z-coordinates returned for the iris are unreliable, so we take the z values from the surrounding keypoints.\n  getAdjustedIrisCoords(rawCoords, irisCoords, direction) {\n    const upperCenterZ = rawCoords[coords.MESH_ANNOTATIONS[`${direction}EyeUpper0`][irisLandmarks.upperCenter]][2];\n    const lowerCenterZ = rawCoords[coords.MESH_ANNOTATIONS[`${direction}EyeLower0`][irisLandmarks.lowerCenter]][2];\n    const averageZ = (upperCenterZ + lowerCenterZ) / 2;\n    // Iris indices: 0: center | 1: right | 2: above | 3: left | 4: below\n    return irisCoords.map((coord, i) => {\n      let z = averageZ;\n      if (i === 2) {\n        z = upperCenterZ;\n      } else if (i === 4) {\n        z = lowerCenterZ;\n      }\n      return [coord[0], coord[1], z];\n    });\n  }\n\n  async predict(input, config) {\n    let useFreshBox = false;\n    // run new detector every skipFrames unless we only want box to start with\n    let detector;\n    if ((this.skipped === 0) || (this.skipped > config.face.detector.skipFrames) || !config.face.mesh.enabled || !config.videoOptimized) {\n      detector = await this.boundingBoxDetector.getBoundingBoxes(input);\n      this.skipped = 0;\n    }\n    if (config.videoOptimized) this.skipped++;\n\n    // if detector result count doesn't match current working set, use it to reset current working set\n    if (!config.videoOptimized || (detector && detector.boxes && (!config.face.mesh.enabled || (detector.boxes.length !== this.detectedFaces) && (this.detectedFaces !== config.face.detector.maxFaces)))) {\n      this.storedBoxes = [];\n      this.detectedFaces = 0;\n      for (const possible of detector.boxes) {\n        this.storedBoxes.push({ startPoint: possible.box.startPoint.dataSync(), endPoint: possible.box.endPoint.dataSync(), landmarks: possible.landmarks, confidence: possible.confidence });\n      }\n      if (this.storedBoxes.length > 0) useFreshBox = true;\n    }\n\n    if (config.face.detector.skipInitial && this.detectedFaces === 0) this.skipped = 0;\n\n    if (useFreshBox) {\n      if (!detector || !detector.boxes || (detector.boxes.length === 0)) {\n        this.storedBoxes = [];\n        this.detectedFaces = 0;\n        return null;\n      }\n      for (let i = 0; i < this.storedBoxes.length; i++) {\n        const scaledBox = bounding.scaleBoxCoordinates({ startPoint: this.storedBoxes[i].startPoint, endPoint: this.storedBoxes[i].endPoint }, detector.scaleFactor);\n        const enlargedBox = bounding.enlargeBox(scaledBox);\n        const squarifiedBox = bounding.squarifyBox(enlargedBox);\n        const landmarks = this.storedBoxes[i].landmarks.arraySync();\n        const confidence = this.storedBoxes[i].confidence;\n        this.storedBoxes[i] = { ...squarifiedBox, confidence, landmarks };\n      }\n    }\n    if (detector && detector.boxes) {\n      detector.boxes.forEach((prediction) => {\n        prediction.box.startPoint.dispose();\n        prediction.box.endPoint.dispose();\n        prediction.landmarks.dispose();\n      });\n    }\n\n    let results = tf.tidy(() => this.storedBoxes.map((box, i) => {\n      const boxConfidence = box.confidence;\n\n      // The facial bounding box landmarks could come either from blazeface (if we are using a fresh box), or from the mesh model (if we are reusing an old box).\n      let face;\n      let angle = 0;\n      let rotationMatrix;\n\n      if (config.face.detector.rotation && config.face.mesh.enabled && tf.ENV.flags.IS_BROWSER) {\n        const [indexOfMouth, indexOfForehead] = (box.landmarks.length >= meshLandmarks.count) ? meshLandmarks.symmetryLine : blazeFaceLandmarks.symmetryLine;\n        angle = util.computeRotation(box.landmarks[indexOfMouth], box.landmarks[indexOfForehead]);\n        const faceCenter = bounding.getBoxCenter({ startPoint: box.startPoint, endPoint: box.endPoint });\n        const faceCenterNormalized = [faceCenter[0] / input.shape[2], faceCenter[1] / input.shape[1]];\n        const rotatedImage = tf.image.rotateWithOffset(input, angle, 0, faceCenterNormalized); // rotateWithOffset is not defined for tfjs-node\n        rotationMatrix = util.buildRotationMatrix(-angle, faceCenter);\n        if (config.face.mesh.enabled) face = bounding.cutBoxFromImageAndResize({ startPoint: box.startPoint, endPoint: box.endPoint }, rotatedImage, [this.meshSize, this.meshSize]).div(255);\n        else face = bounding.cutBoxFromImageAndResize({ startPoint: box.startPoint, endPoint: box.endPoint }, rotatedImage, [this.boxSize, this.boxSize]).div(255);\n      } else {\n        rotationMatrix = util.IDENTITY_MATRIX;\n        const clonedImage = input.clone();\n        if (config.face.mesh.enabled) face = bounding.cutBoxFromImageAndResize({ startPoint: box.startPoint, endPoint: box.endPoint }, clonedImage, [this.meshSize, this.meshSize]).div(255);\n        else face = bounding.cutBoxFromImageAndResize({ startPoint: box.startPoint, endPoint: box.endPoint }, clonedImage, [this.boxSize, this.boxSize]).div(255);\n      }\n\n      // if we're not going to produce mesh, don't spend time with further processing\n      if (!config.face.mesh.enabled) {\n        const prediction = {\n          coords: null,\n          box,\n          faceConfidence: null,\n          boxConfidence,\n          confidence: box.confidence,\n          image: face,\n        };\n        return prediction;\n      }\n\n      const [, confidence, contourCoords] = this.meshDetector.predict(face); // The first returned tensor represents facial contours which are already included in the coordinates.\n      const faceConfidence = confidence.dataSync()[0];\n      if (faceConfidence < config.face.detector.minConfidence) return null; // if below confidence just exit\n      const coordsReshaped = tf.reshape(contourCoords, [-1, 3]);\n      let rawCoords = coordsReshaped.arraySync();\n\n      if (config.face.iris.enabled) {\n        const { box: leftEyeBox, boxSize: leftEyeBoxSize, crop: leftEyeCrop } = this.getEyeBox(rawCoords, face, eyeLandmarks.leftBounds[0], eyeLandmarks.leftBounds[1], true);\n        const { box: rightEyeBox, boxSize: rightEyeBoxSize, crop: rightEyeCrop } = this.getEyeBox(rawCoords, face, eyeLandmarks.rightBounds[0], eyeLandmarks.rightBounds[1]);\n        const eyePredictions = this.irisModel.predict(tf.concat([leftEyeCrop, rightEyeCrop]));\n        const eyePredictionsData = eyePredictions.dataSync();\n        const leftEyeData = eyePredictionsData.slice(0, irisLandmarks.numCoordinates * 3);\n        const { rawCoords: leftEyeRawCoords, iris: leftIrisRawCoords } = this.getEyeCoords(leftEyeData, leftEyeBox, leftEyeBoxSize, true);\n        const rightEyeData = eyePredictionsData.slice(irisLandmarks.numCoordinates * 3);\n        const { rawCoords: rightEyeRawCoords, iris: rightIrisRawCoords } = this.getEyeCoords(rightEyeData, rightEyeBox, rightEyeBoxSize);\n        const leftToRightEyeDepthDifference = this.getLeftToRightEyeDepthDifference(rawCoords);\n        if (Math.abs(leftToRightEyeDepthDifference) < 30) { // User is looking straight ahead.\n          replaceRawCoordinates(rawCoords, leftEyeRawCoords, 'left', null);\n          replaceRawCoordinates(rawCoords, rightEyeRawCoords, 'right', null);\n          // If the user is looking to the left or to the right, the iris coordinates tend to diverge too much from the mesh coordinates for them to be merged\n          // So we only update a single contour line above and below the eye.\n        } else if (leftToRightEyeDepthDifference < 1) { // User is looking towards the right.\n          replaceRawCoordinates(rawCoords, leftEyeRawCoords, 'left', ['EyeUpper0', 'EyeLower0']);\n        } else { // User is looking towards the left.\n          replaceRawCoordinates(rawCoords, rightEyeRawCoords, 'right', ['EyeUpper0', 'EyeLower0']);\n        }\n        const adjustedLeftIrisCoords = this.getAdjustedIrisCoords(rawCoords, leftIrisRawCoords, 'left');\n        const adjustedRightIrisCoords = this.getAdjustedIrisCoords(rawCoords, rightIrisRawCoords, 'right');\n        rawCoords = rawCoords.concat(adjustedLeftIrisCoords).concat(adjustedRightIrisCoords);\n      }\n\n      // override box from detection with one calculated from mesh\n      const transformedCoordsData = this.transformRawCoords(rawCoords, box, angle, rotationMatrix);\n      box = bounding.enlargeBox(this.calculateLandmarksBoundingBox(transformedCoordsData), 1.5); // redefine box with mesh calculated one\n      const transformedCoords = tf.tensor2d(transformedCoordsData);\n\n      // do rotation one more time with mesh keypoints if we want to return perfect image\n      if (config.face.detector.rotation && config.face.mesh.enabled && (config.face.description.enabled || config.face.embedding.enabled) && tf.ENV.flags.IS_BROWSER) {\n        const [indexOfMouth, indexOfForehead] = (box.landmarks.length >= meshLandmarks.count) ? meshLandmarks.symmetryLine : blazeFaceLandmarks.symmetryLine;\n        angle = util.computeRotation(box.landmarks[indexOfMouth], box.landmarks[indexOfForehead]);\n        const faceCenter = bounding.getBoxCenter({ startPoint: box.startPoint, endPoint: box.endPoint });\n        const faceCenterNormalized = [faceCenter[0] / input.shape[2], faceCenter[1] / input.shape[1]];\n        const rotatedImage = tf.image.rotateWithOffset(input, angle, 0, faceCenterNormalized); // rotateWithOffset is not defined for tfjs-node\n        rotationMatrix = util.buildRotationMatrix(-angle, faceCenter);\n        face = bounding.cutBoxFromImageAndResize({ startPoint: box.startPoint, endPoint: box.endPoint }, rotatedImage, [this.meshSize, this.meshSize]).div(255);\n      }\n\n      const prediction = {\n        coords: transformedCoords,\n        box,\n        faceConfidence,\n        boxConfidence,\n        image: face,\n        rawCoords,\n      };\n\n      // updated stored cache values\n      const squarifiedLandmarksBox = bounding.squarifyBox(box);\n      this.storedBoxes[i] = { ...squarifiedLandmarksBox, landmarks: transformedCoordsData, confidence: box.confidence, faceConfidence };\n\n      return prediction;\n    }));\n\n    results = results.filter((a) => a !== null);\n    // remove cache entries for detected boxes on low confidence\n    if (config.face.mesh.enabled) this.storedBoxes = this.storedBoxes.filter((a) => a.faceConfidence > config.face.detector.minConfidence);\n    this.detectedFaces = results.length;\n\n    return results;\n  }\n\n  calculateLandmarksBoundingBox(landmarks) {\n    const xs = landmarks.map((d) => d[0]);\n    const ys = landmarks.map((d) => d[1]);\n    const startPoint = [Math.min(...xs), Math.min(...ys)];\n    const endPoint = [Math.max(...xs), Math.max(...ys)];\n    return { startPoint, endPoint, landmarks };\n  }\n}\n", "import * as tf from '../../dist/tfjs.esm.js';\n\nexport function scaleBoxCoordinates(box, factor) {\n  const startPoint = [box.startPoint[0] * factor[0], box.startPoint[1] * factor[1]];\n  const endPoint = [box.endPoint[0] * factor[0], box.endPoint[1] * factor[1]];\n  return { startPoint, endPoint };\n}\n\nexport function getBoxSize(box) {\n  return [\n    Math.abs(box.endPoint[0] - box.startPoint[0]),\n    Math.abs(box.endPoint[1] - box.startPoint[1]),\n  ];\n}\n\nexport function getBoxCenter(box) {\n  return [\n    box.startPoint[0] + (box.endPoint[0] - box.startPoint[0]) / 2,\n    box.startPoint[1] + (box.endPoint[1] - box.startPoint[1]) / 2,\n  ];\n}\n\nexport function cutBoxFromImageAndResize(box, image, cropSize) {\n  const h = image.shape[1];\n  const w = image.shape[2];\n  const boxes = [[\n    box.startPoint[1] / h,\n    box.startPoint[0] / w,\n    box.endPoint[1] / h,\n    box.endPoint[0] / w,\n  ]];\n  return tf.image.cropAndResize(image, boxes, [0], cropSize);\n}\n\nexport function enlargeBox(box, factor = 1.5) {\n  const center = getBoxCenter(box);\n  const size = getBoxSize(box);\n  const newHalfSize = [factor * size[0] / 2, factor * size[1] / 2];\n  const startPoint = [center[0] - newHalfSize[0], center[1] - newHalfSize[1]];\n  const endPoint = [center[0] + newHalfSize[0], center[1] + newHalfSize[1]];\n  return { startPoint, endPoint, landmarks: box.landmarks };\n}\n\nexport function squarifyBox(box) {\n  const centers = getBoxCenter(box);\n  const size = getBoxSize(box);\n  const maxEdge = Math.max(...size);\n  const halfSize = maxEdge / 2;\n  const startPoint = [centers[0] - halfSize, centers[1] - halfSize];\n  const endPoint = [centers[0] + halfSize, centers[1] + halfSize];\n  return { startPoint, endPoint, landmarks: box.landmarks };\n}\n", "export const IDENTITY_MATRIX = [[1, 0, 0], [0, 1, 0], [0, 0, 1]];\n/**\n * Normalizes the provided angle to the range -pi to pi.\n * @param angle The angle in radians to be normalized.\n */\nexport function normalizeRadians(angle) {\n  return angle - 2 * Math.PI * Math.floor((angle + Math.PI) / (2 * Math.PI));\n}\n\n/**\n * Computes the angle of rotation between two anchor points.\n * @param point1 First anchor point\n * @param point2 Second anchor point\n */\nexport function computeRotation(point1, point2) {\n  const radians = Math.PI / 2 - Math.atan2(-(point2[1] - point1[1]), point2[0] - point1[0]);\n  return normalizeRadians(radians);\n}\n\nexport function radToDegrees(rad) {\n  return rad * 180 / Math.PI;\n}\n\nexport function buildTranslationMatrix(x, y) {\n  return [[1, 0, x], [0, 1, y], [0, 0, 1]];\n}\n\nexport function dot(v1, v2) {\n  let product = 0;\n  for (let i = 0; i < v1.length; i++) {\n    product += v1[i] * v2[i];\n  }\n  return product;\n}\n\nexport function getColumnFrom2DArr(arr, columnIndex) {\n  const column: Array<number> = [];\n  for (let i = 0; i < arr.length; i++) {\n    column.push(arr[i][columnIndex]);\n  }\n  return column;\n}\n\nexport function multiplyTransformMatrices(mat1, mat2) {\n  const product: Array<number[]> = [];\n  const size = mat1.length;\n  for (let row = 0; row < size; row++) {\n    product.push([]);\n    for (let col = 0; col < size; col++) {\n      product[row].push(dot(mat1[row], getColumnFrom2DArr(mat2, col)));\n    }\n  }\n  return product;\n}\n\nexport function buildRotationMatrix(rotation, center) {\n  const cosA = Math.cos(rotation);\n  const sinA = Math.sin(rotation);\n  const rotationMatrix = [[cosA, -sinA, 0], [sinA, cosA, 0], [0, 0, 1]];\n  const translationMatrix = buildTranslationMatrix(center[0], center[1]);\n  const translationTimesRotation = multiplyTransformMatrices(translationMatrix, rotationMatrix);\n  const negativeTranslationMatrix = buildTranslationMatrix(-center[0], -center[1]);\n  return multiplyTransformMatrices(translationTimesRotation, negativeTranslationMatrix);\n}\n\nexport function invertTransformMatrix(matrix) {\n  const rotationComponent = [[matrix[0][0], matrix[1][0]], [matrix[0][1], matrix[1][1]]];\n  const translationComponent = [matrix[0][2], matrix[1][2]];\n  const invertedTranslation = [\n    -dot(rotationComponent[0], translationComponent),\n    -dot(rotationComponent[1], translationComponent),\n  ];\n  return [\n    rotationComponent[0].concat(invertedTranslation[0]),\n    rotationComponent[1].concat(invertedTranslation[1]),\n    [0, 0, 1],\n  ];\n}\n\nexport function rotatePoint(homogeneousCoordinate, rotationMatrix) {\n  return [\n    dot(homogeneousCoordinate, rotationMatrix[0]),\n    dot(homogeneousCoordinate, rotationMatrix[1]),\n  ];\n}\n\nexport function xyDistanceBetweenPoints(a, b) {\n  return Math.sqrt(((a[0] - b[0]) ** 2) + ((a[1] - b[1]) ** 2));\n}\n", "export const MESH_ANNOTATIONS = {\n  silhouette: [\n    10, 338, 297, 332, 284, 251, 389, 356, 454, 323, 361, 288,\n    397, 365, 379, 378, 400, 377, 152, 148, 176, 149, 150, 136,\n    172, 58, 132, 93, 234, 127, 162, 21, 54, 103, 67, 109,\n  ],\n  lipsUpperOuter: [61, 185, 40, 39, 37, 0, 267, 269, 270, 409, 291],\n  lipsLowerOuter: [146, 91, 181, 84, 17, 314, 405, 321, 375, 291],\n  lipsUpperInner: [78, 191, 80, 81, 82, 13, 312, 311, 310, 415, 308],\n  lipsLowerInner: [78, 95, 88, 178, 87, 14, 317, 402, 318, 324, 308],\n  rightEyeUpper0: [246, 161, 160, 159, 158, 157, 173],\n  rightEyeLower0: [33, 7, 163, 144, 145, 153, 154, 155, 133],\n  rightEyeUpper1: [247, 30, 29, 27, 28, 56, 190],\n  rightEyeLower1: [130, 25, 110, 24, 23, 22, 26, 112, 243],\n  rightEyeUpper2: [113, 225, 224, 223, 222, 221, 189],\n  rightEyeLower2: [226, 31, 228, 229, 230, 231, 232, 233, 244],\n  rightEyeLower3: [143, 111, 117, 118, 119, 120, 121, 128, 245],\n  rightEyebrowUpper: [156, 70, 63, 105, 66, 107, 55, 193],\n  rightEyebrowLower: [35, 124, 46, 53, 52, 65],\n  rightEyeIris: [473, 474, 475, 476, 477],\n  leftEyeUpper0: [466, 388, 387, 386, 385, 384, 398],\n  leftEyeLower0: [263, 249, 390, 373, 374, 380, 381, 382, 362],\n  leftEyeUpper1: [467, 260, 259, 257, 258, 286, 414],\n  leftEyeLower1: [359, 255, 339, 254, 253, 252, 256, 341, 463],\n  leftEyeUpper2: [342, 445, 444, 443, 442, 441, 413],\n  leftEyeLower2: [446, 261, 448, 449, 450, 451, 452, 453, 464],\n  leftEyeLower3: [372, 340, 346, 347, 348, 349, 350, 357, 465],\n  leftEyebrowUpper: [383, 300, 293, 334, 296, 336, 285, 417],\n  leftEyebrowLower: [265, 353, 276, 283, 282, 295],\n  leftEyeIris: [468, 469, 470, 471, 472],\n  midwayBetweenEyes: [168],\n  noseTip: [1],\n  noseBottom: [2],\n  noseRightCorner: [98],\n  noseLeftCorner: [327],\n  rightCheek: [205],\n  leftCheek: [425],\n};\n\nexport const MESH_TO_IRIS_INDICES_MAP = [ // A mapping from facemesh model keypoints to iris model keypoints.\n  { key: 'EyeUpper0', indices: [9, 10, 11, 12, 13, 14, 15] },\n  { key: 'EyeUpper1', indices: [25, 26, 27, 28, 29, 30, 31] },\n  { key: 'EyeUpper2', indices: [41, 42, 43, 44, 45, 46, 47] },\n  { key: 'EyeLower0', indices: [0, 1, 2, 3, 4, 5, 6, 7, 8] },\n  { key: 'EyeLower1', indices: [16, 17, 18, 19, 20, 21, 22, 23, 24] },\n  { key: 'EyeLower2', indices: [32, 33, 34, 35, 36, 37, 38, 39, 40] },\n  { key: 'EyeLower3', indices: [54, 55, 56, 57, 58, 59, 60, 61, 62] },\n  // { key: 'EyebrowUpper', indices: [63, 64, 65, 66, 67, 68, 69, 70] },\n  // { key: 'EyebrowLower', indices: [48, 49, 50, 51, 52, 53] },\n];\n\nexport const UV468 = [\n  [0.499976992607117, 0.652534008026123],\n  [0.500025987625122, 0.547487020492554],\n  [0.499974012374878, 0.602371990680695],\n  [0.482113003730774, 0.471979022026062],\n  [0.500150978565216, 0.527155995368958],\n  [0.499909996986389, 0.498252987861633],\n  [0.499523013830185, 0.40106201171875],\n  [0.289712011814117, 0.380764007568359],\n  [0.499954998493195, 0.312398016452789],\n  [0.499987006187439, 0.269918978214264],\n  [0.500023007392883, 0.107050001621246],\n  [0.500023007392883, 0.666234016418457],\n  [0.5000159740448, 0.679224014282227],\n  [0.500023007392883, 0.692348003387451],\n  [0.499976992607117, 0.695277988910675],\n  [0.499976992607117, 0.70593398809433],\n  [0.499976992607117, 0.719385027885437],\n  [0.499976992607117, 0.737019002437592],\n  [0.499967992305756, 0.781370997428894],\n  [0.499816000461578, 0.562981009483337],\n  [0.473773002624512, 0.573909997940063],\n  [0.104906998574734, 0.254140973091125],\n  [0.365929991006851, 0.409575998783112],\n  [0.338757991790771, 0.41302502155304],\n  [0.311120003461838, 0.409460008144379],\n  [0.274657994508743, 0.389131009578705],\n  [0.393361985683441, 0.403706014156342],\n  [0.345234006643295, 0.344011008739471],\n  [0.370094001293182, 0.346076011657715],\n  [0.319321990013123, 0.347265005111694],\n  [0.297903001308441, 0.353591024875641],\n  [0.24779200553894, 0.410809993743896],\n  [0.396889001131058, 0.842755019664764],\n  [0.280097991228104, 0.375599980354309],\n  [0.106310002505779, 0.399955987930298],\n  [0.2099249958992, 0.391353011131287],\n  [0.355807989835739, 0.534406006336212],\n  [0.471751004457474, 0.65040397644043],\n  [0.474155008792877, 0.680191993713379],\n  [0.439785003662109, 0.657229006290436],\n  [0.414617002010345, 0.66654098033905],\n  [0.450374007225037, 0.680860996246338],\n  [0.428770989179611, 0.682690978050232],\n  [0.374971002340317, 0.727805018424988],\n  [0.486716985702515, 0.547628998756409],\n  [0.485300987958908, 0.527395009994507],\n  [0.257764995098114, 0.314490020275116],\n  [0.401223003864288, 0.455172002315521],\n  [0.429818987846375, 0.548614978790283],\n  [0.421351999044418, 0.533740997314453],\n  [0.276895999908447, 0.532056987285614],\n  [0.483370006084442, 0.499586999416351],\n  [0.33721199631691, 0.282882988452911],\n  [0.296391993761063, 0.293242990970612],\n  [0.169294998049736, 0.193813979625702],\n  [0.447580009698868, 0.302609980106354],\n  [0.392390012741089, 0.353887975215912],\n  [0.354490011930466, 0.696784019470215],\n  [0.067304998636246, 0.730105042457581],\n  [0.442739009857178, 0.572826027870178],\n  [0.457098007202148, 0.584792017936707],\n  [0.381974011659622, 0.694710969924927],\n  [0.392388999462128, 0.694203019142151],\n  [0.277076005935669, 0.271932005882263],\n  [0.422551989555359, 0.563233017921448],\n  [0.385919004678726, 0.281364023685455],\n  [0.383103013038635, 0.255840003490448],\n  [0.331431001424789, 0.119714021682739],\n  [0.229923993349075, 0.232002973556519],\n  [0.364500999450684, 0.189113974571228],\n  [0.229622006416321, 0.299540996551514],\n  [0.173287004232407, 0.278747975826263],\n  [0.472878992557526, 0.666198015213013],\n  [0.446828007698059, 0.668527007102966],\n  [0.422762006521225, 0.673889994621277],\n  [0.445307999849319, 0.580065965652466],\n  [0.388103008270264, 0.693961024284363],\n  [0.403039008378983, 0.706539988517761],\n  [0.403629004955292, 0.693953037261963],\n  [0.460041999816895, 0.557139039039612],\n  [0.431158006191254, 0.692366003990173],\n  [0.452181994915009, 0.692366003990173],\n  [0.475387006998062, 0.692366003990173],\n  [0.465828001499176, 0.779190003871918],\n  [0.472328990697861, 0.736225962638855],\n  [0.473087012767792, 0.717857003211975],\n  [0.473122000694275, 0.704625964164734],\n  [0.473033010959625, 0.695277988910675],\n  [0.427942007780075, 0.695277988910675],\n  [0.426479011774063, 0.703539967536926],\n  [0.423162013292313, 0.711845993995667],\n  [0.4183090031147, 0.720062971115112],\n  [0.390094995498657, 0.639572978019714],\n  [0.013953999616206, 0.560034036636353],\n  [0.499913990497589, 0.58014702796936],\n  [0.413199990987778, 0.69539999961853],\n  [0.409626007080078, 0.701822996139526],\n  [0.468080013990402, 0.601534962654114],\n  [0.422728985548019, 0.585985004901886],\n  [0.463079988956451, 0.593783974647522],\n  [0.37211999297142, 0.47341400384903],\n  [0.334562003612518, 0.496073007583618],\n  [0.411671012639999, 0.546965003013611],\n  [0.242175996303558, 0.14767599105835],\n  [0.290776997804642, 0.201445996761322],\n  [0.327338010072708, 0.256527006626129],\n  [0.399509996175766, 0.748921036720276],\n  [0.441727995872498, 0.261676013469696],\n  [0.429764986038208, 0.187834024429321],\n  [0.412198007106781, 0.108901023864746],\n  [0.288955003023148, 0.398952007293701],\n  [0.218936994671822, 0.435410976409912],\n  [0.41278201341629, 0.398970007896423],\n  [0.257135003805161, 0.355440020561218],\n  [0.427684992551804, 0.437960982322693],\n  [0.448339998722076, 0.536936044692993],\n  [0.178560003638268, 0.45755398273468],\n  [0.247308000922203, 0.457193970680237],\n  [0.286267012357712, 0.467674970626831],\n  [0.332827985286713, 0.460712015628815],\n  [0.368755996227264, 0.447206974029541],\n  [0.398963987827301, 0.432654976844788],\n  [0.476410001516342, 0.405806005001068],\n  [0.189241006970406, 0.523923993110657],\n  [0.228962004184723, 0.348950982093811],\n  [0.490725994110107, 0.562400996685028],\n  [0.404670000076294, 0.485132992267609],\n  [0.019469000399113, 0.401564002037048],\n  [0.426243007183075, 0.420431017875671],\n  [0.396993011236191, 0.548797011375427],\n  [0.266469985246658, 0.376977026462555],\n  [0.439121007919312, 0.51895797252655],\n  [0.032313998788595, 0.644356966018677],\n  [0.419054001569748, 0.387154996395111],\n  [0.462783008813858, 0.505746960639954],\n  [0.238978996872902, 0.779744982719421],\n  [0.198220998048782, 0.831938028335571],\n  [0.107550002634525, 0.540755033493042],\n  [0.183610007166862, 0.740257024765015],\n  [0.134409993886948, 0.333683013916016],\n  [0.385764002799988, 0.883153975009918],\n  [0.490967005491257, 0.579378008842468],\n  [0.382384985685349, 0.508572995662689],\n  [0.174399003386497, 0.397670984268188],\n  [0.318785011768341, 0.39623498916626],\n  [0.343364000320435, 0.400596976280212],\n  [0.396100014448166, 0.710216999053955],\n  [0.187885001301765, 0.588537991046906],\n  [0.430987000465393, 0.944064974784851],\n  [0.318993002176285, 0.898285031318665],\n  [0.266247987747192, 0.869701027870178],\n  [0.500023007392883, 0.190576016902924],\n  [0.499976992607117, 0.954452991485596],\n  [0.366169989109039, 0.398822009563446],\n  [0.393207013607025, 0.39553701877594],\n  [0.410373002290726, 0.391080021858215],\n  [0.194993004202843, 0.342101991176605],\n  [0.388664990663528, 0.362284004688263],\n  [0.365961998701096, 0.355970978736877],\n  [0.343364000320435, 0.355356991291046],\n  [0.318785011768341, 0.35834002494812],\n  [0.301414996385574, 0.363156020641327],\n  [0.058132998645306, 0.319076001644135],\n  [0.301414996385574, 0.387449026107788],\n  [0.499987989664078, 0.618434011936188],\n  [0.415838003158569, 0.624195992946625],\n  [0.445681989192963, 0.566076993942261],\n  [0.465844005346298, 0.620640993118286],\n  [0.49992299079895, 0.351523995399475],\n  [0.288718998432159, 0.819945991039276],\n  [0.335278987884521, 0.852819979190826],\n  [0.440512001514435, 0.902418971061707],\n  [0.128294005990028, 0.791940987110138],\n  [0.408771991729736, 0.373893976211548],\n  [0.455606997013092, 0.451801002025604],\n  [0.499877005815506, 0.908990025520325],\n  [0.375436991453171, 0.924192011356354],\n  [0.11421000212431, 0.615022003650665],\n  [0.448662012815475, 0.695277988910675],\n  [0.4480200111866, 0.704632043838501],\n  [0.447111994028091, 0.715808033943176],\n  [0.444831997156143, 0.730794012546539],\n  [0.430011987686157, 0.766808986663818],\n  [0.406787008047104, 0.685672998428345],\n  [0.400738000869751, 0.681069016456604],\n  [0.392399996519089, 0.677703022956848],\n  [0.367855995893478, 0.663918972015381],\n  [0.247923001646996, 0.601333022117615],\n  [0.452769994735718, 0.420849978923798],\n  [0.43639200925827, 0.359887003898621],\n  [0.416164010763168, 0.368713974952698],\n  [0.413385987281799, 0.692366003990173],\n  [0.228018000721931, 0.683571994304657],\n  [0.468268007040024, 0.352671027183533],\n  [0.411361992359161, 0.804327011108398],\n  [0.499989002943039, 0.469825029373169],\n  [0.479153990745544, 0.442654013633728],\n  [0.499974012374878, 0.439637005329132],\n  [0.432112008333206, 0.493588984012604],\n  [0.499886006116867, 0.866917014122009],\n  [0.49991300702095, 0.821729004383087],\n  [0.456548988819122, 0.819200992584229],\n  [0.344549000263214, 0.745438992977142],\n  [0.37890899181366, 0.574010014533997],\n  [0.374292999505997, 0.780184984207153],\n  [0.319687992334366, 0.570737957954407],\n  [0.357154995203018, 0.604269981384277],\n  [0.295284003019333, 0.621580958366394],\n  [0.447750002145767, 0.862477004528046],\n  [0.410986006259918, 0.508723020553589],\n  [0.31395098567009, 0.775308012962341],\n  [0.354128003120422, 0.812552988529205],\n  [0.324548006057739, 0.703992962837219],\n  [0.189096003770828, 0.646299958229065],\n  [0.279776990413666, 0.71465802192688],\n  [0.1338230073452, 0.682700991630554],\n  [0.336768001317978, 0.644733011722565],\n  [0.429883986711502, 0.466521978378296],\n  [0.455527991056442, 0.548622965812683],\n  [0.437114000320435, 0.558896005153656],\n  [0.467287987470627, 0.529924988746643],\n  [0.414712011814117, 0.335219979286194],\n  [0.37704598903656, 0.322777986526489],\n  [0.344107985496521, 0.320150971412659],\n  [0.312875986099243, 0.32233202457428],\n  [0.283526003360748, 0.333190023899078],\n  [0.241245999932289, 0.382785975933075],\n  [0.102986000478268, 0.468762993812561],\n  [0.267612010240555, 0.424560010433197],\n  [0.297879010438919, 0.433175981044769],\n  [0.333433985710144, 0.433878004550934],\n  [0.366427004337311, 0.426115989685059],\n  [0.396012008190155, 0.416696012020111],\n  [0.420121014118195, 0.41022801399231],\n  [0.007561000064015, 0.480777025222778],\n  [0.432949006557465, 0.569517970085144],\n  [0.458638995885849, 0.479089021682739],\n  [0.473466008901596, 0.545744001865387],\n  [0.476087987422943, 0.563830018043518],\n  [0.468472003936768, 0.555056989192963],\n  [0.433990985155106, 0.582361996173859],\n  [0.483518004417419, 0.562983989715576],\n  [0.482482999563217, 0.57784903049469],\n  [0.42645001411438, 0.389798998832703],\n  [0.438998997211456, 0.39649498462677],\n  [0.450067013502121, 0.400434017181396],\n  [0.289712011814117, 0.368252992630005],\n  [0.276670008897781, 0.363372981548309],\n  [0.517862021923065, 0.471948027610779],\n  [0.710287988185883, 0.380764007568359],\n  [0.526226997375488, 0.573909997940063],\n  [0.895093023777008, 0.254140973091125],\n  [0.634069979190826, 0.409575998783112],\n  [0.661242008209229, 0.41302502155304],\n  [0.688880026340485, 0.409460008144379],\n  [0.725341975688934, 0.389131009578705],\n  [0.606630027294159, 0.40370500087738],\n  [0.654766023159027, 0.344011008739471],\n  [0.629905998706818, 0.346076011657715],\n  [0.680678009986877, 0.347265005111694],\n  [0.702096998691559, 0.353591024875641],\n  [0.75221198797226, 0.410804986953735],\n  [0.602918028831482, 0.842862963676453],\n  [0.719901978969574, 0.375599980354309],\n  [0.893692970275879, 0.399959981441498],\n  [0.790081977844238, 0.391354024410248],\n  [0.643998026847839, 0.534487962722778],\n  [0.528249025344849, 0.65040397644043],\n  [0.525849997997284, 0.680191040039062],\n  [0.560214996337891, 0.657229006290436],\n  [0.585384011268616, 0.66654098033905],\n  [0.549625992774963, 0.680860996246338],\n  [0.57122802734375, 0.682691991329193],\n  [0.624852001667023, 0.72809898853302],\n  [0.513050019741058, 0.547281980514526],\n  [0.51509702205658, 0.527251958847046],\n  [0.742246985435486, 0.314507007598877],\n  [0.598631024360657, 0.454979002475739],\n  [0.570338010787964, 0.548575043678284],\n  [0.578631997108459, 0.533622980117798],\n  [0.723087012767792, 0.532054007053375],\n  [0.516445994377136, 0.499638974666595],\n  [0.662801027297974, 0.282917976379395],\n  [0.70362401008606, 0.293271005153656],\n  [0.830704987049103, 0.193813979625702],\n  [0.552385985851288, 0.302568018436432],\n  [0.607609987258911, 0.353887975215912],\n  [0.645429015159607, 0.696707010269165],\n  [0.932694971561432, 0.730105042457581],\n  [0.557260990142822, 0.572826027870178],\n  [0.542901992797852, 0.584792017936707],\n  [0.6180260181427, 0.694710969924927],\n  [0.607590973377228, 0.694203019142151],\n  [0.722943007946014, 0.271963000297546],\n  [0.577413976192474, 0.563166975975037],\n  [0.614082992076874, 0.281386971473694],\n  [0.616907000541687, 0.255886018276215],\n  [0.668509006500244, 0.119913995265961],\n  [0.770092010498047, 0.232020974159241],\n  [0.635536015033722, 0.189248979091644],\n  [0.77039098739624, 0.299556016921997],\n  [0.826722025871277, 0.278755009174347],\n  [0.527121007442474, 0.666198015213013],\n  [0.553171992301941, 0.668527007102966],\n  [0.577238023281097, 0.673889994621277],\n  [0.554691970348358, 0.580065965652466],\n  [0.611896991729736, 0.693961024284363],\n  [0.59696102142334, 0.706539988517761],\n  [0.596370995044708, 0.693953037261963],\n  [0.539958000183105, 0.557139039039612],\n  [0.568841993808746, 0.692366003990173],\n  [0.547818005084991, 0.692366003990173],\n  [0.52461302280426, 0.692366003990173],\n  [0.534089982509613, 0.779141008853912],\n  [0.527670979499817, 0.736225962638855],\n  [0.526912987232208, 0.717857003211975],\n  [0.526877999305725, 0.704625964164734],\n  [0.526966989040375, 0.695277988910675],\n  [0.572058022022247, 0.695277988910675],\n  [0.573521018028259, 0.703539967536926],\n  [0.57683801651001, 0.711845993995667],\n  [0.581691026687622, 0.720062971115112],\n  [0.609944999217987, 0.639909982681274],\n  [0.986046016216278, 0.560034036636353],\n  [0.5867999792099, 0.69539999961853],\n  [0.590372025966644, 0.701822996139526],\n  [0.531915009021759, 0.601536989212036],\n  [0.577268004417419, 0.585934996604919],\n  [0.536915004253387, 0.593786001205444],\n  [0.627542972564697, 0.473352015018463],\n  [0.665585994720459, 0.495950996875763],\n  [0.588353991508484, 0.546862006187439],\n  [0.757824003696442, 0.14767599105835],\n  [0.709249973297119, 0.201507985591888],\n  [0.672684013843536, 0.256581008434296],\n  [0.600408971309662, 0.74900496006012],\n  [0.55826598405838, 0.261672019958496],\n  [0.570303976535797, 0.187870979309082],\n  [0.588165998458862, 0.109044015407562],\n  [0.711045026779175, 0.398952007293701],\n  [0.781069993972778, 0.435405015945435],\n  [0.587247014045715, 0.398931980133057],\n  [0.742869973182678, 0.355445981025696],\n  [0.572156012058258, 0.437651991844177],\n  [0.55186802148819, 0.536570012569427],\n  [0.821442008018494, 0.457556009292603],\n  [0.752701997756958, 0.457181990146637],\n  [0.71375697851181, 0.467626988887787],\n  [0.66711300611496, 0.460672974586487],\n  [0.631101012229919, 0.447153985500336],\n  [0.6008620262146, 0.432473003864288],\n  [0.523481011390686, 0.405627012252808],\n  [0.810747981071472, 0.523926019668579],\n  [0.771045982837677, 0.348959028720856],\n  [0.509127020835876, 0.562718033790588],\n  [0.595292985439301, 0.485023975372314],\n  [0.980530977249146, 0.401564002037048],\n  [0.573499977588654, 0.420000016689301],\n  [0.602994978427887, 0.548687994480133],\n  [0.733529984951019, 0.376977026462555],\n  [0.560611009597778, 0.519016981124878],\n  [0.967685997486115, 0.644356966018677],\n  [0.580985009670258, 0.387160003185272],\n  [0.537728011608124, 0.505385041236877],\n  [0.760966002941132, 0.779752969741821],\n  [0.801778972148895, 0.831938028335571],\n  [0.892440974712372, 0.54076099395752],\n  [0.816350996494293, 0.740260004997253],\n  [0.865594983100891, 0.333687007427216],\n  [0.614073991775513, 0.883246004581451],\n  [0.508952975273132, 0.579437971115112],\n  [0.617941975593567, 0.508316040039062],\n  [0.825608015060425, 0.397674977779388],\n  [0.681214988231659, 0.39623498916626],\n  [0.656635999679565, 0.400596976280212],\n  [0.603900015354156, 0.710216999053955],\n  [0.81208598613739, 0.588539004325867],\n  [0.56801301240921, 0.944564998149872],\n  [0.681007981300354, 0.898285031318665],\n  [0.733752012252808, 0.869701027870178],\n  [0.633830010890961, 0.398822009563446],\n  [0.606792986392975, 0.39553701877594],\n  [0.589659988880157, 0.391062021255493],\n  [0.805015981197357, 0.342108011245728],\n  [0.611334979534149, 0.362284004688263],\n  [0.634037971496582, 0.355970978736877],\n  [0.656635999679565, 0.355356991291046],\n  [0.681214988231659, 0.35834002494812],\n  [0.698584973812103, 0.363156020641327],\n  [0.941866993904114, 0.319076001644135],\n  [0.698584973812103, 0.387449026107788],\n  [0.584177017211914, 0.624107003211975],\n  [0.554318010807037, 0.566076993942261],\n  [0.534153997898102, 0.62064003944397],\n  [0.711217999458313, 0.819975018501282],\n  [0.664629995822906, 0.852871000766754],\n  [0.559099972248077, 0.902631998062134],\n  [0.871706008911133, 0.791940987110138],\n  [0.591234028339386, 0.373893976211548],\n  [0.544341027736664, 0.451583981513977],\n  [0.624562978744507, 0.924192011356354],\n  [0.88577002286911, 0.615028977394104],\n  [0.551338016986847, 0.695277988910675],\n  [0.551980018615723, 0.704632043838501],\n  [0.552887976169586, 0.715808033943176],\n  [0.555167973041534, 0.730794012546539],\n  [0.569944024085999, 0.767035007476807],\n  [0.593203008174896, 0.685675978660583],\n  [0.599261999130249, 0.681069016456604],\n  [0.607599973678589, 0.677703022956848],\n  [0.631937980651855, 0.663500010967255],\n  [0.752032995223999, 0.601315021514893],\n  [0.547226011753082, 0.420395016670227],\n  [0.563543975353241, 0.359827995300293],\n  [0.583841025829315, 0.368713974952698],\n  [0.586614012718201, 0.692366003990173],\n  [0.771915018558502, 0.683578014373779],\n  [0.531597018241882, 0.352482974529266],\n  [0.588370978832245, 0.804440975189209],\n  [0.52079701423645, 0.442565023899078],\n  [0.567984998226166, 0.493479013442993],\n  [0.543282985687256, 0.819254994392395],\n  [0.655317008495331, 0.745514988899231],\n  [0.621008992195129, 0.574018001556396],\n  [0.625559985637665, 0.78031200170517],\n  [0.680198013782501, 0.570719003677368],\n  [0.64276397228241, 0.604337990283966],\n  [0.704662978649139, 0.621529996395111],\n  [0.552012026309967, 0.862591981887817],\n  [0.589071989059448, 0.508637011051178],\n  [0.685944974422455, 0.775357007980347],\n  [0.645735025405884, 0.812640011310577],\n  [0.675342977046967, 0.703978002071381],\n  [0.810858011245728, 0.646304965019226],\n  [0.72012197971344, 0.714666962623596],\n  [0.866151988506317, 0.682704985141754],\n  [0.663187026977539, 0.644596993923187],\n  [0.570082008838654, 0.466325998306274],\n  [0.544561982154846, 0.548375964164734],\n  [0.562758982181549, 0.558784961700439],\n  [0.531987011432648, 0.530140042304993],\n  [0.585271000862122, 0.335177004337311],\n  [0.622952997684479, 0.32277899980545],\n  [0.655896008014679, 0.320163011550903],\n  [0.687132000923157, 0.322345972061157],\n  [0.716481983661652, 0.333200991153717],\n  [0.758756995201111, 0.382786989212036],\n  [0.897013008594513, 0.468769013881683],\n  [0.732392013072968, 0.424547016620636],\n  [0.70211398601532, 0.433162987232208],\n  [0.66652500629425, 0.433866024017334],\n  [0.633504986763, 0.426087975502014],\n  [0.603875994682312, 0.416586995124817],\n  [0.579657971858978, 0.409945011138916],\n  [0.992439985275269, 0.480777025222778],\n  [0.567192018032074, 0.569419980049133],\n  [0.54136598110199, 0.478899002075195],\n  [0.526564002037048, 0.546118021011353],\n  [0.523913025856018, 0.563830018043518],\n  [0.531529009342194, 0.555056989192963],\n  [0.566035985946655, 0.582329034805298],\n  [0.51631098985672, 0.563053965568542],\n  [0.5174720287323, 0.577877044677734],\n  [0.573594987392426, 0.389806985855103],\n  [0.560697972774506, 0.395331978797913],\n  [0.549755990505219, 0.399751007556915],\n  [0.710287988185883, 0.368252992630005],\n  [0.723330020904541, 0.363372981548309],\n];\n\nexport const TRI468 = [\n  127, 34, 139, 11, 0, 37, 232, 231, 120, 72, 37, 39, 128, 121, 47, 232, 121, 128, 104, 69, 67, 175, 171, 148, 157, 154, 155, 118, 50, 101, 73, 39, 40, 9,\n  151, 108, 48, 115, 131, 194, 204, 211, 74, 40, 185, 80, 42, 183, 40, 92, 186, 230, 229, 118, 202, 212, 214, 83, 18, 17, 76, 61, 146, 160, 29, 30, 56,\n  157, 173, 106, 204, 194, 135, 214, 192, 203, 165, 98, 21, 71, 68, 51, 45, 4, 144, 24, 23, 77, 146, 91, 205, 50, 187, 201, 200, 18, 91, 106, 182, 90, 91,\n  181, 85, 84, 17, 206, 203, 36, 148, 171, 140, 92, 40, 39, 193, 189, 244, 159, 158, 28, 247, 246, 161, 236, 3, 196, 54, 68, 104, 193, 168, 8, 117,\n  228, 31, 189, 193, 55, 98, 97, 99, 126, 47, 100, 166, 79, 218, 155, 154, 26, 209, 49, 131, 135, 136, 150, 47, 126, 217, 223, 52, 53, 45, 51, 134, 211,\n  170, 140, 67, 69, 108, 43, 106, 91, 230, 119, 120, 226, 130, 247, 63, 53, 52, 238, 20, 242, 46, 70, 156, 78, 62, 96, 46, 53, 63, 143, 34, 227, 173,\n  155, 133, 123, 117, 111, 44, 125, 19, 236, 134, 51, 216, 206, 205, 154, 153, 22, 39, 37, 167, 200, 201, 208, 36, 142, 100, 57, 212, 202, 20, 60, 99, 28,\n  158, 157, 35, 226, 113, 160, 159, 27, 204, 202, 210, 113, 225, 46, 43, 202, 204, 62, 76, 77, 137, 123, 116, 41, 38, 72, 203, 129, 142, 64, 98, 240, 49,\n  102, 64, 41, 73, 74, 212, 216, 207, 42, 74, 184, 169, 170, 211, 170, 149, 176, 105, 66, 69, 122, 6, 168, 123, 147, 187, 96, 77, 90, 65, 55, 107, 89,\n  90, 180, 101, 100, 120, 63, 105, 104, 93, 137, 227, 15, 86, 85, 129, 102, 49, 14, 87, 86, 55, 8, 9, 100, 47, 121, 145, 23, 22, 88, 89, 179, 6, 122,\n  196, 88, 95, 96, 138, 172, 136, 215, 58, 172, 115, 48, 219, 42, 80, 81, 195, 3, 51, 43, 146, 61, 171, 175, 199, 81, 82, 38, 53, 46, 225, 144, 163, 110,\n  246, 33, 7, 52, 65, 66, 229, 228, 117, 34, 127, 234, 107, 108, 69, 109, 108, 151, 48, 64, 235, 62, 78, 191, 129, 209, 126, 111, 35, 143, 163, 161, 246,\n  117, 123, 50, 222, 65, 52, 19, 125, 141, 221, 55, 65, 3, 195, 197, 25, 7, 33, 220, 237, 44, 70, 71, 139, 122, 193, 245, 247, 130, 33, 71, 21, 162,\n  153, 158, 159, 170, 169, 150, 188, 174, 196, 216, 186, 92, 144, 160, 161, 2, 97, 167, 141, 125, 241, 164, 167, 37, 72, 38, 12, 145, 159, 160, 38, 82, 13,\n  63, 68, 71, 226, 35, 111, 158, 153, 154, 101, 50, 205, 206, 92, 165, 209, 198, 217, 165, 167, 97, 220, 115, 218, 133, 112, 243, 239, 238, 241, 214,\n  135, 169, 190, 173, 133, 171, 208, 32, 125, 44, 237, 86, 87, 178, 85, 86, 179, 84, 85, 180, 83, 84, 181, 201, 83, 182, 137, 93, 132, 76, 62, 183, 61,\n  76, 184, 57, 61, 185, 212, 57, 186, 214, 207, 187, 34, 143, 156, 79, 239, 237, 123, 137, 177, 44, 1, 4, 201, 194, 32, 64, 102, 129, 213, 215, 138, 59,\n  166, 219, 242, 99, 97, 2, 94, 141, 75, 59, 235, 24, 110, 228, 25, 130, 226, 23, 24, 229, 22, 23, 230, 26, 22, 231, 112, 26, 232, 189, 190, 243, 221, 56,\n  190, 28, 56, 221, 27, 28, 222, 29, 27, 223, 30, 29, 224, 247, 30, 225, 238, 79, 20, 166, 59, 75, 60, 75, 240, 147, 177, 215, 20, 79, 166, 187, 147, 213,\n  112, 233, 244, 233, 128, 245, 128, 114, 188, 114, 217, 174, 131, 115, 220, 217, 198, 236, 198, 131, 134, 177, 132, 58, 143, 35, 124, 110, 163, 7, 228,\n  110, 25, 356, 389, 368, 11, 302, 267, 452, 350, 349, 302, 303, 269, 357, 343, 277, 452, 453, 357, 333, 332, 297, 175, 152, 377, 384, 398, 382, 347,\n  348, 330, 303, 304, 270, 9, 336, 337, 278, 279, 360, 418, 262, 431, 304, 408, 409, 310, 415, 407, 270, 409, 410, 450, 348, 347, 422, 430, 434, 313,\n  314, 17, 306, 307, 375, 387, 388, 260, 286, 414, 398, 335, 406, 418, 364, 367, 416, 423, 358, 327, 251, 284, 298, 281, 5, 4, 373, 374, 253, 307, 320,\n  321, 425, 427, 411, 421, 313, 18, 321, 405, 406, 320, 404, 405, 315, 16, 17, 426, 425, 266, 377, 400, 369, 322, 391, 269, 417, 465, 464, 386, 257, 258,\n  466, 260, 388, 456, 399, 419, 284, 332, 333, 417, 285, 8, 346, 340, 261, 413, 441, 285, 327, 460, 328, 355, 371, 329, 392, 439, 438, 382, 341, 256,\n  429, 420, 360, 364, 394, 379, 277, 343, 437, 443, 444, 283, 275, 440, 363, 431, 262, 369, 297, 338, 337, 273, 375, 321, 450, 451, 349, 446, 342, 467,\n  293, 334, 282, 458, 461, 462, 276, 353, 383, 308, 324, 325, 276, 300, 293, 372, 345, 447, 382, 398, 362, 352, 345, 340, 274, 1, 19, 456, 248, 281, 436,\n  427, 425, 381, 256, 252, 269, 391, 393, 200, 199, 428, 266, 330, 329, 287, 273, 422, 250, 462, 328, 258, 286, 384, 265, 353, 342, 387, 259, 257, 424,\n  431, 430, 342, 353, 276, 273, 335, 424, 292, 325, 307, 366, 447, 345, 271, 303, 302, 423, 266, 371, 294, 455, 460, 279, 278, 294, 271, 272, 304, 432,\n  434, 427, 272, 407, 408, 394, 430, 431, 395, 369, 400, 334, 333, 299, 351, 417, 168, 352, 280, 411, 325, 319, 320, 295, 296, 336, 319, 403, 404, 330,\n  348, 349, 293, 298, 333, 323, 454, 447, 15, 16, 315, 358, 429, 279, 14, 15, 316, 285, 336, 9, 329, 349, 350, 374, 380, 252, 318, 402, 403, 6, 197, 419,\n  318, 319, 325, 367, 364, 365, 435, 367, 397, 344, 438, 439, 272, 271, 311, 195, 5, 281, 273, 287, 291, 396, 428, 199, 311, 271, 268, 283, 444, 445,\n  373, 254, 339, 263, 466, 249, 282, 334, 296, 449, 347, 346, 264, 447, 454, 336, 296, 299, 338, 10, 151, 278, 439, 455, 292, 407, 415, 358, 371, 355,\n  340, 345, 372, 390, 249, 466, 346, 347, 280, 442, 443, 282, 19, 94, 370, 441, 442, 295, 248, 419, 197, 263, 255, 359, 440, 275, 274, 300, 383, 368,\n  351, 412, 465, 263, 467, 466, 301, 368, 389, 380, 374, 386, 395, 378, 379, 412, 351, 419, 436, 426, 322, 373, 390, 388, 2, 164, 393, 370, 462, 461,\n  164, 0, 267, 302, 11, 12, 374, 373, 387, 268, 12, 13, 293, 300, 301, 446, 261, 340, 385, 384, 381, 330, 266, 425, 426, 423, 391, 429, 355, 437, 391,\n  327, 326, 440, 457, 438, 341, 382, 362, 459, 457, 461, 434, 430, 394, 414, 463, 362, 396, 369, 262, 354, 461, 457, 316, 403, 402, 315, 404, 403, 314,\n  405, 404, 313, 406, 405, 421, 418, 406, 366, 401, 361, 306, 408, 407, 291, 409, 408, 287, 410, 409, 432, 436, 410, 434, 416, 411, 264, 368, 383, 309,\n  438, 457, 352, 376, 401, 274, 275, 4, 421, 428, 262, 294, 327, 358, 433, 416, 367, 289, 455, 439, 462, 370, 326, 2, 326, 370, 305, 460, 455, 254,\n  449, 448, 255, 261, 446, 253, 450, 449, 252, 451, 450, 256, 452, 451, 341, 453, 452, 413, 464, 463, 441, 413, 414, 258, 442, 441, 257, 443, 442, 259,\n  444, 443, 260, 445, 444, 467, 342, 445, 459, 458, 250, 289, 392, 290, 290, 328, 460, 376, 433, 435, 250, 290, 392, 411, 416, 433, 341, 463, 464, 453,\n  464, 465, 357, 465, 412, 343, 412, 399, 360, 363, 440, 437, 399, 456, 420, 456, 363, 401, 435, 288, 372, 383, 353, 339, 255, 249, 448, 261, 255, 133,\n  243, 190, 133, 155, 112, 33, 246, 247, 33, 130, 25, 398, 384, 286, 362, 398, 414, 362, 463, 341, 263, 359, 467, 263, 249, 255, 466, 467, 260, 75, 60,\n  166, 238, 239, 79, 162, 127, 139, 72, 11, 37, 121, 232, 120, 73, 72, 39, 114, 128, 47, 233, 232, 128, 103, 104, 67, 152, 175, 148, 173, 157, 155,\n  119, 118, 101, 74, 73, 40, 107, 9, 108, 49, 48, 131, 32, 194, 211, 184, 74, 185, 191, 80, 183, 185, 40, 186, 119, 230, 118, 210, 202, 214, 84, 83, 17,\n  77, 76, 146, 161, 160, 30, 190, 56, 173, 182, 106, 194, 138, 135, 192, 129, 203, 98, 54, 21, 68, 5, 51, 4, 145, 144, 23, 90, 77, 91, 207, 205, 187, 83,\n  201, 18, 181, 91, 182, 180, 90, 181, 16, 85, 17, 205, 206, 36, 176, 148, 140, 165, 92, 39, 245, 193, 244, 27, 159, 28, 30, 247, 161, 174, 236, 196,\n  103, 54, 104, 55, 193, 8, 111, 117, 31, 221, 189, 55, 240, 98, 99, 142, 126, 100, 219, 166, 218, 112, 155, 26, 198, 209, 131, 169, 135, 150, 114, 47,\n  217, 224, 223, 53, 220, 45, 134, 32, 211, 140, 109, 67, 108, 146, 43, 91, 231, 230, 120, 113, 226, 247, 105, 63, 52, 241, 238, 242, 124, 46, 156, 95,\n  78, 96, 70, 46, 63, 116, 143, 227, 116, 123, 111, 1, 44, 19, 3, 236, 51, 207, 216, 205, 26, 154, 22, 165, 39, 167, 199, 200, 208, 101, 36, 100, 43,\n  57, 202, 242, 20, 99, 56, 28, 157, 124, 35, 113, 29, 160, 27, 211, 204, 210, 124, 113, 46, 106, 43, 204, 96, 62, 77, 227, 137, 116, 73, 41, 72, 36, 203,\n  142, 235, 64, 240, 48, 49, 64, 42, 41, 74, 214, 212, 207, 183, 42, 184, 210, 169, 211, 140, 170, 176, 104, 105, 69, 193, 122, 168, 50, 123, 187, 89, 96,\n  90, 66, 65, 107, 179, 89, 180, 119, 101, 120, 68, 63, 104, 234, 93, 227, 16, 15, 85, 209, 129, 49, 15, 14, 86, 107, 55, 9, 120, 100, 121, 153, 145, 22,\n  178, 88, 179, 197, 6, 196, 89, 88, 96, 135, 138, 136, 138, 215, 172, 218, 115, 219, 41, 42, 81, 5, 195, 51, 57, 43, 61, 208, 171, 199, 41, 81, 38,\n  224, 53, 225, 24, 144, 110, 105, 52, 66, 118, 229, 117, 227, 34, 234, 66, 107, 69, 10, 109, 151, 219, 48, 235, 183, 62, 191, 142, 129, 126, 116, 111,\n  143, 7, 163, 246, 118, 117, 50, 223, 222, 52, 94, 19, 141, 222, 221, 65, 196, 3, 197, 45, 220, 44, 156, 70, 139, 188, 122, 245, 139, 71, 162, 145,\n  153, 159, 149, 170, 150, 122, 188, 196, 206, 216, 92, 163, 144, 161, 164, 2, 167, 242, 141, 241, 0, 164, 37, 11, 72, 12, 144, 145, 160, 12, 38, 13, 70,\n  63, 71, 31, 226, 111, 157, 158, 154, 36, 101, 205, 203, 206, 165, 126, 209, 217, 98, 165, 97, 237, 220, 218, 237, 239, 241, 210, 214, 169, 140, 171, 32,\n  241, 125, 237, 179, 86, 178, 180, 85, 179, 181, 84, 180, 182, 83, 181, 194, 201, 182, 177, 137, 132, 184, 76, 183, 185, 61, 184, 186, 57, 185, 216, 212,\n  186, 192, 214, 187, 139, 34, 156, 218, 79, 237, 147, 123, 177, 45, 44, 4, 208, 201, 32, 98, 64, 129, 192, 213, 138, 235, 59, 219, 141, 242, 97, 97, 2,\n  141, 240, 75, 235, 229, 24, 228, 31, 25, 226, 230, 23, 229, 231, 22, 230, 232, 26, 231, 233, 112, 232, 244, 189, 243, 189, 221, 190, 222, 28, 221,\n  223, 27, 222, 224, 29, 223, 225, 30, 224, 113, 247, 225, 99, 60, 240, 213, 147, 215, 60, 20, 166, 192, 187, 213, 243, 112, 244, 244, 233, 245, 245,\n  128, 188, 188, 114, 174, 134, 131, 220, 174, 217, 236, 236, 198, 134, 215, 177, 58, 156, 143, 124, 25, 110, 7, 31, 228, 25, 264, 356, 368, 0, 11, 267,\n  451, 452, 349, 267, 302, 269, 350, 357, 277, 350, 452, 357, 299, 333, 297, 396, 175, 377, 381, 384, 382, 280, 347, 330, 269, 303, 270, 151, 9, 337,\n  344, 278, 360, 424, 418, 431, 270, 304, 409, 272, 310, 407, 322, 270, 410, 449, 450, 347, 432, 422, 434, 18, 313, 17, 291, 306, 375, 259, 387, 260,\n  424, 335, 418, 434, 364, 416, 391, 423, 327, 301, 251, 298, 275, 281, 4, 254, 373, 253, 375, 307, 321, 280, 425, 411, 200, 421, 18, 335, 321, 406,\n  321, 320, 405, 314, 315, 17, 423, 426, 266, 396, 377, 369, 270, 322, 269, 413, 417, 464, 385, 386, 258, 248, 456, 419, 298, 284, 333, 168, 417, 8,\n  448, 346, 261, 417, 413, 285, 326, 327, 328, 277, 355, 329, 309, 392, 438, 381, 382, 256, 279, 429, 360, 365, 364, 379, 355, 277, 437, 282, 443, 283,\n  281, 275, 363, 395, 431, 369, 299, 297, 337, 335, 273, 321, 348, 450, 349, 359, 446, 467, 283, 293, 282, 250, 458, 462, 300, 276, 383, 292, 308, 325,\n  283, 276, 293, 264, 372, 447, 346, 352, 340, 354, 274, 19, 363, 456, 281, 426, 436, 425, 380, 381, 252, 267, 269, 393, 421, 200, 428, 371, 266, 329,\n  432, 287, 422, 290, 250, 328, 385, 258, 384, 446, 265, 342, 386, 387, 257, 422, 424, 430, 445, 342, 276, 422, 273, 424, 306, 292, 307, 352, 366, 345,\n  268, 271, 302, 358, 423, 371, 327, 294, 460, 331, 279, 294, 303, 271, 304, 436, 432, 427, 304, 272, 408, 395, 394, 431, 378, 395, 400, 296, 334, 299,\n  6, 351, 168, 376, 352, 411, 307, 325, 320, 285, 295, 336, 320, 319, 404, 329, 330, 349, 334, 293, 333, 366, 323, 447, 316, 15, 315, 331, 358, 279,\n  317, 14, 316, 8, 285, 9, 277, 329, 350, 253, 374, 252, 319, 318, 403, 351, 6, 419, 324, 318, 325, 397, 367, 365, 288, 435, 397, 278, 344, 439, 310,\n  272, 311, 248, 195, 281, 375, 273, 291, 175, 396, 199, 312, 311, 268, 276, 283, 445, 390, 373, 339, 295, 282, 296, 448, 449, 346, 356, 264, 454, 337,\n  336, 299, 337, 338, 151, 294, 278, 455, 308, 292, 415, 429, 358, 355, 265, 340, 372, 388, 390, 466, 352, 346, 280, 295, 442, 282, 354, 19, 370, 285,\n  441, 295, 195, 248, 197, 457, 440, 274, 301, 300, 368, 417, 351, 465, 251, 301, 389, 385, 380, 386, 394, 395, 379, 399, 412, 419, 410, 436, 322, 387,\n  373, 388, 326, 2, 393, 354, 370, 461, 393, 164, 267, 268, 302, 12, 386, 374, 387, 312, 268, 13, 298, 293, 301, 265, 446, 340, 380, 385, 381, 280, 330,\n  425, 322, 426, 391, 420, 429, 437, 393, 391, 326, 344, 440, 438, 458, 459, 461, 364, 434, 394, 428, 396, 262, 274, 354, 457, 317, 316, 402, 316, 315,\n  403, 315, 314, 404, 314, 313, 405, 313, 421, 406, 323, 366, 361, 292, 306, 407, 306, 291, 408, 291, 287, 409, 287, 432, 410, 427, 434, 411, 372, 264,\n  383, 459, 309, 457, 366, 352, 401, 1, 274, 4, 418, 421, 262, 331, 294, 358, 435, 433, 367, 392, 289, 439, 328, 462, 326, 94, 2, 370, 289, 305, 455, 339,\n  254, 448, 359, 255, 446, 254, 253, 449, 253, 252, 450, 252, 256, 451, 256, 341, 452, 414, 413, 463, 286, 441, 414, 286, 258, 441, 258, 257, 442, 257,\n  259, 443, 259, 260, 444, 260, 467, 445, 309, 459, 250, 305, 289, 290, 305, 290, 460, 401, 376, 435, 309, 250, 392, 376, 411, 433, 453, 341, 464, 357,\n  453, 465, 343, 357, 412, 437, 343, 399, 344, 360, 440, 420, 437, 456, 360, 420, 363, 361, 401, 288, 265, 372, 353, 390, 339, 249, 339, 448, 255];\n\nexport const TRI68 = [0, 1, 36, 0, 36, 17, 1, 2, 41, 1, 41, 36, 2, 3, 31, 2, 31, 41, 3, 4, 48, 3, 48, 31, 4, 5, 48, 5, 6, 48, 6, 7, 59, 6, 59, 48, 7, 8, 58, 7, 58, 59,\n  8, 9, 56, 8, 56, 57, 8, 57, 58, 9, 10, 55, 9, 55, 56, 10, 11, 54, 10, 54, 55, 11, 12, 54, 12, 13, 54, 13, 14, 35, 13, 35, 54, 14, 15, 46, 14, 46, 35, 15, 16,\n  45, 15, 45, 46, 16, 26, 45, 17, 36, 18, 18, 37, 19, 18, 36, 37, 19, 38, 20, 19, 37, 38, 20, 39, 21, 20, 38, 39, 21, 39, 27, 22, 42, 23, 22, 27, 42, 23, 43, 24,\n  23, 42, 43, 24, 44, 25, 24, 43, 44, 25, 45, 26, 25, 44, 45, 27, 39, 28, 27, 28, 42, 28, 39, 29, 28, 29, 42, 29, 31, 30, 29, 30, 35, 29, 40, 31, 29, 35, 47, 29,\n  39, 40, 29, 47, 42, 30, 31, 32, 30, 32, 33, 30, 33, 34, 30, 34, 35, 31, 50, 32, 31, 40, 41, 31, 48, 49, 31, 49, 50, 32, 51, 33, 32, 50, 51, 33, 51, 34, 34, 52,\n  35, 34, 51, 52, 35, 46, 47, 35, 52, 53, 35, 53, 54, 36, 41, 37, 37, 40, 38, 37, 41, 40, 38, 40, 39, 42, 47, 43, 43, 47, 44, 44, 46, 45, 44, 47, 46, 48, 60, 49,\n  48, 59, 60, 49, 61, 50, 49, 60, 61, 50, 62, 51, 50, 61, 62, 51, 62, 52, 52, 63, 53, 52, 62, 63, 53, 64, 54, 53, 63, 64, 54, 64, 55, 55, 65, 56, 55, 64, 65, 56,\n  66, 57, 56, 65, 66, 57, 66, 58, 58, 67, 59, 58, 66, 67, 59, 67, 60, 60, 67, 61, 61, 66, 62, 61, 67, 66, 62, 66, 63, 63, 65, 64, 63, 66, 65, 21, 27, 22];\n\nexport const TRI33 = [\n  /*  eyes  */ 0, 8, 7, 7, 8, 1, 2, 10, 9, 9, 10, 3,\n  /*  brows */ 17, 0, 18, 18, 0, 7, 18, 7, 19, 19, 7, 1, 19, 1, 11, 19, 11, 20, 21, 3, 22, 21, 9, 3, 20, 9, 21, 20, 2, 9, 20, 11, 2,\n  /*  4head */ 23, 17, 18, 25, 21, 22, 24, 19, 20, 24, 18, 19, 24, 20, 21, 24, 23, 18, 24, 21, 25,\n  /*  nose  */ 11, 12, 4, 11, 4, 13, 1, 12, 11, 11, 13, 2, 12, 14, 4, 4, 14, 13,\n  /* up-lip */ 14, 5, 15, 14, 15, 6, 12, 5, 14, 14, 6, 13,\n  /* cheeks */ 8, 12, 1, 2, 13, 10, 8, 26, 12, 10, 13, 27, 26, 5, 12, 13, 6, 27, 0, 26, 8, 10, 27, 3,\n  /*  chin  */ 5, 32, 16, 16, 32, 6, 5, 30, 32, 6, 32, 31,\n  /*  cont  */ 26, 30, 5, 27, 6, 31, 0, 28, 26, 3, 27, 29, 17, 28, 0, 3, 29, 22, 23, 28, 17, 22, 29, 25, 28, 30, 26, 27, 31, 29,\n];\n\nexport const TRI7 = [0, 4, 1, 2, 4, 3, 4, 5, 6];\n\nexport const VTX68 = [\n  /* cont  */ 127, 234, 132, 58, 172, 150, 149, 148, 152, 377, 378, 379, 397, 288, 361, 454, 356,\n  /* brows */ 70, 63, 105, 66, 107, 336, 296, 334, 293, 300,\n  /* nose  */ 168, 6, 195, 4, 98, 97, 2, 326, 327,\n  /* eyes  */ 33, 160, 158, 133, 153, 144, 362, 385, 387, 263, 373, 380,\n  /* lip   */ 57, 40, 37, 0, 267, 270, 287, 321, 314, 17, 84, 91,\n  /* mouth */ 78, 81, 13, 311, 308, 402, 14, 178,\n];\n\nexport const VTX33 = [33, 133, 362, 263, 1, 62, 308, 159, 145, 386, 374, 6, 102, 331, 2, 13, 14, 70, 105, 107, 336, 334, 300, 54, 10, 284, 50, 280, 234, 454, 58, 288, 152];\n\nexport const VTX7 = [33, 133, 362, 263, 1, 78, 308];\n\nexport const UV68 = VTX68.map((x) => UV468[x]);\n\nexport const UV33 = VTX33.map((x) => UV468[x]);\n\nexport const UV7 = VTX7.map((x) => UV468[x]);\n", "import { log } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\nimport * as modelBase from './modelBase';\nimport * as decodeMultiple from './decodeMultiple';\nimport * as decodePose from './decodePose';\nimport * as util from './util';\n\nasync function estimateMultiple(input, res, config, inputSize) {\n  return new Promise(async (resolve) => {\n    const allTensorBuffers = await util.toTensorBuffers3D([res.heatmapScores, res.offsets, res.displacementFwd, res.displacementBwd]);\n    const scoresBuffer = allTensorBuffers[0];\n    const offsetsBuffer = allTensorBuffers[1];\n    const displacementsFwdBuffer = allTensorBuffers[2];\n    const displacementsBwdBuffer = allTensorBuffers[3];\n    const poses = await decodeMultiple.decodeMultiplePoses(scoresBuffer, offsetsBuffer, displacementsFwdBuffer, displacementsBwdBuffer, config.body.nmsRadius, config.body.maxDetections, config.body.scoreThreshold);\n    const scaled = util.scaleAndFlipPoses(poses, [input.shape[1], input.shape[2]], [inputSize, inputSize]);\n    resolve(scaled);\n  });\n}\n\nasync function estimateSingle(input, res, config, inputSize) {\n  return new Promise(async (resolve) => {\n    const pose = await decodePose.decodeSinglePose(res.heatmapScores, res.offsets, config.body.scoreThreshold);\n    const scaled = util.scaleAndFlipPoses([pose], [input.shape[1], input.shape[2]], [inputSize, inputSize]);\n    resolve(scaled);\n  });\n}\n\nexport class PoseNet {\n  baseModel: any;\n  inputSize: number\n  constructor(model) {\n    this.baseModel = model;\n    this.inputSize = model.model.inputs[0].shape[1];\n    if (this.inputSize < 128) this.inputSize = 257;\n  }\n\n  async estimatePoses(input, config) {\n    const resized = util.resizeTo(input, [this.inputSize, this.inputSize]);\n    const res = this.baseModel.predict(resized, config);\n\n    const poses = (config.body.maxDetections < 2)\n      ? await estimateSingle(input, res, config, this.inputSize)\n      : await estimateMultiple(input, res, config, this.inputSize);\n\n    res.heatmapScores.dispose();\n    res.offsets.dispose();\n    res.displacementFwd.dispose();\n    res.displacementBwd.dispose();\n    resized.dispose();\n\n    return poses;\n  }\n\n  dispose() {\n    this.baseModel.dispose();\n  }\n}\n\nexport async function load(config) {\n  const model = await tf.loadGraphModel(config.body.modelPath);\n  const mobilenet = new modelBase.BaseModel(model);\n  if (config.debug) log(`load model: ${config.body.modelPath.match(/\\/(.*)\\./)[1]}`);\n  return new PoseNet(mobilenet);\n}\n", "import * as tf from '../../dist/tfjs.esm.js';\n\nfunction nameOutputResultsMobileNet(results) {\n  const [offsets, heatmap, displacementFwd, displacementBwd] = results;\n  return { offsets, heatmap, displacementFwd, displacementBwd };\n}\n\nexport class BaseModel {\n  model: any;\n  constructor(model) {\n    this.model = model;\n  }\n\n  predict(input) {\n    return tf.tidy(() => {\n      const asFloat = input.toFloat().div(127.5).sub(1.0);\n      const asBatch = asFloat.expandDims(0);\n      const results = this.model.predict(asBatch);\n      const results3d = results.map((y) => y.squeeze([0]));\n      const namedResults = nameOutputResultsMobileNet(results3d);\n      return {\n        heatmapScores: namedResults.heatmap.sigmoid(),\n        offsets: namedResults.offsets,\n        displacementFwd: namedResults.displacementFwd,\n        displacementBwd: namedResults.displacementBwd,\n      };\n    });\n  }\n\n  dispose() {\n    this.model.dispose();\n  }\n}\n", "// algorithm based on Coursera Lecture from Algorithms, Part 1: https://www.coursera.org/learn/algorithms-part1/lecture/ZjoSM/heapsort\nfunction half(k) {\n  return Math.floor(k / 2);\n}\nexport class MaxHeap {\n  priorityQueue: any;\n  numberOfElements: number;\n  getElementValue: any;\n\n  constructor(maxSize, getElementValue) {\n    this.priorityQueue = new Array(maxSize);\n    this.numberOfElements = -1;\n    this.getElementValue = getElementValue;\n  }\n\n  enqueue(x) {\n    this.priorityQueue[++this.numberOfElements] = x;\n    this.swim(this.numberOfElements);\n  }\n\n  dequeue() {\n    const max = this.priorityQueue[0];\n    this.exchange(0, this.numberOfElements--);\n    this.sink(0);\n    this.priorityQueue[this.numberOfElements + 1] = null;\n    return max;\n  }\n\n  empty() {\n    return this.numberOfElements === -1;\n  }\n\n  size() {\n    return this.numberOfElements + 1;\n  }\n\n  all() {\n    return this.priorityQueue.slice(0, this.numberOfElements + 1);\n  }\n\n  max() {\n    return this.priorityQueue[0];\n  }\n\n  swim(k) {\n    while (k > 0 && this.less(half(k), k)) {\n      this.exchange(k, half(k));\n      k = half(k);\n    }\n  }\n\n  sink(k) {\n    while (2 * k <= this.numberOfElements) {\n      let j = 2 * k;\n      if (j < this.numberOfElements && this.less(j, j + 1)) j++;\n      if (!this.less(k, j)) break;\n      this.exchange(k, j);\n      k = j;\n    }\n  }\n\n  getValueAt(i) {\n    return this.getElementValue(this.priorityQueue[i]);\n  }\n\n  less(i, j) {\n    return this.getValueAt(i) < this.getValueAt(j);\n  }\n\n  exchange(i, j) {\n    const t = this.priorityQueue[i];\n    this.priorityQueue[i] = this.priorityQueue[j];\n    this.priorityQueue[j] = t;\n  }\n}\n", "import * as heapSort from './heapSort';\n\nfunction scoreIsMaximumInLocalWindow(keypointId, score, heatmapY, heatmapX, localMaximumRadius, scores) {\n  const [height, width] = scores.shape;\n  let localMaximum = true;\n  const yStart = Math.max(heatmapY - localMaximumRadius, 0);\n  const yEnd = Math.min(heatmapY + localMaximumRadius + 1, height);\n  for (let yCurrent = yStart; yCurrent < yEnd; ++yCurrent) {\n    const xStart = Math.max(heatmapX - localMaximumRadius, 0);\n    const xEnd = Math.min(heatmapX + localMaximumRadius + 1, width);\n    for (let xCurrent = xStart; xCurrent < xEnd; ++xCurrent) {\n      if (scores.get(yCurrent, xCurrent, keypointId) > score) {\n        localMaximum = false;\n        break;\n      }\n    }\n    if (!localMaximum) break;\n  }\n  return localMaximum;\n}\n\nexport function buildPartWithScoreQueue(scoreThreshold, localMaximumRadius, scores) {\n  const [height, width, numKeypoints] = scores.shape;\n  const queue = new heapSort.MaxHeap(height * width * numKeypoints, ({ score }) => score);\n  for (let heatmapY = 0; heatmapY < height; ++heatmapY) {\n    for (let heatmapX = 0; heatmapX < width; ++heatmapX) {\n      for (let keypointId = 0; keypointId < numKeypoints; ++keypointId) {\n        const score = scores.get(heatmapY, heatmapX, keypointId);\n        // Only consider parts with score greater or equal to threshold as root candidates.\n        if (score < scoreThreshold) continue;\n        // Only consider keypoints whose score is maximum in a local window.\n        if (scoreIsMaximumInLocalWindow(keypointId, score, heatmapY, heatmapX, localMaximumRadius, scores)) {\n          queue.enqueue({ score, part: { heatmapY, heatmapX, id: keypointId } });\n        }\n      }\n    }\n  }\n  return queue;\n}\n", "export const partNames = [\n  'nose', 'leftEye', 'rightEye', 'leftEar', 'rightEar', 'leftShoulder',\n  'rightShoulder', 'leftElbow', 'rightElbow', 'leftWrist', 'rightWrist',\n  'leftHip', 'rightHip', 'leftKnee', 'rightKnee', 'leftAnkle', 'rightAnkle',\n];\n\nexport const NUM_KEYPOINTS = partNames.length; // 17 keypoints\n\nexport const partIds = partNames.reduce((result, jointName, i) => {\n  result[jointName] = i;\n  return result;\n}, {});\n\nconst connectedPartNames = [\n  ['leftHip', 'leftShoulder'], ['leftElbow', 'leftShoulder'],\n  ['leftElbow', 'leftWrist'], ['leftHip', 'leftKnee'],\n  ['leftKnee', 'leftAnkle'], ['rightHip', 'rightShoulder'],\n  ['rightElbow', 'rightShoulder'], ['rightElbow', 'rightWrist'],\n  ['rightHip', 'rightKnee'], ['rightKnee', 'rightAnkle'],\n  ['leftShoulder', 'rightShoulder'], ['leftHip', 'rightHip'],\n];\nexport const connectedPartIndices = connectedPartNames.map(([jointNameA, jointNameB]) => ([partIds[jointNameA], partIds[jointNameB]]));\n\nexport const poseChain = [\n  ['nose', 'leftEye'], ['leftEye', 'leftEar'], ['nose', 'rightEye'],\n  ['rightEye', 'rightEar'], ['nose', 'leftShoulder'],\n  ['leftShoulder', 'leftElbow'], ['leftElbow', 'leftWrist'],\n  ['leftShoulder', 'leftHip'], ['leftHip', 'leftKnee'],\n  ['leftKnee', 'leftAnkle'], ['nose', 'rightShoulder'],\n  ['rightShoulder', 'rightElbow'], ['rightElbow', 'rightWrist'],\n  ['rightShoulder', 'rightHip'], ['rightHip', 'rightKnee'],\n  ['rightKnee', 'rightAnkle'],\n];\n\nexport const partChannels = [\n  'left_face',\n  'right_face',\n  'right_upper_leg_front',\n  'right_lower_leg_back',\n  'right_upper_leg_back',\n  'left_lower_leg_front',\n  'left_upper_leg_front',\n  'left_upper_leg_back',\n  'left_lower_leg_back',\n  'right_feet',\n  'right_lower_leg_front',\n  'left_feet',\n  'torso_front',\n  'torso_back',\n  'right_upper_arm_front',\n  'right_upper_arm_back',\n  'right_lower_arm_back',\n  'left_lower_arm_front',\n  'left_upper_arm_front',\n  'left_upper_arm_back',\n  'left_lower_arm_back',\n  'right_hand',\n  'right_lower_arm_front',\n  'left_hand',\n];\n", "import * as kpt from './keypoints';\n\nexport function getOffsetPoint(y, x, keypoint, offsets) {\n  return {\n    y: offsets.get(y, x, keypoint),\n    x: offsets.get(y, x, keypoint + kpt.NUM_KEYPOINTS),\n  };\n}\n\nexport function getImageCoords(part, outputStride, offsets) {\n  const { heatmapY, heatmapX, id: keypoint } = part;\n  const { y, x } = getOffsetPoint(heatmapY, heatmapX, keypoint, offsets);\n  return {\n    x: part.heatmapX * outputStride + x,\n    y: part.heatmapY * outputStride + y,\n  };\n}\n\nexport function fillArray(element, size) {\n  const result = new Array(size);\n  for (let i = 0; i < size; i++) {\n    result[i] = element;\n  }\n  return result;\n}\n\nexport function clamp(a, min, max) {\n  if (a < min) return min;\n  if (a > max) return max;\n  return a;\n}\n\nexport function squaredDistance(y1, x1, y2, x2) {\n  const dy = y2 - y1;\n  const dx = x2 - x1;\n  return dy * dy + dx * dx;\n}\n\nexport function addVectors(a, b) {\n  return { x: a.x + b.x, y: a.y + b.y };\n}\n\nexport function clampVector(a, min, max) {\n  return { y: clamp(a.y, min, max), x: clamp(a.x, min, max) };\n}\n", "import * as tf from '../../dist/tfjs.esm.js';\nimport * as kpt from './keypoints';\n\nexport function getPointsConfidence(heatmapScores, heatMapCoords) {\n  const numKeypoints = heatMapCoords.shape[0];\n  const result = new Float32Array(numKeypoints);\n  for (let keypoint = 0; keypoint < numKeypoints; keypoint++) {\n    const y = heatMapCoords.get(keypoint, 0);\n    const x = heatMapCoords.get(keypoint, 1);\n    result[keypoint] = heatmapScores.get(y, x, keypoint);\n  }\n  return result;\n}\n\nfunction getOffsetPoint(y, x, keypoint, offsetsBuffer) {\n  return {\n    y: offsetsBuffer.get(y, x, keypoint),\n    x: offsetsBuffer.get(y, x, keypoint + kpt.NUM_KEYPOINTS),\n  };\n}\n\nexport function getOffsetVectors(heatMapCoordsBuffer, offsetsBuffer) {\n  const result: Array<number> = [];\n  for (let keypoint = 0; keypoint < kpt.NUM_KEYPOINTS; keypoint++) {\n    const heatmapY = heatMapCoordsBuffer.get(keypoint, 0).valueOf();\n    const heatmapX = heatMapCoordsBuffer.get(keypoint, 1).valueOf();\n    const { x, y } = getOffsetPoint(heatmapY, heatmapX, keypoint, offsetsBuffer);\n    result.push(y);\n    result.push(x);\n  }\n  return tf.tensor2d(result, [kpt.NUM_KEYPOINTS, 2]);\n}\n\nexport function getOffsetPoints(heatMapCoordsBuffer, outputStride, offsetsBuffer) {\n  return tf.tidy(() => heatMapCoordsBuffer.toTensor().mul(tf.scalar(outputStride, 'int32')).toFloat().add(getOffsetVectors(heatMapCoordsBuffer, offsetsBuffer)));\n}\n\nfunction mod(a, b) {\n  return tf.tidy(() => {\n    const floored = a.div(tf.scalar(b, 'int32'));\n    return a.sub(floored.mul(tf.scalar(b, 'int32')));\n  });\n}\n\nexport function argmax2d(inputs) {\n  const [height, width, depth] = inputs.shape;\n  return tf.tidy(() => {\n    const reshaped = inputs.reshape([height * width, depth]);\n    const coords = reshaped.argMax(0);\n    const yCoords = coords.div(tf.scalar(width, 'int32')).expandDims(1);\n    const xCoords = mod(coords, width).expandDims(1);\n    return tf.concat([yCoords, xCoords], 1);\n  });\n}\n", "import * as keypoints from './keypoints';\nimport * as vectors from './vectors';\nimport * as decoders from './decoders';\n\nconst parentChildrenTuples = keypoints.poseChain.map(([parentJoinName, childJoinName]) => ([keypoints.partIds[parentJoinName], keypoints.partIds[childJoinName]]));\nconst parentToChildEdges = parentChildrenTuples.map(([, childJointId]) => childJointId);\nconst childToParentEdges = parentChildrenTuples.map(([parentJointId]) => parentJointId);\n\nconst defaultOutputStride = 16;\n\nfunction getDisplacement(edgeId, point, displacements) {\n  const numEdges = displacements.shape[2] / 2;\n  return {\n    y: displacements.get(point.y, point.x, edgeId),\n    x: displacements.get(point.y, point.x, numEdges + edgeId),\n  };\n}\n\nfunction getStridedIndexNearPoint(point, outputStride, height, width) {\n  return {\n    y: vectors.clamp(Math.round(point.y / outputStride), 0, height - 1),\n    x: vectors.clamp(Math.round(point.x / outputStride), 0, width - 1),\n  };\n}\n\nfunction traverseToTargetKeypoint(edgeId, sourceKeypoint, targetKeypointId, scoresBuffer, offsets, outputStride, displacements, offsetRefineStep = 2) {\n  const [height, width] = scoresBuffer.shape;\n  // Nearest neighbor interpolation for the source->target displacements.\n  const sourceKeypointIndices = getStridedIndexNearPoint(sourceKeypoint.position, outputStride, height, width);\n  const displacement = getDisplacement(edgeId, sourceKeypointIndices, displacements);\n  const displacedPoint = vectors.addVectors(sourceKeypoint.position, displacement);\n  let targetKeypoint = displacedPoint;\n  for (let i = 0; i < offsetRefineStep; i++) {\n    const targetKeypointIndices = getStridedIndexNearPoint(targetKeypoint, outputStride, height, width);\n    const offsetPoint = vectors.getOffsetPoint(targetKeypointIndices.y, targetKeypointIndices.x, targetKeypointId, offsets);\n    targetKeypoint = vectors.addVectors({\n      x: targetKeypointIndices.x * outputStride,\n      y: targetKeypointIndices.y * outputStride,\n    }, { x: offsetPoint.x, y: offsetPoint.y });\n  }\n  const targetKeyPointIndices = getStridedIndexNearPoint(targetKeypoint, outputStride, height, width);\n  const score = scoresBuffer.get(targetKeyPointIndices.y, targetKeyPointIndices.x, targetKeypointId);\n  return { position: targetKeypoint, part: keypoints.partNames[targetKeypointId], score };\n}\n\nexport function decodePose(root, scores, offsets, outputStride, displacementsFwd, displacementsBwd) {\n  const numParts = scores.shape[2];\n  const numEdges = parentToChildEdges.length;\n  const instanceKeypoints = new Array(numParts);\n  // Start a new detection instance at the position of the root.\n  const { part: rootPart, score: rootScore } = root;\n  const rootPoint = vectors.getImageCoords(rootPart, outputStride, offsets);\n  instanceKeypoints[rootPart.id] = {\n    score: rootScore,\n    part: keypoints.partNames[rootPart.id],\n    position: rootPoint,\n  };\n  // Decode the part positions upwards in the tree, following the backward displacements.\n  for (let edge = numEdges - 1; edge >= 0; --edge) {\n    const sourceKeypointId = parentToChildEdges[edge];\n    const targetKeypointId = childToParentEdges[edge];\n    if (instanceKeypoints[sourceKeypointId] && !instanceKeypoints[targetKeypointId]) {\n      instanceKeypoints[targetKeypointId] = traverseToTargetKeypoint(edge, instanceKeypoints[sourceKeypointId], targetKeypointId, scores, offsets, outputStride, displacementsBwd);\n    }\n  }\n  // Decode the part positions downwards in the tree, following the forward displacements.\n  for (let edge = 0; edge < numEdges; ++edge) {\n    const sourceKeypointId = childToParentEdges[edge];\n    const targetKeypointId = parentToChildEdges[edge];\n    if (instanceKeypoints[sourceKeypointId] && !instanceKeypoints[targetKeypointId]) {\n      instanceKeypoints[targetKeypointId] = traverseToTargetKeypoint(edge, instanceKeypoints[sourceKeypointId], targetKeypointId, scores, offsets, outputStride, displacementsFwd);\n    }\n  }\n  return instanceKeypoints;\n}\n\nexport async function decodeSinglePose(heatmapScores, offsets, minScore) {\n  let totalScore = 0.0;\n  const heatmapValues = decoders.argmax2d(heatmapScores);\n  const allTensorBuffers = await Promise.all([heatmapScores.buffer(), offsets.buffer(), heatmapValues.buffer()]);\n  const scoresBuffer = allTensorBuffers[0];\n  const offsetsBuffer = allTensorBuffers[1];\n  const heatmapValuesBuffer = allTensorBuffers[2];\n  const offsetPoints = decoders.getOffsetPoints(heatmapValuesBuffer, defaultOutputStride, offsetsBuffer);\n  const offsetPointsBuffer = await offsetPoints.buffer();\n  const keypointConfidence = Array.from(decoders.getPointsConfidence(scoresBuffer, heatmapValuesBuffer));\n  const instanceKeypoints = keypointConfidence.map((score, i) => {\n    totalScore += score;\n    return {\n      position: {\n        y: offsetPointsBuffer.get(i, 0),\n        x: offsetPointsBuffer.get(i, 1),\n      },\n      part: keypoints.partNames[i],\n      score,\n    };\n  });\n  const filteredKeypoints = instanceKeypoints.filter((kpt) => kpt.score > minScore);\n  heatmapValues.dispose();\n  offsetPoints.dispose();\n  return { keypoints: filteredKeypoints, score: totalScore / instanceKeypoints.length };\n}\n", "import * as buildParts from './buildParts';\nimport * as decodePose from './decodePose';\nimport * as vectors from './vectors';\n\nconst kLocalMaximumRadius = 1;\nconst defaultOutputStride = 16;\n\nfunction withinNmsRadiusOfCorrespondingPoint(poses, squaredNmsRadius, { x, y }, keypointId) {\n  return poses.some(({ keypoints }) => {\n    const correspondingKeypoint = keypoints[keypointId].position;\n    return vectors.squaredDistance(y, x, correspondingKeypoint.y, correspondingKeypoint.x) <= squaredNmsRadius;\n  });\n}\n\nfunction getInstanceScore(existingPoses, squaredNmsRadius, instanceKeypoints) {\n  const notOverlappedKeypointScores = instanceKeypoints.reduce((result, { position, score }, keypointId) => {\n    if (!withinNmsRadiusOfCorrespondingPoint(existingPoses, squaredNmsRadius, position, keypointId)) result += score;\n    return result;\n  }, 0.0);\n  return notOverlappedKeypointScores / instanceKeypoints.length;\n}\n\nexport function decodeMultiplePoses(scoresBuffer, offsetsBuffer, displacementsFwdBuffer, displacementsBwdBuffer, nmsRadius, maxDetections, scoreThreshold) {\n  const poses: Array<{ keypoints: any, score: number }> = [];\n  const queue = buildParts.buildPartWithScoreQueue(scoreThreshold, kLocalMaximumRadius, scoresBuffer);\n  const squaredNmsRadius = nmsRadius ^ 2;\n  // Generate at most maxDetections object instances per image in decreasing root part score order.\n  while (poses.length < maxDetections && !queue.empty()) {\n    // The top element in the queue is the next root candidate.\n    const root = queue.dequeue();\n    // Part-based non-maximum suppression: We reject a root candidate if it is within a disk of `nmsRadius` pixels from the corresponding part of a previously detected instance.\n    const rootImageCoords = vectors.getImageCoords(root.part, defaultOutputStride, offsetsBuffer);\n    if (withinNmsRadiusOfCorrespondingPoint(poses, squaredNmsRadius, rootImageCoords, root.part.id)) continue;\n    // Else start a new detection instance at the position of the root.\n    const keypoints = decodePose.decodePose(root, scoresBuffer, offsetsBuffer, defaultOutputStride, displacementsFwdBuffer, displacementsBwdBuffer);\n    const score = getInstanceScore(poses, squaredNmsRadius, keypoints);\n    if (score > scoreThreshold) poses.push({ keypoints, score: Math.round(100 * score) / 100 });\n  }\n  return poses;\n}\n", "import * as kpt from './keypoints';\n\nexport function eitherPointDoesntMeetConfidence(a, b, minConfidence) {\n  return (a < minConfidence || b < minConfidence);\n}\n\nexport function getAdjacentKeyPoints(keypoints, minConfidence) {\n  return kpt.connectedPartIndices.reduce((result, [leftJoint, rightJoint]) => {\n    if (eitherPointDoesntMeetConfidence(keypoints[leftJoint].score, keypoints[rightJoint].score, minConfidence)) {\n      return result;\n    }\n    result.push([keypoints[leftJoint], keypoints[rightJoint]]);\n    return result;\n  }, []);\n}\n\nconst { NEGATIVE_INFINITY, POSITIVE_INFINITY } = Number;\nexport function getBoundingBox(keypoints) {\n  return keypoints.reduce(({ maxX, maxY, minX, minY }, { position: { x, y } }) => ({\n    maxX: Math.max(maxX, x),\n    maxY: Math.max(maxY, y),\n    minX: Math.min(minX, x),\n    minY: Math.min(minY, y),\n  }), {\n    maxX: NEGATIVE_INFINITY,\n    maxY: NEGATIVE_INFINITY,\n    minX: POSITIVE_INFINITY,\n    minY: POSITIVE_INFINITY,\n  });\n}\n\nexport function getBoundingBoxPoints(keypoints) {\n  const { minX, minY, maxX, maxY } = getBoundingBox(keypoints);\n  return [{ x: minX, y: minY }, { x: maxX, y: minY }, { x: maxX, y: maxY }, { x: minX, y: maxY }];\n}\n\nexport async function toTensorBuffers3D(tensors) {\n  return Promise.all(tensors.map((tensor) => tensor.buffer()));\n}\n\nexport function scalePose(pose, scaleY, scaleX) {\n  return {\n    score: pose.score,\n    keypoints: pose.keypoints.map(({ score, part, position }) => ({\n      score,\n      part,\n      position: { x: Math.trunc(position.x * scaleX), y: Math.trunc(position.y * scaleY) },\n    })),\n  };\n}\n\nexport function resizeTo(image, [targetH, targetW]) {\n  const input = image.squeeze(0);\n  const resized = input.resizeBilinear([targetH, targetW]);\n  input.dispose();\n  return resized;\n}\n\nexport function scaleAndFlipPoses(poses, [height, width], [inputResolutionHeight, inputResolutionWidth]) {\n  const scaledPoses = poses.map((pose) => scalePose(pose, height / inputResolutionHeight, width / inputResolutionWidth));\n  return scaledPoses;\n}\n", "// https://storage.googleapis.com/tfjs-models/demos/handpose/index.html\n\nimport { log } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\nimport * as handdetector from './handdetector';\nimport * as handpipeline from './handpipeline';\nimport * as anchors from './anchors';\n\nconst MESH_ANNOTATIONS = {\n  thumb: [1, 2, 3, 4],\n  indexFinger: [5, 6, 7, 8],\n  middleFinger: [9, 10, 11, 12],\n  ringFinger: [13, 14, 15, 16],\n  pinky: [17, 18, 19, 20],\n  palmBase: [0],\n};\n\nexport class HandPose {\n  handPipeline: any;\n\n  constructor(handPipeline) {\n    this.handPipeline = handPipeline;\n  }\n\n  static getAnnotations() {\n    return MESH_ANNOTATIONS;\n  }\n\n  async estimateHands(input, config) {\n    const predictions = await this.handPipeline.estimateHands(input, config);\n    if (!predictions) return [];\n    const hands: Array<{ confidence: number, box: any, boxRaw: any, landmarks: any, annotations: any }> = [];\n    for (const prediction of predictions) {\n      const annotations = {};\n      if (prediction.landmarks) {\n        for (const key of Object.keys(MESH_ANNOTATIONS)) {\n          annotations[key] = MESH_ANNOTATIONS[key].map((index) => prediction.landmarks[index]);\n        }\n      }\n      const box = prediction.box ? [\n        Math.max(0, prediction.box.topLeft[0]),\n        Math.max(0, prediction.box.topLeft[1]),\n        Math.min(input.shape[2], prediction.box.bottomRight[0]) - Math.max(0, prediction.box.topLeft[0]),\n        Math.min(input.shape[1], prediction.box.bottomRight[1]) - Math.max(0, prediction.box.topLeft[1]),\n      ] : [];\n      const boxRaw = [\n        (prediction.box.topLeft[0]) / input.shape[2],\n        (prediction.box.topLeft[1]) / input.shape[1],\n        (prediction.box.bottomRight[0] - prediction.box.topLeft[0]) / input.shape[2],\n        (prediction.box.bottomRight[1] - prediction.box.topLeft[1]) / input.shape[1],\n      ];\n      hands.push({ confidence: Math.round(100 * prediction.confidence) / 100, box, boxRaw, landmarks: prediction.landmarks, annotations });\n    }\n    return hands;\n  }\n}\n\nexport async function load(config): Promise<HandPose> {\n  const [handDetectorModel, handPoseModel] = await Promise.all([\n    config.hand.enabled ? tf.loadGraphModel(config.hand.detector.modelPath, { fromTFHub: config.hand.detector.modelPath.includes('tfhub.dev') }) : null,\n    config.hand.landmarks ? tf.loadGraphModel(config.hand.skeleton.modelPath, { fromTFHub: config.hand.skeleton.modelPath.includes('tfhub.dev') }) : null,\n  ]);\n  const handDetector = new handdetector.HandDetector(handDetectorModel, handDetectorModel?.inputs[0].shape[2], anchors.anchors);\n  const handPipeline = new handpipeline.HandPipeline(handDetector, handPoseModel, handPoseModel?.inputs[0].shape[2]);\n  const handPose = new HandPose(handPipeline);\n  if (config.hand.enabled && config.debug) log(`load model: ${config.hand.detector.modelPath.match(/\\/(.*)\\./)[1]}`);\n  if (config.hand.landmarks && config.debug) log(`load model: ${config.hand.skeleton.modelPath.match(/\\/(.*)\\./)[1]}`);\n  return handPose;\n}\n", "import * as tf from '../../dist/tfjs.esm.js';\nimport * as box from './box';\n\nexport class HandDetector {\n  model: any;\n  anchors: any;\n  anchorsTensor: any;\n  inputSize: number;\n  inputSizeTensor: any;\n  doubleInputSizeTensor: any;\n\n  constructor(model, inputSize, anchorsAnnotated) {\n    this.model = model;\n    this.anchors = anchorsAnnotated.map((anchor) => [anchor.x_center, anchor.y_center]);\n    this.anchorsTensor = tf.tensor2d(this.anchors);\n    this.inputSize = inputSize;\n    this.inputSizeTensor = tf.tensor1d([inputSize, inputSize]);\n    this.doubleInputSizeTensor = tf.tensor1d([inputSize * 2, inputSize * 2]);\n  }\n\n  normalizeBoxes(boxes) {\n    return tf.tidy(() => {\n      const boxOffsets = tf.slice(boxes, [0, 0], [-1, 2]);\n      const boxSizes = tf.slice(boxes, [0, 2], [-1, 2]);\n      const boxCenterPoints = tf.add(tf.div(boxOffsets, this.inputSizeTensor), this.anchorsTensor);\n      const halfBoxSizes = tf.div(boxSizes, this.doubleInputSizeTensor);\n      const startPoints = tf.mul(tf.sub(boxCenterPoints, halfBoxSizes), this.inputSizeTensor);\n      const endPoints = tf.mul(tf.add(boxCenterPoints, halfBoxSizes), this.inputSizeTensor);\n      return tf.concat2d([startPoints, endPoints], 1);\n    });\n  }\n\n  normalizeLandmarks(rawPalmLandmarks, index) {\n    return tf.tidy(() => {\n      const landmarks = tf.add(tf.div(rawPalmLandmarks.reshape([-1, 7, 2]), this.inputSizeTensor), this.anchors[index]);\n      return tf.mul(landmarks, this.inputSizeTensor);\n    });\n  }\n\n  async getBoxes(input, config) {\n    const batched = this.model.predict(input);\n    const predictions = batched.squeeze();\n    batched.dispose();\n    const scoresT = tf.tidy(() => tf.sigmoid(tf.slice(predictions, [0, 0], [-1, 1])).squeeze());\n    const scores = scoresT.dataSync();\n    const rawBoxes = tf.slice(predictions, [0, 1], [-1, 4]);\n    const boxes = this.normalizeBoxes(rawBoxes);\n    rawBoxes.dispose();\n    const filteredT = await tf.image.nonMaxSuppressionAsync(boxes, scores, config.hand.maxHands, config.hand.iouThreshold, config.hand.scoreThreshold);\n    const filtered = filteredT.arraySync();\n\n    scoresT.dispose();\n    filteredT.dispose();\n    const hands: Array<{ box: any, palmLandmarks: any, confidence: number }> = [];\n    for (const index of filtered) {\n      if (scores[index] >= config.hand.minConfidence) {\n        const matchingBox = tf.slice(boxes, [index, 0], [1, -1]);\n        const rawPalmLandmarks = tf.slice(predictions, [index, 5], [1, 14]);\n        const palmLandmarks = tf.tidy(() => this.normalizeLandmarks(rawPalmLandmarks, index).reshape([-1, 2]));\n        rawPalmLandmarks.dispose();\n        hands.push({ box: matchingBox, palmLandmarks, confidence: scores[index] });\n      }\n    }\n    predictions.dispose();\n    boxes.dispose();\n    return hands;\n  }\n\n  async estimateHandBounds(input, config) {\n    const inputHeight = input.shape[1];\n    const inputWidth = input.shape[2];\n    const image = tf.tidy(() => input.resizeBilinear([this.inputSize, this.inputSize]).div(127.5).sub(1));\n    const predictions = await this.getBoxes(image, config);\n    image.dispose();\n    const hands: Array<{}> = [];\n    if (!predictions || predictions.length === 0) return hands;\n    for (const prediction of predictions) {\n      const boxes = prediction.box.dataSync();\n      const startPoint = boxes.slice(0, 2);\n      const endPoint = boxes.slice(2, 4);\n      const palmLandmarks = prediction.palmLandmarks.arraySync();\n      prediction.box.dispose();\n      prediction.palmLandmarks.dispose();\n      hands.push(box.scaleBoxCoordinates({ startPoint, endPoint, palmLandmarks, confidence: prediction.confidence }, [inputWidth / this.inputSize, inputHeight / this.inputSize]));\n    }\n    return hands;\n  }\n}\n", "import * as tf from '../../dist/tfjs.esm.js';\n\nexport function getBoxSize(box) {\n  return [\n    Math.abs(box.endPoint[0] - box.startPoint[0]),\n    Math.abs(box.endPoint[1] - box.startPoint[1]),\n  ];\n}\n\nexport function getBoxCenter(box) {\n  return [\n    box.startPoint[0] + (box.endPoint[0] - box.startPoint[0]) / 2,\n    box.startPoint[1] + (box.endPoint[1] - box.startPoint[1]) / 2,\n  ];\n}\n\nexport function cutBoxFromImageAndResize(box, image, cropSize) {\n  const h = image.shape[1];\n  const w = image.shape[2];\n  const boxes = [[\n    box.startPoint[1] / h,\n    box.startPoint[0] / w,\n    box.endPoint[1] / h,\n    box.endPoint[0] / w,\n  ]];\n  return tf.image.cropAndResize(image, boxes, [0], cropSize);\n}\n\nexport function scaleBoxCoordinates(box, factor) {\n  const startPoint = [box.startPoint[0] * factor[0], box.startPoint[1] * factor[1]];\n  const endPoint = [box.endPoint[0] * factor[0], box.endPoint[1] * factor[1]];\n  const palmLandmarks = box.palmLandmarks.map((coord) => {\n    const scaledCoord = [coord[0] * factor[0], coord[1] * factor[1]];\n    return scaledCoord;\n  });\n  return { startPoint, endPoint, palmLandmarks, confidence: box.confidence };\n}\n\nexport function enlargeBox(box, factor = 1.5) {\n  const center = getBoxCenter(box);\n  const size = getBoxSize(box);\n  const newHalfSize = [factor * size[0] / 2, factor * size[1] / 2];\n  const startPoint = [center[0] - newHalfSize[0], center[1] - newHalfSize[1]];\n  const endPoint = [center[0] + newHalfSize[0], center[1] + newHalfSize[1]];\n  return { startPoint, endPoint, palmLandmarks: box.palmLandmarks };\n}\n\nexport function squarifyBox(box) {\n  const centers = getBoxCenter(box);\n  const size = getBoxSize(box);\n  const maxEdge = Math.max(...size);\n  const halfSize = maxEdge / 2;\n  const startPoint = [centers[0] - halfSize, centers[1] - halfSize];\n  const endPoint = [centers[0] + halfSize, centers[1] + halfSize];\n  return { startPoint, endPoint, palmLandmarks: box.palmLandmarks };\n}\n\nexport function shiftBox(box, shiftFactor) {\n  const boxSize = [\n    box.endPoint[0] - box.startPoint[0],\n    box.endPoint[1] - box.startPoint[1],\n  ];\n  const shiftVector = [boxSize[0] * shiftFactor[0], boxSize[1] * shiftFactor[1]];\n  const startPoint = [box.startPoint[0] + shiftVector[0], box.startPoint[1] + shiftVector[1]];\n  const endPoint = [box.endPoint[0] + shiftVector[0], box.endPoint[1] + shiftVector[1]];\n  return { startPoint, endPoint, palmLandmarks: box.palmLandmarks };\n}\n", "import * as tf from '../../dist/tfjs.esm.js';\nimport * as box from './box';\nimport * as util from './util';\n\n// const PALM_BOX_SHIFT_VECTOR = [0, -0.4];\nconst PALM_BOX_ENLARGE_FACTOR = 5; // default 3\n// const HAND_BOX_SHIFT_VECTOR = [0, -0.1]; // move detected hand box by x,y to ease landmark detection\nconst HAND_BOX_ENLARGE_FACTOR = 1.65; // default 1.65\nconst PALM_LANDMARK_IDS = [0, 5, 9, 13, 17, 1, 2];\nconst PALM_LANDMARKS_INDEX_OF_PALM_BASE = 0;\nconst PALM_LANDMARKS_INDEX_OF_MIDDLE_FINGER_BASE = 2;\n\nexport class HandPipeline {\n  handDetector: any;\n  landmarkDetector: any;\n  inputSize: number;\n  storedBoxes: any;\n  skipped: number;\n  detectedHands: number;\n\n  constructor(handDetector, landmarkDetector, inputSize) {\n    this.handDetector = handDetector;\n    this.landmarkDetector = landmarkDetector;\n    this.inputSize = inputSize;\n    this.storedBoxes = [];\n    this.skipped = 0;\n    this.detectedHands = 0;\n  }\n\n  getBoxForPalmLandmarks(palmLandmarks, rotationMatrix) {\n    const rotatedPalmLandmarks = palmLandmarks.map((coord) => util.rotatePoint([...coord, 1], rotationMatrix));\n    const boxAroundPalm = this.calculateLandmarksBoundingBox(rotatedPalmLandmarks);\n    // return box.enlargeBox(box.squarifyBox(box.shiftBox(boxAroundPalm, PALM_BOX_SHIFT_VECTOR)), PALM_BOX_ENLARGE_FACTOR);\n    return box.enlargeBox(box.squarifyBox(boxAroundPalm), PALM_BOX_ENLARGE_FACTOR);\n  }\n\n  getBoxForHandLandmarks(landmarks) {\n    const boundingBox = this.calculateLandmarksBoundingBox(landmarks);\n    // const boxAroundHand = box.enlargeBox(box.squarifyBox(box.shiftBox(boundingBox, HAND_BOX_SHIFT_VECTOR)), HAND_BOX_ENLARGE_FACTOR);\n    const boxAroundHand = box.enlargeBox(box.squarifyBox(boundingBox), HAND_BOX_ENLARGE_FACTOR);\n    boxAroundHand.palmLandmarks = [];\n    for (let i = 0; i < PALM_LANDMARK_IDS.length; i++) {\n      boxAroundHand.palmLandmarks.push(landmarks[PALM_LANDMARK_IDS[i]].slice(0, 2));\n    }\n    return boxAroundHand;\n  }\n\n  transformRawCoords(rawCoords, box2, angle, rotationMatrix) {\n    const boxSize = box.getBoxSize(box2);\n    const scaleFactor = [boxSize[0] / this.inputSize, boxSize[1] / this.inputSize, (boxSize[0] + boxSize[1]) / this.inputSize / 2];\n    const coordsScaled = rawCoords.map((coord) => [\n      scaleFactor[0] * (coord[0] - this.inputSize / 2),\n      scaleFactor[1] * (coord[1] - this.inputSize / 2),\n      scaleFactor[2] * coord[2],\n    ]);\n    const coordsRotationMatrix = util.buildRotationMatrix(angle, [0, 0]);\n    const coordsRotated = coordsScaled.map((coord) => {\n      const rotated = util.rotatePoint(coord, coordsRotationMatrix);\n      return [...rotated, coord[2]];\n    });\n    const inverseRotationMatrix = util.invertTransformMatrix(rotationMatrix);\n    const boxCenter = [...box.getBoxCenter(box2), 1];\n    const originalBoxCenter = [\n      util.dot(boxCenter, inverseRotationMatrix[0]),\n      util.dot(boxCenter, inverseRotationMatrix[1]),\n    ];\n    return coordsRotated.map((coord) => [\n      coord[0] + originalBoxCenter[0],\n      coord[1] + originalBoxCenter[1],\n      coord[2],\n    ]);\n  }\n\n  async estimateHands(image, config) {\n    let useFreshBox = false;\n\n    // run new detector every skipFrames unless we only want box to start with\n    let boxes;\n    if ((this.skipped === 0) || (this.skipped > config.hand.skipFrames) || !config.hand.landmarks || !config.videoOptimized) {\n      boxes = await this.handDetector.estimateHandBounds(image, config);\n      this.skipped = 0;\n    }\n    if (config.videoOptimized) this.skipped++;\n\n    // if detector result count doesn't match current working set, use it to reset current working set\n    if (boxes && (boxes.length > 0) && ((boxes.length !== this.detectedHands) && (this.detectedHands !== config.hand.maxHands) || !config.hand.landmarks)) {\n      this.detectedHands = 0;\n      this.storedBoxes = [...boxes];\n      // for (const possible of boxes) this.storedBoxes.push(possible);\n      if (this.storedBoxes.length > 0) useFreshBox = true;\n    }\n    const hands: Array<{}> = [];\n\n    if (config.hand.skipInitial && this.detectedHands === 0) this.skipped = 0;\n\n    // go through working set of boxes\n    for (let i = 0; i < this.storedBoxes.length; i++) {\n      const currentBox = this.storedBoxes[i];\n      if (!currentBox) continue;\n      if (config.hand.landmarks) {\n        const angle = config.hand.rotation ? util.computeRotation(currentBox.palmLandmarks[PALM_LANDMARKS_INDEX_OF_PALM_BASE], currentBox.palmLandmarks[PALM_LANDMARKS_INDEX_OF_MIDDLE_FINGER_BASE]) : 0;\n        const palmCenter = box.getBoxCenter(currentBox);\n        const palmCenterNormalized = [palmCenter[0] / image.shape[2], palmCenter[1] / image.shape[1]];\n        const rotatedImage = config.hand.rotation ? tf.image.rotateWithOffset(image, angle, 0, palmCenterNormalized) : image.clone();\n        const rotationMatrix = util.buildRotationMatrix(-angle, palmCenter);\n        const newBox = useFreshBox ? this.getBoxForPalmLandmarks(currentBox.palmLandmarks, rotationMatrix) : currentBox;\n        const croppedInput = box.cutBoxFromImageAndResize(newBox, rotatedImage, [this.inputSize, this.inputSize]);\n        const handImage = croppedInput.div(255);\n        croppedInput.dispose();\n        rotatedImage.dispose();\n        const [confidenceT, keypoints] = await this.landmarkDetector.predict(handImage);\n        handImage.dispose();\n        const confidence = confidenceT.dataSync()[0];\n        confidenceT.dispose();\n        if (confidence >= config.hand.minConfidence) {\n          const keypointsReshaped = tf.reshape(keypoints, [-1, 3]);\n          const rawCoords = keypointsReshaped.arraySync();\n          keypoints.dispose();\n          keypointsReshaped.dispose();\n          const coords = this.transformRawCoords(rawCoords, newBox, angle, rotationMatrix);\n          const nextBoundingBox = this.getBoxForHandLandmarks(coords);\n          this.storedBoxes[i] = nextBoundingBox;\n          const result = {\n            landmarks: coords,\n            confidence,\n            box: { topLeft: nextBoundingBox.startPoint, bottomRight: nextBoundingBox.endPoint },\n          };\n          hands.push(result);\n        } else {\n          this.storedBoxes[i] = null;\n        }\n        keypoints.dispose();\n      } else {\n        // const enlarged = box.enlargeBox(box.squarifyBox(box.shiftBox(currentBox, HAND_BOX_SHIFT_VECTOR)), HAND_BOX_ENLARGE_FACTOR);\n        const enlarged = box.enlargeBox(box.squarifyBox(currentBox), HAND_BOX_ENLARGE_FACTOR);\n        const result = {\n          confidence: currentBox.confidence,\n          box: { topLeft: enlarged.startPoint, bottomRight: enlarged.endPoint },\n        };\n        hands.push(result);\n      }\n    }\n    this.storedBoxes = this.storedBoxes.filter((a) => a !== null);\n    this.detectedHands = hands.length;\n    return hands;\n  }\n\n  // eslint-disable-next-line class-methods-use-this\n  calculateLandmarksBoundingBox(landmarks) {\n    const xs = landmarks.map((d) => d[0]);\n    const ys = landmarks.map((d) => d[1]);\n    const startPoint = [Math.min(...xs), Math.min(...ys)];\n    const endPoint = [Math.max(...xs), Math.max(...ys)];\n    return { startPoint, endPoint };\n  }\n}\n", "export function normalizeRadians(angle) {\n  return angle - 2 * Math.PI * Math.floor((angle + Math.PI) / (2 * Math.PI));\n}\n\nexport function computeRotation(point1, point2) {\n  const radians = Math.PI / 2 - Math.atan2(-(point2[1] - point1[1]), point2[0] - point1[0]);\n  return normalizeRadians(radians);\n}\n\nexport const buildTranslationMatrix = (x, y) => [[1, 0, x], [0, 1, y], [0, 0, 1]];\n\nexport function dot(v1, v2) {\n  let product = 0;\n  for (let i = 0; i < v1.length; i++) {\n    product += v1[i] * v2[i];\n  }\n  return product;\n}\n\nexport function getColumnFrom2DArr(arr, columnIndex) {\n  const column: Array<number> = [];\n  for (let i = 0; i < arr.length; i++) {\n    column.push(arr[i][columnIndex]);\n  }\n  return column;\n}\n\nexport function multiplyTransformMatrices(mat1, mat2) {\n  const product: Array<number[]> = [];\n  const size = mat1.length;\n  for (let row = 0; row < size; row++) {\n    product.push([]);\n    for (let col = 0; col < size; col++) {\n      product[row].push(dot(mat1[row], getColumnFrom2DArr(mat2, col)));\n    }\n  }\n  return product;\n}\n\nexport function buildRotationMatrix(rotation, center) {\n  const cosA = Math.cos(rotation);\n  const sinA = Math.sin(rotation);\n  const rotationMatrix = [[cosA, -sinA, 0], [sinA, cosA, 0], [0, 0, 1]];\n  const translationMatrix = buildTranslationMatrix(center[0], center[1]);\n  const translationTimesRotation = multiplyTransformMatrices(translationMatrix, rotationMatrix);\n  const negativeTranslationMatrix = buildTranslationMatrix(-center[0], -center[1]);\n  return multiplyTransformMatrices(translationTimesRotation, negativeTranslationMatrix);\n}\n\nexport function invertTransformMatrix(matrix) {\n  const rotationComponent = [[matrix[0][0], matrix[1][0]], [matrix[0][1], matrix[1][1]]];\n  const translationComponent = [matrix[0][2], matrix[1][2]];\n  const invertedTranslation = [\n    -dot(rotationComponent[0], translationComponent),\n    -dot(rotationComponent[1], translationComponent),\n  ];\n  return [\n    rotationComponent[0].concat(invertedTranslation[0]),\n    rotationComponent[1].concat(invertedTranslation[1]),\n    [0, 0, 1],\n  ];\n}\n\nexport function rotatePoint(homogeneousCoordinate, rotationMatrix) {\n  return [\n    dot(homogeneousCoordinate, rotationMatrix[0]),\n    dot(homogeneousCoordinate, rotationMatrix[1]),\n  ];\n}\n", "export const anchors = [\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.015625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.046875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.078125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.109375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.140625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.171875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.203125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.234375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.265625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.296875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.328125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.359375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.390625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.421875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.453125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.484375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.515625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.546875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.578125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.609375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.640625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.671875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.703125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.734375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.765625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.796875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.828125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.859375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.890625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.921875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.953125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.015625,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.046875,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.078125,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.109375,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.140625,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.171875,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.203125,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.234375,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.265625,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.296875,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.328125,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.359375,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.390625,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.421875,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.453125,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.484375,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.515625,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.546875,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.578125,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.609375,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.640625,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.671875,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.703125,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.734375,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.765625,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.796875,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.828125,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.859375,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.890625,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.921875,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.953125,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.984375,\n    y_center: 0.984375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.03125,\n    y_center: 0.03125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.03125,\n    y_center: 0.03125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.09375,\n    y_center: 0.03125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.09375,\n    y_center: 0.03125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.15625,\n    y_center: 0.03125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.15625,\n    y_center: 0.03125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.21875,\n    y_center: 0.03125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.21875,\n    y_center: 0.03125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.28125,\n    y_center: 0.03125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.28125,\n    y_center: 0.03125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.34375,\n    y_center: 0.03125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.34375,\n    y_center: 0.03125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.40625,\n    y_center: 0.03125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.40625,\n    y_center: 0.03125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.46875,\n    y_center: 0.03125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.46875,\n    y_center: 0.03125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.53125,\n    y_center: 0.03125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.53125,\n    y_center: 0.03125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.59375,\n    y_center: 0.03125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.59375,\n    y_center: 0.03125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.65625,\n    y_center: 0.03125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.65625,\n    y_center: 0.03125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.71875,\n    y_center: 0.03125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.71875,\n    y_center: 0.03125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.78125,\n    y_center: 0.03125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.78125,\n    y_center: 0.03125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.84375,\n    y_center: 0.03125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.84375,\n    y_center: 0.03125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.90625,\n    y_center: 0.03125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.90625,\n    y_center: 0.03125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.96875,\n    y_center: 0.03125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.96875,\n    y_center: 0.03125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.03125,\n    y_center: 0.09375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.03125,\n    y_center: 0.09375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.09375,\n    y_center: 0.09375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.09375,\n    y_center: 0.09375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.15625,\n    y_center: 0.09375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.15625,\n    y_center: 0.09375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.21875,\n    y_center: 0.09375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.21875,\n    y_center: 0.09375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.28125,\n    y_center: 0.09375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.28125,\n    y_center: 0.09375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.34375,\n    y_center: 0.09375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.34375,\n    y_center: 0.09375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.40625,\n    y_center: 0.09375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.40625,\n    y_center: 0.09375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.46875,\n    y_center: 0.09375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.46875,\n    y_center: 0.09375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.53125,\n    y_center: 0.09375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.53125,\n    y_center: 0.09375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.59375,\n    y_center: 0.09375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.59375,\n    y_center: 0.09375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.65625,\n    y_center: 0.09375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.65625,\n    y_center: 0.09375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.71875,\n    y_center: 0.09375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.71875,\n    y_center: 0.09375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.78125,\n    y_center: 0.09375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.78125,\n    y_center: 0.09375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.84375,\n    y_center: 0.09375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.84375,\n    y_center: 0.09375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.90625,\n    y_center: 0.09375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.90625,\n    y_center: 0.09375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.96875,\n    y_center: 0.09375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.96875,\n    y_center: 0.09375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.03125,\n    y_center: 0.15625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.03125,\n    y_center: 0.15625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.09375,\n    y_center: 0.15625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.09375,\n    y_center: 0.15625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.15625,\n    y_center: 0.15625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.15625,\n    y_center: 0.15625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.21875,\n    y_center: 0.15625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.21875,\n    y_center: 0.15625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.28125,\n    y_center: 0.15625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.28125,\n    y_center: 0.15625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.34375,\n    y_center: 0.15625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.34375,\n    y_center: 0.15625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.40625,\n    y_center: 0.15625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.40625,\n    y_center: 0.15625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.46875,\n    y_center: 0.15625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.46875,\n    y_center: 0.15625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.53125,\n    y_center: 0.15625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.53125,\n    y_center: 0.15625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.59375,\n    y_center: 0.15625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.59375,\n    y_center: 0.15625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.65625,\n    y_center: 0.15625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.65625,\n    y_center: 0.15625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.71875,\n    y_center: 0.15625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.71875,\n    y_center: 0.15625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.78125,\n    y_center: 0.15625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.78125,\n    y_center: 0.15625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.84375,\n    y_center: 0.15625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.84375,\n    y_center: 0.15625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.90625,\n    y_center: 0.15625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.90625,\n    y_center: 0.15625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.96875,\n    y_center: 0.15625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.96875,\n    y_center: 0.15625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.03125,\n    y_center: 0.21875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.03125,\n    y_center: 0.21875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.09375,\n    y_center: 0.21875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.09375,\n    y_center: 0.21875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.15625,\n    y_center: 0.21875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.15625,\n    y_center: 0.21875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.21875,\n    y_center: 0.21875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.21875,\n    y_center: 0.21875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.28125,\n    y_center: 0.21875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.28125,\n    y_center: 0.21875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.34375,\n    y_center: 0.21875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.34375,\n    y_center: 0.21875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.40625,\n    y_center: 0.21875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.40625,\n    y_center: 0.21875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.46875,\n    y_center: 0.21875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.46875,\n    y_center: 0.21875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.53125,\n    y_center: 0.21875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.53125,\n    y_center: 0.21875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.59375,\n    y_center: 0.21875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.59375,\n    y_center: 0.21875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.65625,\n    y_center: 0.21875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.65625,\n    y_center: 0.21875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.71875,\n    y_center: 0.21875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.71875,\n    y_center: 0.21875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.78125,\n    y_center: 0.21875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.78125,\n    y_center: 0.21875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.84375,\n    y_center: 0.21875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.84375,\n    y_center: 0.21875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.90625,\n    y_center: 0.21875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.90625,\n    y_center: 0.21875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.96875,\n    y_center: 0.21875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.96875,\n    y_center: 0.21875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.03125,\n    y_center: 0.28125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.03125,\n    y_center: 0.28125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.09375,\n    y_center: 0.28125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.09375,\n    y_center: 0.28125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.15625,\n    y_center: 0.28125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.15625,\n    y_center: 0.28125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.21875,\n    y_center: 0.28125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.21875,\n    y_center: 0.28125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.28125,\n    y_center: 0.28125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.28125,\n    y_center: 0.28125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.34375,\n    y_center: 0.28125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.34375,\n    y_center: 0.28125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.40625,\n    y_center: 0.28125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.40625,\n    y_center: 0.28125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.46875,\n    y_center: 0.28125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.46875,\n    y_center: 0.28125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.53125,\n    y_center: 0.28125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.53125,\n    y_center: 0.28125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.59375,\n    y_center: 0.28125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.59375,\n    y_center: 0.28125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.65625,\n    y_center: 0.28125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.65625,\n    y_center: 0.28125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.71875,\n    y_center: 0.28125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.71875,\n    y_center: 0.28125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.78125,\n    y_center: 0.28125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.78125,\n    y_center: 0.28125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.84375,\n    y_center: 0.28125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.84375,\n    y_center: 0.28125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.90625,\n    y_center: 0.28125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.90625,\n    y_center: 0.28125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.96875,\n    y_center: 0.28125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.96875,\n    y_center: 0.28125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.03125,\n    y_center: 0.34375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.03125,\n    y_center: 0.34375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.09375,\n    y_center: 0.34375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.09375,\n    y_center: 0.34375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.15625,\n    y_center: 0.34375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.15625,\n    y_center: 0.34375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.21875,\n    y_center: 0.34375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.21875,\n    y_center: 0.34375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.28125,\n    y_center: 0.34375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.28125,\n    y_center: 0.34375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.34375,\n    y_center: 0.34375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.34375,\n    y_center: 0.34375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.40625,\n    y_center: 0.34375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.40625,\n    y_center: 0.34375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.46875,\n    y_center: 0.34375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.46875,\n    y_center: 0.34375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.53125,\n    y_center: 0.34375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.53125,\n    y_center: 0.34375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.59375,\n    y_center: 0.34375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.59375,\n    y_center: 0.34375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.65625,\n    y_center: 0.34375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.65625,\n    y_center: 0.34375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.71875,\n    y_center: 0.34375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.71875,\n    y_center: 0.34375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.78125,\n    y_center: 0.34375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.78125,\n    y_center: 0.34375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.84375,\n    y_center: 0.34375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.84375,\n    y_center: 0.34375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.90625,\n    y_center: 0.34375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.90625,\n    y_center: 0.34375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.96875,\n    y_center: 0.34375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.96875,\n    y_center: 0.34375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.03125,\n    y_center: 0.40625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.03125,\n    y_center: 0.40625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.09375,\n    y_center: 0.40625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.09375,\n    y_center: 0.40625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.15625,\n    y_center: 0.40625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.15625,\n    y_center: 0.40625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.21875,\n    y_center: 0.40625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.21875,\n    y_center: 0.40625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.28125,\n    y_center: 0.40625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.28125,\n    y_center: 0.40625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.34375,\n    y_center: 0.40625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.34375,\n    y_center: 0.40625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.40625,\n    y_center: 0.40625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.40625,\n    y_center: 0.40625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.46875,\n    y_center: 0.40625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.46875,\n    y_center: 0.40625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.53125,\n    y_center: 0.40625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.53125,\n    y_center: 0.40625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.59375,\n    y_center: 0.40625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.59375,\n    y_center: 0.40625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.65625,\n    y_center: 0.40625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.65625,\n    y_center: 0.40625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.71875,\n    y_center: 0.40625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.71875,\n    y_center: 0.40625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.78125,\n    y_center: 0.40625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.78125,\n    y_center: 0.40625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.84375,\n    y_center: 0.40625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.84375,\n    y_center: 0.40625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.90625,\n    y_center: 0.40625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.90625,\n    y_center: 0.40625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.96875,\n    y_center: 0.40625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.96875,\n    y_center: 0.40625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.03125,\n    y_center: 0.46875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.03125,\n    y_center: 0.46875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.09375,\n    y_center: 0.46875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.09375,\n    y_center: 0.46875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.15625,\n    y_center: 0.46875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.15625,\n    y_center: 0.46875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.21875,\n    y_center: 0.46875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.21875,\n    y_center: 0.46875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.28125,\n    y_center: 0.46875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.28125,\n    y_center: 0.46875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.34375,\n    y_center: 0.46875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.34375,\n    y_center: 0.46875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.40625,\n    y_center: 0.46875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.40625,\n    y_center: 0.46875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.46875,\n    y_center: 0.46875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.46875,\n    y_center: 0.46875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.53125,\n    y_center: 0.46875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.53125,\n    y_center: 0.46875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.59375,\n    y_center: 0.46875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.59375,\n    y_center: 0.46875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.65625,\n    y_center: 0.46875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.65625,\n    y_center: 0.46875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.71875,\n    y_center: 0.46875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.71875,\n    y_center: 0.46875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.78125,\n    y_center: 0.46875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.78125,\n    y_center: 0.46875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.84375,\n    y_center: 0.46875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.84375,\n    y_center: 0.46875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.90625,\n    y_center: 0.46875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.90625,\n    y_center: 0.46875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.96875,\n    y_center: 0.46875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.96875,\n    y_center: 0.46875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.03125,\n    y_center: 0.53125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.03125,\n    y_center: 0.53125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.09375,\n    y_center: 0.53125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.09375,\n    y_center: 0.53125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.15625,\n    y_center: 0.53125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.15625,\n    y_center: 0.53125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.21875,\n    y_center: 0.53125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.21875,\n    y_center: 0.53125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.28125,\n    y_center: 0.53125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.28125,\n    y_center: 0.53125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.34375,\n    y_center: 0.53125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.34375,\n    y_center: 0.53125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.40625,\n    y_center: 0.53125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.40625,\n    y_center: 0.53125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.46875,\n    y_center: 0.53125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.46875,\n    y_center: 0.53125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.53125,\n    y_center: 0.53125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.53125,\n    y_center: 0.53125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.59375,\n    y_center: 0.53125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.59375,\n    y_center: 0.53125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.65625,\n    y_center: 0.53125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.65625,\n    y_center: 0.53125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.71875,\n    y_center: 0.53125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.71875,\n    y_center: 0.53125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.78125,\n    y_center: 0.53125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.78125,\n    y_center: 0.53125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.84375,\n    y_center: 0.53125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.84375,\n    y_center: 0.53125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.90625,\n    y_center: 0.53125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.90625,\n    y_center: 0.53125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.96875,\n    y_center: 0.53125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.96875,\n    y_center: 0.53125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.03125,\n    y_center: 0.59375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.03125,\n    y_center: 0.59375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.09375,\n    y_center: 0.59375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.09375,\n    y_center: 0.59375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.15625,\n    y_center: 0.59375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.15625,\n    y_center: 0.59375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.21875,\n    y_center: 0.59375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.21875,\n    y_center: 0.59375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.28125,\n    y_center: 0.59375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.28125,\n    y_center: 0.59375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.34375,\n    y_center: 0.59375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.34375,\n    y_center: 0.59375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.40625,\n    y_center: 0.59375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.40625,\n    y_center: 0.59375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.46875,\n    y_center: 0.59375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.46875,\n    y_center: 0.59375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.53125,\n    y_center: 0.59375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.53125,\n    y_center: 0.59375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.59375,\n    y_center: 0.59375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.59375,\n    y_center: 0.59375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.65625,\n    y_center: 0.59375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.65625,\n    y_center: 0.59375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.71875,\n    y_center: 0.59375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.71875,\n    y_center: 0.59375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.78125,\n    y_center: 0.59375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.78125,\n    y_center: 0.59375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.84375,\n    y_center: 0.59375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.84375,\n    y_center: 0.59375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.90625,\n    y_center: 0.59375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.90625,\n    y_center: 0.59375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.96875,\n    y_center: 0.59375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.96875,\n    y_center: 0.59375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.03125,\n    y_center: 0.65625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.03125,\n    y_center: 0.65625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.09375,\n    y_center: 0.65625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.09375,\n    y_center: 0.65625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.15625,\n    y_center: 0.65625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.15625,\n    y_center: 0.65625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.21875,\n    y_center: 0.65625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.21875,\n    y_center: 0.65625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.28125,\n    y_center: 0.65625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.28125,\n    y_center: 0.65625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.34375,\n    y_center: 0.65625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.34375,\n    y_center: 0.65625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.40625,\n    y_center: 0.65625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.40625,\n    y_center: 0.65625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.46875,\n    y_center: 0.65625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.46875,\n    y_center: 0.65625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.53125,\n    y_center: 0.65625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.53125,\n    y_center: 0.65625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.59375,\n    y_center: 0.65625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.59375,\n    y_center: 0.65625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.65625,\n    y_center: 0.65625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.65625,\n    y_center: 0.65625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.71875,\n    y_center: 0.65625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.71875,\n    y_center: 0.65625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.78125,\n    y_center: 0.65625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.78125,\n    y_center: 0.65625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.84375,\n    y_center: 0.65625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.84375,\n    y_center: 0.65625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.90625,\n    y_center: 0.65625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.90625,\n    y_center: 0.65625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.96875,\n    y_center: 0.65625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.96875,\n    y_center: 0.65625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.03125,\n    y_center: 0.71875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.03125,\n    y_center: 0.71875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.09375,\n    y_center: 0.71875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.09375,\n    y_center: 0.71875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.15625,\n    y_center: 0.71875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.15625,\n    y_center: 0.71875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.21875,\n    y_center: 0.71875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.21875,\n    y_center: 0.71875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.28125,\n    y_center: 0.71875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.28125,\n    y_center: 0.71875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.34375,\n    y_center: 0.71875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.34375,\n    y_center: 0.71875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.40625,\n    y_center: 0.71875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.40625,\n    y_center: 0.71875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.46875,\n    y_center: 0.71875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.46875,\n    y_center: 0.71875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.53125,\n    y_center: 0.71875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.53125,\n    y_center: 0.71875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.59375,\n    y_center: 0.71875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.59375,\n    y_center: 0.71875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.65625,\n    y_center: 0.71875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.65625,\n    y_center: 0.71875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.71875,\n    y_center: 0.71875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.71875,\n    y_center: 0.71875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.78125,\n    y_center: 0.71875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.78125,\n    y_center: 0.71875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.84375,\n    y_center: 0.71875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.84375,\n    y_center: 0.71875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.90625,\n    y_center: 0.71875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.90625,\n    y_center: 0.71875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.96875,\n    y_center: 0.71875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.96875,\n    y_center: 0.71875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.03125,\n    y_center: 0.78125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.03125,\n    y_center: 0.78125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.09375,\n    y_center: 0.78125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.09375,\n    y_center: 0.78125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.15625,\n    y_center: 0.78125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.15625,\n    y_center: 0.78125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.21875,\n    y_center: 0.78125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.21875,\n    y_center: 0.78125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.28125,\n    y_center: 0.78125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.28125,\n    y_center: 0.78125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.34375,\n    y_center: 0.78125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.34375,\n    y_center: 0.78125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.40625,\n    y_center: 0.78125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.40625,\n    y_center: 0.78125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.46875,\n    y_center: 0.78125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.46875,\n    y_center: 0.78125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.53125,\n    y_center: 0.78125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.53125,\n    y_center: 0.78125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.59375,\n    y_center: 0.78125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.59375,\n    y_center: 0.78125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.65625,\n    y_center: 0.78125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.65625,\n    y_center: 0.78125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.71875,\n    y_center: 0.78125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.71875,\n    y_center: 0.78125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.78125,\n    y_center: 0.78125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.78125,\n    y_center: 0.78125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.84375,\n    y_center: 0.78125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.84375,\n    y_center: 0.78125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.90625,\n    y_center: 0.78125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.90625,\n    y_center: 0.78125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.96875,\n    y_center: 0.78125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.96875,\n    y_center: 0.78125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.03125,\n    y_center: 0.84375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.03125,\n    y_center: 0.84375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.09375,\n    y_center: 0.84375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.09375,\n    y_center: 0.84375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.15625,\n    y_center: 0.84375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.15625,\n    y_center: 0.84375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.21875,\n    y_center: 0.84375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.21875,\n    y_center: 0.84375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.28125,\n    y_center: 0.84375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.28125,\n    y_center: 0.84375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.34375,\n    y_center: 0.84375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.34375,\n    y_center: 0.84375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.40625,\n    y_center: 0.84375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.40625,\n    y_center: 0.84375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.46875,\n    y_center: 0.84375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.46875,\n    y_center: 0.84375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.53125,\n    y_center: 0.84375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.53125,\n    y_center: 0.84375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.59375,\n    y_center: 0.84375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.59375,\n    y_center: 0.84375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.65625,\n    y_center: 0.84375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.65625,\n    y_center: 0.84375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.71875,\n    y_center: 0.84375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.71875,\n    y_center: 0.84375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.78125,\n    y_center: 0.84375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.78125,\n    y_center: 0.84375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.84375,\n    y_center: 0.84375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.84375,\n    y_center: 0.84375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.90625,\n    y_center: 0.84375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.90625,\n    y_center: 0.84375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.96875,\n    y_center: 0.84375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.96875,\n    y_center: 0.84375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.03125,\n    y_center: 0.90625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.03125,\n    y_center: 0.90625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.09375,\n    y_center: 0.90625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.09375,\n    y_center: 0.90625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.15625,\n    y_center: 0.90625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.15625,\n    y_center: 0.90625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.21875,\n    y_center: 0.90625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.21875,\n    y_center: 0.90625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.28125,\n    y_center: 0.90625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.28125,\n    y_center: 0.90625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.34375,\n    y_center: 0.90625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.34375,\n    y_center: 0.90625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.40625,\n    y_center: 0.90625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.40625,\n    y_center: 0.90625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.46875,\n    y_center: 0.90625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.46875,\n    y_center: 0.90625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.53125,\n    y_center: 0.90625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.53125,\n    y_center: 0.90625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.59375,\n    y_center: 0.90625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.59375,\n    y_center: 0.90625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.65625,\n    y_center: 0.90625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.65625,\n    y_center: 0.90625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.71875,\n    y_center: 0.90625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.71875,\n    y_center: 0.90625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.78125,\n    y_center: 0.90625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.78125,\n    y_center: 0.90625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.84375,\n    y_center: 0.90625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.84375,\n    y_center: 0.90625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.90625,\n    y_center: 0.90625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.90625,\n    y_center: 0.90625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.96875,\n    y_center: 0.90625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.96875,\n    y_center: 0.90625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.03125,\n    y_center: 0.96875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.03125,\n    y_center: 0.96875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.09375,\n    y_center: 0.96875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.09375,\n    y_center: 0.96875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.15625,\n    y_center: 0.96875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.15625,\n    y_center: 0.96875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.21875,\n    y_center: 0.96875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.21875,\n    y_center: 0.96875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.28125,\n    y_center: 0.96875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.28125,\n    y_center: 0.96875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.34375,\n    y_center: 0.96875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.34375,\n    y_center: 0.96875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.40625,\n    y_center: 0.96875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.40625,\n    y_center: 0.96875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.46875,\n    y_center: 0.96875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.46875,\n    y_center: 0.96875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.53125,\n    y_center: 0.96875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.53125,\n    y_center: 0.96875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.59375,\n    y_center: 0.96875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.59375,\n    y_center: 0.96875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.65625,\n    y_center: 0.96875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.65625,\n    y_center: 0.96875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.71875,\n    y_center: 0.96875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.71875,\n    y_center: 0.96875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.78125,\n    y_center: 0.96875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.78125,\n    y_center: 0.96875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.84375,\n    y_center: 0.96875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.84375,\n    y_center: 0.96875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.90625,\n    y_center: 0.96875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.90625,\n    y_center: 0.96875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.96875,\n    y_center: 0.96875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.96875,\n    y_center: 0.96875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.0625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.1875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.3125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.4375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.5625,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.6875,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.8125,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.0625,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.1875,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.3125,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.4375,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.5625,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.6875,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.8125,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.9375,\n  },\n  {\n    w: 1,\n    h: 1,\n    x_center: 0.9375,\n    y_center: 0.9375,\n  },\n];\n", "import { log } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\nimport * as profile from '../profile';\nimport * as annotations from './annotations';\n\nlet model;\n\nexport async function load(config) {\n  if (!model) {\n    model = await tf.loadGraphModel(config.body.modelPath);\n    model.width = parseInt(model.signature.inputs['input_1:0'].tensorShape.dim[2].size);\n    model.height = parseInt(model.signature.inputs['input_1:0'].tensorShape.dim[1].size);\n    if (config.debug) log(`load model: ${config.body.modelPath.match(/\\/(.*)\\./)[1]}`);\n  }\n  return model;\n}\n\nexport async function predict(image, config) {\n  if (!model) return null;\n  if (!config.body.enabled) return null;\n  const imgSize = { width: image.shape[2], height: image.shape[1] };\n  const resize = tf.image.resizeBilinear(image, [model.width, model.height], false);\n  const normalize = tf.div(resize, [255.0]);\n  resize.dispose();\n  let points;\n  if (!config.profile) { // run through profiler or just execute\n    const resT = await model.predict(normalize);\n    // const segmentationT = resT.find((t) => (t.size === 16384))?.squeeze();\n    // const segmentation = segmentationT.arraySync(); // array 128 x 128\n    // segmentationT.dispose();\n    points = resT.find((t) => (t.size === 195 || t.size === 155)).dataSync(); // order of output tensors may change between models, full has 195 and upper has 155 items\n    resT.forEach((t) => t.dispose());\n  } else {\n    const profileData = await tf.profile(() => model.predict(normalize));\n    points = profileData.result.find((t) => (t.size === 195 || t.size === 155)).dataSync();\n    profileData.result.forEach((t) => t.dispose());\n    profile.run('blazepose', profileData);\n  }\n  normalize.dispose();\n  const keypoints: Array<{ id, part, position: { x, y, z }, score, presence }> = [];\n  const labels = points.length === 195 ? annotations.full : annotations.upper; // full model has 39 keypoints, upper has 31 keypoints\n  const depth = 5; // each points has x,y,z,visibility,presence\n  for (let i = 0; i < points.length / depth; i++) {\n    keypoints.push({\n      id: i,\n      part: labels[i],\n      position: {\n        x: Math.trunc(imgSize.width * points[depth * i + 0] / 255), // return normalized x value istead of 0..255\n        y: Math.trunc(imgSize.height * points[depth * i + 1] / 255), // return normalized y value istead of 0..255\n        z: Math.trunc(points[depth * i + 2]) + 0, // fix negative zero\n      },\n      score: (100 - Math.trunc(100 / (1 + Math.exp(points[depth * i + 3])))) / 100, // reverse sigmoid value\n      presence: (100 - Math.trunc(100 / (1 + Math.exp(points[depth * i + 4])))) / 100, // reverse sigmoid value\n    });\n  }\n  const score = keypoints.reduce((prev, curr) => (curr.score > prev ? curr.score : prev), 0);\n  return [{ score, keypoints }];\n}\n", "export const full = [\n  'nose',\n  'leftEyeInside',\n  'leftEye',\n  'leftEyeOutside',\n  'rightEyeInside',\n  'rightEye',\n  'rightEyeOutside',\n  'leftEar',\n  'rightEar',\n  'leftMouth',\n  'rightMouth',\n  'leftShoulder',\n  'rightShoulder',\n  'leftElbow',\n  'rightElbow',\n  'leftWrist',\n  'rightWrist',\n  'leftPalm',\n  'rightPalm',\n  'leftIndex',\n  'rightIndex',\n  'leftPinky',\n  'rightPinky',\n  'leftHip',\n  'rightHip',\n  'leftKnee',\n  'rightKnee',\n  'leftAnkle',\n  'rightAnkle',\n  'leftHeel',\n  'rightHeel',\n  'leftFoot',\n  'rightFoot',\n  'midHip',\n  'forehead',\n  'leftThumb',\n  'leftHand',\n  'rightThumb',\n  'rightHand',\n];\n\nexport const upper = [\n  'nose',\n  'leftEyeInside',\n  'leftEye',\n  'leftEyeOutside',\n  'rightEyeInside',\n  'rightEye',\n  'rightEyeOutside',\n  'leftEar',\n  'rightEar',\n  'leftMouth',\n  'rightMouth',\n  'leftShoulder',\n  'rightShoulder',\n  'leftElbow',\n  'rightElbow',\n  'left:15',\n  'right:16',\n  'left:17',\n  'right:18',\n  'left:19',\n  'right:20',\n  'left:21',\n  'right:22',\n  'leftChest',\n  'rightChest',\n  'neck',\n  'forehead',\n  'left:27',\n  'right:28',\n  'left:29',\n  'right:30',\n];\n", "import { log } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\nimport * as profile from '../profile';\n\nlet model;\nlet keypoints: Array<any> = [];\nlet skipped = Number.MAX_SAFE_INTEGER;\n\nconst bodyParts = ['head', 'neck', 'rightShoulder', 'rightElbow', 'rightWrist', 'chest', 'leftShoulder', 'leftElbow', 'leftWrist', 'pelvis', 'rightHip', 'rightKnee', 'rightAnkle', 'leftHip', 'leftKnee', 'leftAnkle'];\n\nexport async function load(config) {\n  if (!model) {\n    model = await tf.loadGraphModel(config.body.modelPath);\n    if (config.debug) log(`load model: ${config.body.modelPath.match(/\\/(.*)\\./)[1]}`);\n  }\n  return model;\n}\n\n// performs argmax and max functions on a 2d tensor\nfunction max2d(inputs, minScore) {\n  const [width, height] = inputs.shape;\n  return tf.tidy(() => {\n    // modulus op implemented in tf\n    const mod = (a, b) => tf.sub(a, tf.mul(tf.div(a, tf.scalar(b, 'int32')), tf.scalar(b, 'int32')));\n    // combine all data\n    const reshaped = tf.reshape(inputs, [height * width]);\n    // get highest score\n    const score = tf.max(reshaped, 0).dataSync()[0];\n    if (score > minScore) {\n      // skip coordinate calculation is score is too low\n      const coords = tf.argMax(reshaped, 0);\n      const x = mod(coords, width).dataSync()[0];\n      const y = tf.div(coords, tf.scalar(width, 'int32')).dataSync()[0];\n      return [x, y, score];\n    }\n    return [0, 0, score];\n  });\n}\n\nexport async function predict(image, config) {\n  if (!model) return null;\n  if ((skipped < config.body.skipFrames) && config.videoOptimized && Object.keys(keypoints).length > 0) {\n    skipped++;\n    return keypoints;\n  }\n  if (config.videoOptimized) skipped = 0;\n  else skipped = Number.MAX_SAFE_INTEGER;\n  return new Promise(async (resolve) => {\n    const tensor = tf.tidy(() => {\n      const resize = tf.image.resizeBilinear(image, [model.inputs[0].shape[2], model.inputs[0].shape[1]], false);\n      const enhance = tf.mul(resize, 2);\n      const norm = enhance.sub(1);\n      return norm;\n    });\n\n    let resT;\n\n    if (!config.profile) {\n      if (config.body.enabled) resT = await model.predict(tensor);\n    } else {\n      const profileT = config.body.enabled ? await tf.profile(() => model.predict(tensor)) : {};\n      resT = profileT.result.clone();\n      profileT.result.dispose();\n      profile.run('body', profileT);\n    }\n    tensor.dispose();\n\n    if (resT) {\n      const parts: Array<{ id, score, part, position: { x, y }, positionRaw: { xRaw, yRaw} }> = [];\n      const squeeze = resT.squeeze();\n      tf.dispose(resT);\n      // body parts are basically just a stack of 2d tensors\n      const stack = squeeze.unstack(2);\n      tf.dispose(squeeze);\n      // process each unstacked tensor as a separate body part\n      for (let id = 0; id < stack.length; id++) {\n        // actual processing to get coordinates and score\n        const [x, y, score] = max2d(stack[id], config.body.scoreThreshold);\n        if (score > config.body.scoreThreshold) {\n          parts.push({\n            id,\n            score: Math.round(100 * score) / 100,\n            part: bodyParts[id],\n            positionRaw: {\n              xRaw: x / model.inputs[0].shape[2], // x normalized to 0..1\n              yRaw: y / model.inputs[0].shape[1], // y normalized to 0..1\n            },\n            position: {\n              x: Math.round(image.shape[2] * x / model.inputs[0].shape[2]), // x normalized to input image size\n              y: Math.round(image.shape[1] * y / model.inputs[0].shape[1]), // y normalized to input image size\n            },\n          });\n        }\n      }\n      stack.forEach((s) => tf.dispose(s));\n      keypoints = parts;\n    }\n    const score = keypoints.reduce((prev, curr) => (curr.score > prev ? curr.score : prev), 0);\n    resolve([{ score, keypoints }]);\n  });\n}\n", "import { log } from '../helpers';\nimport * as tf from '../../dist/tfjs.esm.js';\nimport * as profile from '../profile';\nimport { labels } from './labels';\n\nlet model;\nlet last: Array<{}> = [];\nlet skipped = Number.MAX_SAFE_INTEGER;\n\nconst scaleBox = 2.5; // increase box size\n\nexport async function load(config) {\n  if (!model) {\n    model = await tf.loadGraphModel(config.object.modelPath);\n    // @ts-ignore\n    model.inputSize = parseInt(Object.values(model.modelSignature['inputs'])[0].tensorShape.dim[2].size);\n    if (config.debug) log(`load model: ${config.object.modelPath.match(/\\/(.*)\\./)[1]}`);\n  }\n  return model;\n}\n\nasync function process(res, inputSize, outputShape, config) {\n  let id = 0;\n  let results: Array<{ score: number, strideSize: number, class: number, label: string, center: number[], centerRaw: number[], box: number[], boxRaw: number[] }> = [];\n  for (const strideSize of [1, 2, 4]) { // try each stride size as it detects large/medium/small objects\n    // find scores, boxes, classes\n    tf.tidy(() => { // wrap in tidy to automatically deallocate temp tensors\n      const baseSize = strideSize * 13; // 13x13=169, 26x26=676, 52x52=2704\n      // find boxes and scores output depending on stride\n      const scoresT = res.find((a) => (a.shape[1] === (baseSize ** 2) && a.shape[2] === labels.length))?.squeeze();\n      const featuresT = res.find((a) => (a.shape[1] === (baseSize ** 2) && a.shape[2] < labels.length))?.squeeze();\n      const boxesMax = featuresT.reshape([-1, 4, featuresT.shape[1] / 4]); // reshape [output] to [4, output / 4] where number is number of different features inside each stride\n      const boxIdx = boxesMax.argMax(2).arraySync(); // what we need is indexes of features with highest scores, not values itself\n      const scores = scoresT.arraySync(); // optionally use exponential scores or just as-is\n      for (let i = 0; i < scoresT.shape[0]; i++) { // total strides (x * y matrix)\n        for (let j = 0; j < scoresT.shape[1]; j++) { // one score for each class\n          const score = scores[i][j]; // get score for current position\n          if (score > config.object.minConfidence && j !== 61) {\n            const cx = (0.5 + Math.trunc(i % baseSize)) / baseSize; // center.x normalized to range 0..1\n            const cy = (0.5 + Math.trunc(i / baseSize)) / baseSize; // center.y normalized to range 0..1\n            const boxOffset = boxIdx[i].map((a) => a * (baseSize / strideSize / inputSize)); // just grab indexes of features with highest scores\n            const [x, y] = [\n              cx - (scaleBox / strideSize * boxOffset[0]),\n              cy - (scaleBox / strideSize * boxOffset[1]),\n            ];\n            const [w, h] = [\n              cx + (scaleBox / strideSize * boxOffset[2]) - x,\n              cy + (scaleBox / strideSize * boxOffset[3]) - y,\n            ];\n            let boxRaw = [x, y, w, h]; // results normalized to range 0..1\n            boxRaw = boxRaw.map((a) => Math.max(0, Math.min(a, 1))); // fix out-of-bounds coords\n            const box = [ // results normalized to input image pixels\n              boxRaw[0] * outputShape[0],\n              boxRaw[1] * outputShape[1],\n              boxRaw[2] * outputShape[0],\n              boxRaw[3] * outputShape[1],\n            ];\n            const result = {\n              id: id++,\n              strideSize,\n              score: Math.round(100 * score) / 100,\n              class: j + 1,\n              label: labels[j].label,\n              center: [Math.trunc(outputShape[0] * cx), Math.trunc(outputShape[1] * cy)],\n              centerRaw: [cx, cy],\n              box: box.map((a) => Math.trunc(a)),\n              boxRaw,\n            };\n            results.push(result);\n          }\n        }\n      }\n    });\n  }\n  // deallocate tensors\n  res.forEach((t) => tf.dispose(t));\n\n  // normally nms is run on raw results, but since boxes need to be calculated this way we skip calulcation of\n  // unnecessary boxes and run nms only on good candidates (basically it just does IOU analysis as scores are already filtered)\n  const nmsBoxes = results.map((a) => a.boxRaw);\n  const nmsScores = results.map((a) => a.score);\n  let nmsIdx: any[] = [];\n  if (nmsBoxes && nmsBoxes.length > 0) {\n    const nms = await tf.image.nonMaxSuppressionAsync(nmsBoxes, nmsScores, config.object.maxResults, config.object.iouThreshold, config.object.minConfidence);\n    nmsIdx = nms.dataSync();\n    tf.dispose(nms);\n  }\n\n  // filter & sort results\n  results = results\n    .filter((a, idx) => nmsIdx.includes(idx))\n    .sort((a, b) => (b.score - a.score));\n\n  return results;\n}\n\nexport async function predict(image, config) {\n  if (!model) return null;\n  // console.log(skipped, config.object.skipFrames, config.videoOptimized, ((skipped < config.object.skipFrames) && config.videoOptimized && (last.length > 0)));\n  if ((skipped < config.object.skipFrames) && config.videoOptimized && (last.length > 0)) {\n    skipped++;\n    return last;\n  }\n  if (config.videoOptimized) skipped = 0;\n  else skipped = Number.MAX_SAFE_INTEGER;\n  return new Promise(async (resolve) => {\n    const outputSize = [image.shape[2], image.shape[1]];\n    const resize = tf.image.resizeBilinear(image, [model.inputSize, model.inputSize], false);\n    const norm = resize.div(255);\n    const transpose = norm.transpose([0, 3, 1, 2]);\n    norm.dispose();\n    resize.dispose();\n\n    let objectT;\n    if (!config.profile) {\n      if (config.object.enabled) objectT = await model.predict(transpose);\n    } else {\n      const profileObject = config.object.enabled ? await tf.profile(() => model.predict(transpose)) : {};\n      objectT = profileObject.result;\n      profile.run('object', profileObject);\n    }\n    transpose.dispose();\n\n    const obj = await process(objectT, model.inputSize, outputSize, config);\n    last = obj;\n    resolve(obj);\n  });\n}\n", "export const labels = [\n  { class: 1, label: 'person' },\n  { class: 2, label: 'bicycle' },\n  { class: 3, label: 'car' },\n  { class: 4, label: 'motorcycle' },\n  { class: 5, label: 'airplane' },\n  { class: 6, label: 'bus' },\n  { class: 7, label: 'train' },\n  { class: 8, label: 'truck' },\n  { class: 9, label: 'boat' },\n  { class: 10, label: 'traffic light' },\n  { class: 11, label: 'fire hydrant' },\n  { class: 12, label: 'stop sign' },\n  { class: 13, label: 'parking meter' },\n  { class: 14, label: 'bench' },\n  { class: 15, label: 'bird' },\n  { class: 16, label: 'cat' },\n  { class: 17, label: 'dog' },\n  { class: 18, label: 'horse' },\n  { class: 19, label: 'sheep' },\n  { class: 20, label: 'cow' },\n  { class: 21, label: 'elephant' },\n  { class: 22, label: 'bear' },\n  { class: 23, label: 'zebra' },\n  { class: 24, label: 'giraffe' },\n  { class: 25, label: 'backpack' },\n  { class: 26, label: 'umbrella' },\n  { class: 27, label: 'handbag' },\n  { class: 28, label: 'tie' },\n  { class: 29, label: 'suitcase' },\n  { class: 30, label: 'frisbee' },\n  { class: 31, label: 'skis' },\n  { class: 32, label: 'snowboard' },\n  { class: 33, label: 'sports ball' },\n  { class: 34, label: 'kite' },\n  { class: 35, label: 'baseball bat' },\n  { class: 36, label: 'baseball glove' },\n  { class: 37, label: 'skateboard' },\n  { class: 38, label: 'surfboard' },\n  { class: 39, label: 'tennis racket' },\n  { class: 40, label: 'bottle' },\n  { class: 41, label: 'wine glass' },\n  { class: 42, label: 'cup' },\n  { class: 43, label: 'fork' },\n  { class: 44, label: 'knife' },\n  { class: 45, label: 'spoon' },\n  { class: 46, label: 'bowl' },\n  { class: 47, label: 'banana' },\n  { class: 48, label: 'apple' },\n  { class: 49, label: 'sandwich' },\n  { class: 50, label: 'orange' },\n  { class: 51, label: 'broccoli' },\n  { class: 52, label: 'carrot' },\n  { class: 53, label: 'hot dog' },\n  { class: 54, label: 'pizza' },\n  { class: 55, label: 'donut' },\n  { class: 56, label: 'cake' },\n  { class: 57, label: 'chair' },\n  { class: 58, label: 'couch' },\n  { class: 59, label: 'potted plant' },\n  { class: 60, label: 'bed' },\n  { class: 61, label: 'dining table' },\n  { class: 62, label: 'toilet' },\n  { class: 63, label: 'tv' },\n  { class: 64, label: 'laptop' },\n  { class: 65, label: 'mouse' },\n  { class: 66, label: 'remote' },\n  { class: 67, label: 'keyboard' },\n  { class: 68, label: 'cell phone' },\n  { class: 69, label: 'microwave' },\n  { class: 70, label: 'oven' },\n  { class: 71, label: 'toaster' },\n  { class: 72, label: 'sink' },\n  { class: 73, label: 'refrigerator' },\n  { class: 74, label: 'book' },\n  { class: 75, label: 'clock' },\n  { class: 76, label: 'vase' },\n  { class: 77, label: 'scissors' },\n  { class: 78, label: 'teddy bear' },\n  { class: 79, label: 'hair drier' },\n  { class: 80, label: 'toothbrush' },\n];\n", "export const body = (res) => {\n  if (!res) return [];\n  const gestures: Array<{ body: number, gesture: string }> = [];\n  for (let i = 0; i < res.length; i++) {\n    // raising hands\n    const leftWrist = res[i].keypoints.find((a) => (a.part === 'leftWrist'));\n    const rightWrist = res[i].keypoints.find((a) => (a.part === 'rightWrist'));\n    const nose = res[i].keypoints.find((a) => (a.part === 'nose'));\n    if (nose && leftWrist && rightWrist && (leftWrist.position.y < nose.position.y) && (rightWrist.position.y < nose.position.y)) gestures.push({ body: i, gesture: 'i give up' });\n    else if (nose && leftWrist && (leftWrist.position.y < nose.position.y)) gestures.push({ body: i, gesture: 'raise left hand' });\n    else if (nose && rightWrist && (rightWrist.position.y < nose.position.y)) gestures.push({ body: i, gesture: 'raise right hand' });\n\n    // leaning\n    const leftShoulder = res[i].keypoints.find((a) => (a.part === 'leftShoulder'));\n    const rightShoulder = res[i].keypoints.find((a) => (a.part === 'rightShoulder'));\n    if (leftShoulder && rightShoulder) gestures.push({ body: i, gesture: `leaning ${(leftShoulder.position.y > rightShoulder.position.y) ? 'left' : 'right'}` });\n  }\n  return gestures;\n};\n\nexport const face = (res) => {\n  if (!res) return [];\n  const gestures: Array<{ face: number, gesture: string }> = [];\n  for (let i = 0; i < res.length; i++) {\n    if (res[i].mesh && res[i].mesh.length > 0) {\n      const eyeFacing = res[i].mesh[33][2] - res[i].mesh[263][2];\n      if (Math.abs(eyeFacing) < 10) gestures.push({ face: i, gesture: 'facing camera' });\n      else gestures.push({ face: i, gesture: `facing ${eyeFacing < 0 ? 'right' : 'left'}` });\n      const openLeft = Math.abs(res[i].mesh[374][1] - res[i].mesh[386][1]) / Math.abs(res[i].mesh[443][1] - res[i].mesh[450][1]); // center of eye inner lid y coord div center of wider eye border y coord\n      if (openLeft < 0.2) gestures.push({ face: i, gesture: 'blink left eye' });\n      const openRight = Math.abs(res[i].mesh[145][1] - res[i].mesh[159][1]) / Math.abs(res[i].mesh[223][1] - res[i].mesh[230][1]); // center of eye inner lid y coord div center of wider eye border y coord\n      if (openRight < 0.2) gestures.push({ face: i, gesture: 'blink right eye' });\n      const mouthOpen = Math.min(100, 500 * Math.abs(res[i].mesh[13][1] - res[i].mesh[14][1]) / Math.abs(res[i].mesh[10][1] - res[i].mesh[152][1]));\n      if (mouthOpen > 10) gestures.push({ face: i, gesture: `mouth ${Math.trunc(mouthOpen)}% open` });\n      const chinDepth = res[i].mesh[152][2];\n      if (Math.abs(chinDepth) > 10) gestures.push({ face: i, gesture: `head ${chinDepth < 0 ? 'up' : 'down'}` });\n    }\n  }\n  return gestures;\n};\n\nexport const iris = (res) => {\n  if (!res) return [];\n  const gestures: Array<{ iris: number, gesture: string }> = [];\n  for (let i = 0; i < res.length; i++) {\n    if (!res[i].annotations || !res[i].annotations.leftEyeIris || !res[i].annotations.rightEyeIris) continue;\n    const sizeXLeft = res[i].annotations.leftEyeIris[3][0] - res[i].annotations.leftEyeIris[1][0];\n    const sizeYLeft = res[i].annotations.leftEyeIris[4][1] - res[i].annotations.leftEyeIris[2][1];\n    const areaLeft = Math.abs(sizeXLeft * sizeYLeft);\n\n    const sizeXRight = res[i].annotations.rightEyeIris[3][0] - res[i].annotations.rightEyeIris[1][0];\n    const sizeYRight = res[i].annotations.rightEyeIris[4][1] - res[i].annotations.rightEyeIris[2][1];\n    const areaRight = Math.abs(sizeXRight * sizeYRight);\n\n    const difference = Math.abs(areaLeft - areaRight) / Math.max(areaLeft, areaRight);\n    if (difference < 0.25) gestures.push({ iris: i, gesture: 'looking at camera' });\n  }\n  return gestures;\n};\n\nexport const hand = (res) => {\n  if (!res) return [];\n  const gestures: Array<{ hand: number, gesture: string }> = [];\n  for (let i = 0; i < res.length; i++) {\n    const fingers: Array<{ name: string, position: number }> = [];\n    for (const [finger, pos] of Object.entries(res[i]['annotations'])) {\n      // @ts-ignore\n      if (finger !== 'palmBase') fingers.push({ name: finger.toLowerCase(), position: pos[0] }); // get tip of each finger\n    }\n    if (fingers && fingers.length > 0) {\n      const closest = fingers.reduce((best, a) => (best.position[2] < a.position[2] ? best : a));\n      const highest = fingers.reduce((best, a) => (best.position[1] < a.position[1] ? best : a));\n      gestures.push({ hand: i, gesture: `${closest.name} forward ${highest.name} up` });\n    }\n  }\n  return gestures;\n};\n", "// @ts-nocheck\n\nimport * as tf from '../../dist/tfjs.esm.js';\nimport * as fxImage from './imagefx';\n\nconst maxSize = 2048;\n// internal temp canvases\nlet inCanvas = null;\nlet outCanvas = null;\n// instance of fximage\nlet fx = null;\n\n// process input image and return tensor\n// input can be tensor, imagedata, htmlimageelement, htmlvideoelement\n// input is resized and run through imagefx filter\nexport function process(input, config): { tensor: tf.Tensor, canvas: OffscreenCanvas | HTMLCanvasElement } {\n  let tensor;\n  if (!input) throw new Error('Human: Input is missing');\n  if (\n    !(input instanceof tf.Tensor)\n    && !(input instanceof Image)\n    && !(input instanceof ImageData)\n    && !(input instanceof ImageBitmap)\n    && !(input instanceof HTMLImageElement)\n    && !(input instanceof HTMLVideoElement)\n    && !(input instanceof HTMLCanvasElement)\n    && !(input instanceof OffscreenCanvas)\n  ) {\n    throw new Error('Human: Input type is not recognized');\n  }\n  if (input instanceof tf.Tensor) {\n    tensor = tf.clone(input);\n  } else {\n    const originalWidth = input.naturalWidth || input.videoWidth || input.width || (input.shape && (input.shape[1] > 0));\n    const originalHeight = input.naturalHeight || input.videoHeight || input.height || (input.shape && (input.shape[2] > 0));\n    let targetWidth = originalWidth;\n    let targetHeight = originalHeight;\n    if (targetWidth > maxSize) {\n      targetWidth = maxSize;\n      targetHeight = targetWidth * originalHeight / originalWidth;\n    }\n    if (targetHeight > maxSize) {\n      targetHeight = maxSize;\n      targetWidth = targetHeight * originalWidth / originalHeight;\n    }\n    if (config.filter.width > 0) targetWidth = config.filter.width;\n    else if (config.filter.height > 0) targetWidth = originalWidth * (config.filter.height / originalHeight);\n    if (config.filter.height > 0) targetHeight = config.filter.height;\n    else if (config.filter.width > 0) targetHeight = originalHeight * (config.filter.width / originalWidth);\n    if (!targetWidth || !targetHeight) throw new Error('Human: Input cannot determine dimension');\n    if (!inCanvas || (inCanvas.width !== targetWidth) || (inCanvas.height !== targetHeight)) {\n      inCanvas = (typeof OffscreenCanvas !== 'undefined') ? new OffscreenCanvas(targetWidth, targetHeight) : document.createElement('canvas');\n      if (inCanvas.width !== targetWidth) inCanvas.width = targetWidth;\n      if (inCanvas.height !== targetHeight) inCanvas.height = targetHeight;\n    }\n    const ctx = inCanvas.getContext('2d');\n    if (input instanceof ImageData) ctx.putImageData(input, 0, 0);\n    else ctx.drawImage(input, 0, 0, originalWidth, originalHeight, 0, 0, inCanvas.width, inCanvas.height);\n    if (config.filter.enabled) {\n      if (!fx || !outCanvas || (inCanvas.width !== outCanvas.width) || (inCanvas.height !== outCanvas.height)) {\n        outCanvas = (typeof OffscreenCanvas !== 'undefined') ? new OffscreenCanvas(inCanvas.width, inCanvas.height) : document.createElement('canvas');\n        if (outCanvas.width !== inCanvas.width) outCanvas.width = inCanvas.width;\n        if (outCanvas.height !== inCanvas.height) outCanvas.height = inCanvas.height;\n        // log('created FX filter');\n        fx = tf.ENV.flags.IS_BROWSER ? new fxImage.GLImageFilter({ canvas: outCanvas }) : null; // && (typeof document !== 'undefined')\n      }\n      if (!fx) return { tensor: null, canvas: inCanvas };\n      fx.reset();\n      fx.addFilter('brightness', config.filter.brightness); // must have at least one filter enabled\n      if (config.filter.contrast !== 0) fx.addFilter('contrast', config.filter.contrast);\n      if (config.filter.sharpness !== 0) fx.addFilter('sharpen', config.filter.sharpness);\n      if (config.filter.blur !== 0) fx.addFilter('blur', config.filter.blur);\n      if (config.filter.saturation !== 0) fx.addFilter('saturation', config.filter.saturation);\n      if (config.filter.hue !== 0) fx.addFilter('hue', config.filter.hue);\n      if (config.filter.negative) fx.addFilter('negative');\n      if (config.filter.sepia) fx.addFilter('sepia');\n      if (config.filter.vintage) fx.addFilter('brownie');\n      if (config.filter.sepia) fx.addFilter('sepia');\n      if (config.filter.kodachrome) fx.addFilter('kodachrome');\n      if (config.filter.technicolor) fx.addFilter('technicolor');\n      if (config.filter.polaroid) fx.addFilter('polaroid');\n      if (config.filter.pixelate !== 0) fx.addFilter('pixelate', config.filter.pixelate);\n      fx.apply(inCanvas);\n      // read pixel data\n      /*\n      const gl = outCanvas.getContext('webgl');\n      if (gl) {\n        const glBuffer = new Uint8Array(outCanvas.width * outCanvas.height * 4);\n        const pixBuffer = new Uint8Array(outCanvas.width * outCanvas.height * 3);\n        gl.readPixels(0, 0, outCanvas.width, outCanvas.height, gl.RGBA, gl.UNSIGNED_BYTE, glBuffer);\n        // gl returns rbga while we only need rgb, so discarding alpha channel\n        // gl returns starting point as lower left, so need to invert vertical\n        let i = 0;\n        for (let y = outCanvas.height - 1; y >= 0; y--) {\n          for (let x = 0; x < outCanvas.width; x++) {\n            const index = (x + y * outCanvas.width) * 4;\n            pixBuffer[i++] = glBuffer[index + 0];\n            pixBuffer[i++] = glBuffer[index + 1];\n            pixBuffer[i++] = glBuffer[index + 2];\n          }\n        }\n        outCanvas.data = pixBuffer;\n      }\n      */\n    } else {\n      outCanvas = inCanvas;\n      if (fx) fx = null;\n    }\n    let pixels;\n    if (outCanvas.data) {\n      const shape = [outCanvas.height, outCanvas.width, 3];\n      pixels = tf.tensor3d(outCanvas.data, shape, 'int32');\n    } else if ((config.backend === 'webgl') || (outCanvas instanceof ImageData)) {\n      // tf kernel-optimized method to get imagedata, also if input is imagedata, just use it\n      pixels = tf.browser.fromPixels(outCanvas);\n    } else {\n      // cpu and wasm kernel does not implement efficient fromPixels method nor we can use canvas as-is, so we do a silly one more canvas\n      const tempCanvas = (typeof OffscreenCanvas !== 'undefined') ? new OffscreenCanvas(targetWidth, targetHeight) : document.createElement('canvas');\n      tempCanvas.width = targetWidth;\n      tempCanvas.height = targetHeight;\n      const tempCtx = tempCanvas.getContext('2d');\n      tempCtx?.drawImage(outCanvas, 0, 0);\n      const data = tempCtx?.getImageData(0, 0, targetWidth, targetHeight);\n      pixels = tf.browser.fromPixels(data);\n    }\n    const casted = pixels.toFloat();\n    tensor = casted.expandDims(0);\n    pixels.dispose();\n    casted.dispose();\n  }\n  const canvas = config.filter.return ? outCanvas : null;\n  return { tensor, canvas };\n}\n", "/*\nWebGLImageFilter - MIT Licensed\n2013, Dominic Szablewski - phoboslab.org\n<https://github.com/phoboslab/WebGLImageFilter>\n*/\n\nfunction GLProgram(gl, vertexSource, fragmentSource) {\n  const _collect = function (source, prefix, collection) {\n    const r = new RegExp('\\\\b' + prefix + ' \\\\w+ (\\\\w+)', 'ig');\n    source.replace(r, (match, name) => {\n      collection[name] = 0;\n      return match;\n    });\n  };\n\n  const _compile = function (source, type) {\n    const shader = gl.createShader(type);\n    gl.shaderSource(shader, source);\n    gl.compileShader(shader);\n    if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {\n      // @ts-ignore\n      throw new Error('Filter: GL compile failed', gl.getShaderInfoLog(shader));\n    }\n    return shader;\n  };\n\n  this.uniform = {};\n  this.attribute = {};\n  const _vsh = _compile(vertexSource, gl.VERTEX_SHADER);\n  const _fsh = _compile(fragmentSource, gl.FRAGMENT_SHADER);\n  this.id = gl.createProgram();\n  gl.attachShader(this.id, _vsh);\n  gl.attachShader(this.id, _fsh);\n  gl.linkProgram(this.id);\n\n  if (!gl.getProgramParameter(this.id, gl.LINK_STATUS)) {\n    // @ts-ignore\n    throw new Error('Filter: GL link failed', gl.getProgramInfoLog(this.id));\n  }\n\n  gl.useProgram(this.id);\n  // Collect attributes\n  _collect(vertexSource, 'attribute', this.attribute);\n  for (const a in this.attribute) this.attribute[a] = gl.getAttribLocation(this.id, a);\n  // Collect uniforms\n  _collect(vertexSource, 'uniform', this.uniform);\n  _collect(fragmentSource, 'uniform', this.uniform);\n  for (const u in this.uniform) this.uniform[u] = gl.getUniformLocation(this.id, u);\n}\n\n// export const GLImageFilter = function (params) {\nexport function GLImageFilter(params) {\n  if (!params) params = { };\n  let _drawCount = 0;\n  let _sourceTexture = null;\n  let _lastInChain = false;\n  let _currentFramebufferIndex = -1;\n  let _tempFramebuffers = [null, null];\n  let _filterChain = [];\n  let _width = -1;\n  let _height = -1;\n  let _vertexBuffer = null;\n  let _currentProgram = null;\n  const _filter = {};\n  const _canvas = params.canvas || document.createElement('canvas');\n  // key is the shader program source, value is the compiled program\n  const _shaderProgramCache = { };\n  const DRAW = { INTERMEDIATE: 1 };\n  const gl = _canvas.getContext('webgl');\n  if (!gl) throw new Error('Filter: getContext() failed');\n\n  this.addFilter = function (name) {\n    // eslint-disable-next-line prefer-rest-params\n    const args = Array.prototype.slice.call(arguments, 1);\n    const filter = _filter[name];\n    _filterChain.push({ func: filter, args });\n  };\n\n  this.reset = function () {\n    _filterChain = [];\n  };\n\n  const _resize = function (width, height) {\n    // Same width/height? Nothing to do here\n    if (width === _width && height === _height) { return; }\n    _canvas.width = width;\n    _width = width;\n    _canvas.height = height;\n    _height = height;\n    // Create the context if we don't have it yet\n    if (!_vertexBuffer) {\n      // Create the vertex buffer for the two triangles [x, y, u, v] * 6\n      const vertices = new Float32Array([\n        -1, -1, 0, 1, 1, -1, 1, 1, -1, 1, 0, 0,\n        -1, 1, 0, 0, 1, -1, 1, 1, 1, 1, 1, 0,\n      ]);\n      // eslint-disable-next-line no-unused-expressions\n      (_vertexBuffer = gl.createBuffer(), gl.bindBuffer(gl.ARRAY_BUFFER, _vertexBuffer));\n      gl.bufferData(gl.ARRAY_BUFFER, vertices, gl.STATIC_DRAW);\n      gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, true);\n    }\n    gl.viewport(0, 0, _width, _height);\n    // Delete old temp framebuffers\n    _tempFramebuffers = [null, null];\n  };\n\n  const _createFramebufferTexture = function (width, height) {\n    const fbo = gl.createFramebuffer();\n    gl.bindFramebuffer(gl.FRAMEBUFFER, fbo);\n    const renderbuffer = gl.createRenderbuffer();\n    gl.bindRenderbuffer(gl.RENDERBUFFER, renderbuffer);\n    const texture = gl.createTexture();\n    gl.bindTexture(gl.TEXTURE_2D, texture);\n    gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, width, height, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);\n    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);\n    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);\n    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n    gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, texture, 0);\n    gl.bindTexture(gl.TEXTURE_2D, null);\n    gl.bindFramebuffer(gl.FRAMEBUFFER, null);\n    return { fbo, texture };\n  };\n\n  const _getTempFramebuffer = function (index) {\n    // @ts-ignore\n    _tempFramebuffers[index] = _tempFramebuffers[index] || _createFramebufferTexture(_width, _height);\n    return _tempFramebuffers[index];\n  };\n\n  const _draw = function (flags = null) {\n    let source = null;\n    let target = null;\n    let flipY = false;\n    // Set up the source\n    if (_drawCount === 0) {\n      // First draw call - use the source texture\n      source = _sourceTexture;\n    } else {\n      // All following draw calls use the temp buffer last drawn to\n      // @ts-ignore\n      source = _getTempFramebuffer(_currentFramebufferIndex)?.texture;\n    }\n    _drawCount++;\n    // Set up the target\n    if (_lastInChain && !(flags & DRAW.INTERMEDIATE)) {\n      // Last filter in our chain - draw directly to the WebGL Canvas. We may\n      // also have to flip the image vertically now\n      target = null;\n      flipY = _drawCount % 2 === 0;\n    } else {\n      // Intermediate draw call - get a temp buffer to draw to\n      _currentFramebufferIndex = (_currentFramebufferIndex + 1) % 2;\n      // @ts-ignore\n      target = _getTempFramebuffer(_currentFramebufferIndex)?.fbo;\n    }\n    // Bind the source and target and draw the two triangles\n    gl.bindTexture(gl.TEXTURE_2D, source);\n    gl.bindFramebuffer(gl.FRAMEBUFFER, target);\n    gl.uniform1f(_currentProgram.uniform.flipY, (flipY ? -1 : 1));\n    gl.drawArrays(gl.TRIANGLES, 0, 6);\n  };\n\n  this.apply = function (image) {\n    _resize(image.width, image.height);\n    _drawCount = 0;\n    // Create the texture for the input image if we haven't yet\n    if (!_sourceTexture) _sourceTexture = gl.createTexture();\n    gl.bindTexture(gl.TEXTURE_2D, _sourceTexture);\n    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n    gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);\n    // No filters? Just draw\n    if (_filterChain.length === 0) {\n      // const program = _compileShader(SHADER.FRAGMENT_IDENTITY);\n      _draw();\n      return _canvas;\n    }\n    for (let i = 0; i < _filterChain.length; i++) {\n      _lastInChain = (i === _filterChain.length - 1);\n      const f = _filterChain[i];\n      f.func.apply(this, f.args || []);\n    }\n    return _canvas;\n  };\n\n  const _compileShader = function (fragmentSource) {\n    if (_shaderProgramCache[fragmentSource]) {\n      _currentProgram = _shaderProgramCache[fragmentSource];\n      gl.useProgram(_currentProgram.id);\n      return _currentProgram;\n    }\n    // Compile shaders\n    const SHADER = {};\n    SHADER.VERTEX_IDENTITY = [\n      'precision highp float;',\n      'attribute vec2 pos;',\n      'attribute vec2 uv;',\n      'varying vec2 vUv;',\n      'uniform float flipY;',\n      'void main(void) {',\n      'vUv = uv;',\n      'gl_Position = vec4(pos.x, pos.y*flipY, 0.0, 1.);',\n      '}',\n    ].join('\\n');\n    SHADER.FRAGMENT_IDENTITY = [\n      'precision highp float;',\n      'varying vec2 vUv;',\n      'uniform sampler2D texture;',\n      'void main(void) {',\n      'gl_FragColor = texture2D(texture, vUv);',\n      '}',\n    ].join('\\n');\n    _currentProgram = new GLProgram(gl, SHADER.VERTEX_IDENTITY, fragmentSource);\n    const floatSize = Float32Array.BYTES_PER_ELEMENT;\n    const vertSize = 4 * floatSize;\n    gl.enableVertexAttribArray(_currentProgram.attribute.pos);\n    gl.vertexAttribPointer(_currentProgram.attribute.pos, 2, gl.FLOAT, false, vertSize, 0 * floatSize);\n    gl.enableVertexAttribArray(_currentProgram.attribute.uv);\n    gl.vertexAttribPointer(_currentProgram.attribute.uv, 2, gl.FLOAT, false, vertSize, 2 * floatSize);\n    _shaderProgramCache[fragmentSource] = _currentProgram;\n    return _currentProgram;\n  };\n\n  // -------------------------------------------------------------------------\n  // Color Matrix Filter\n  _filter.colorMatrix = function (matrix) {\n    // Create a Float32 Array and normalize the offset component to 0-1\n    const m = new Float32Array(matrix);\n    m[4] /= 255;\n    m[9] /= 255;\n    m[14] /= 255;\n    m[19] /= 255;\n    // Can we ignore the alpha value? Makes things a bit faster.\n    const shader = (m[18] === 1 && m[3] === 0 && m[8] === 0 && m[13] === 0 && m[15] === 0 && m[16] === 0 && m[17] === 0 && m[19] === 0)\n      ? _filter.colorMatrix.SHADER.WITHOUT_ALPHA\n      : _filter.colorMatrix.SHADER.WITH_ALPHA;\n    const program = _compileShader(shader);\n    gl.uniform1fv(program.uniform.m, m);\n    _draw();\n  };\n  _filter.colorMatrix.SHADER = {};\n  _filter.colorMatrix.SHADER.WITH_ALPHA = [\n    'precision highp float;',\n    'varying vec2 vUv;',\n    'uniform sampler2D texture;',\n    'uniform float m[20];',\n    'void main(void) {',\n    'vec4 c = texture2D(texture, vUv);',\n    'gl_FragColor.r = m[0] * c.r + m[1] * c.g + m[2] * c.b + m[3] * c.a + m[4];',\n    'gl_FragColor.g = m[5] * c.r + m[6] * c.g + m[7] * c.b + m[8] * c.a + m[9];',\n    'gl_FragColor.b = m[10] * c.r + m[11] * c.g + m[12] * c.b + m[13] * c.a + m[14];',\n    'gl_FragColor.a = m[15] * c.r + m[16] * c.g + m[17] * c.b + m[18] * c.a + m[19];',\n    '}',\n  ].join('\\n');\n  _filter.colorMatrix.SHADER.WITHOUT_ALPHA = [\n    'precision highp float;',\n    'varying vec2 vUv;',\n    'uniform sampler2D texture;',\n    'uniform float m[20];',\n    'void main(void) {',\n    'vec4 c = texture2D(texture, vUv);',\n    'gl_FragColor.r = m[0] * c.r + m[1] * c.g + m[2] * c.b + m[4];',\n    'gl_FragColor.g = m[5] * c.r + m[6] * c.g + m[7] * c.b + m[9];',\n    'gl_FragColor.b = m[10] * c.r + m[11] * c.g + m[12] * c.b + m[14];',\n    'gl_FragColor.a = c.a;',\n    '}',\n  ].join('\\n');\n\n  _filter.brightness = function (brightness) {\n    const b = (brightness || 0) + 1;\n    _filter.colorMatrix([\n      b, 0, 0, 0, 0,\n      0, b, 0, 0, 0,\n      0, 0, b, 0, 0,\n      0, 0, 0, 1, 0,\n    ]);\n  };\n\n  _filter.saturation = function (amount) {\n    const x = (amount || 0) * 2 / 3 + 1;\n    const y = ((x - 1) * -0.5);\n    _filter.colorMatrix([\n      x, y, y, 0, 0,\n      y, x, y, 0, 0,\n      y, y, x, 0, 0,\n      0, 0, 0, 1, 0,\n    ]);\n  };\n\n  _filter.desaturate = function () {\n    _filter.saturation(-1);\n  };\n\n  _filter.contrast = function (amount) {\n    const v = (amount || 0) + 1;\n    const o = -128 * (v - 1);\n\n    _filter.colorMatrix([\n      v, 0, 0, 0, o,\n      0, v, 0, 0, o,\n      0, 0, v, 0, o,\n      0, 0, 0, 1, 0,\n    ]);\n  };\n\n  _filter.negative = function () {\n    _filter.contrast(-2);\n  };\n\n  _filter.hue = function (rotation) {\n    rotation = (rotation || 0) / 180 * Math.PI;\n    const cos = Math.cos(rotation);\n    const sin = Math.sin(rotation);\n    const lumR = 0.213;\n    const lumG = 0.715;\n    const lumB = 0.072;\n\n    _filter.colorMatrix([\n      lumR + cos * (1 - lumR) + sin * (-lumR), lumG + cos * (-lumG) + sin * (-lumG), lumB + cos * (-lumB) + sin * (1 - lumB), 0, 0,\n      lumR + cos * (-lumR) + sin * (0.143), lumG + cos * (1 - lumG) + sin * (0.140), lumB + cos * (-lumB) + sin * (-0.283), 0, 0,\n      lumR + cos * (-lumR) + sin * (-(1 - lumR)), lumG + cos * (-lumG) + sin * (lumG), lumB + cos * (1 - lumB) + sin * (lumB), 0, 0,\n      0, 0, 0, 1, 0,\n    ]);\n  };\n\n  _filter.desaturateLuminance = function () {\n    _filter.colorMatrix([\n      0.2764723, 0.9297080, 0.0938197, 0, -37.1,\n      0.2764723, 0.9297080, 0.0938197, 0, -37.1,\n      0.2764723, 0.9297080, 0.0938197, 0, -37.1,\n      0, 0, 0, 1, 0,\n    ]);\n  };\n\n  _filter.sepia = function () {\n    _filter.colorMatrix([\n      0.393, 0.7689999, 0.18899999, 0, 0,\n      0.349, 0.6859999, 0.16799999, 0, 0,\n      0.272, 0.5339999, 0.13099999, 0, 0,\n      0, 0, 0, 1, 0,\n    ]);\n  };\n\n  _filter.brownie = function () {\n    _filter.colorMatrix([\n      0.5997023498159715, 0.34553243048391263, -0.2708298674538042, 0, 47.43192855600873,\n      -0.037703249837783157, 0.8609577587992641, 0.15059552388459913, 0, -36.96841498319127,\n      0.24113635128153335, -0.07441037908422492, 0.44972182064877153, 0, -7.562075277591283,\n      0, 0, 0, 1, 0,\n    ]);\n  };\n\n  _filter.vintagePinhole = function () {\n    _filter.colorMatrix([\n      0.6279345635605994, 0.3202183420819367, -0.03965408211312453, 0, 9.651285835294123,\n      0.02578397704808868, 0.6441188644374771, 0.03259127616149294, 0, 7.462829176470591,\n      0.0466055556782719, -0.0851232987247891, 0.5241648018700465, 0, 5.159190588235296,\n      0, 0, 0, 1, 0,\n    ]);\n  };\n\n  _filter.kodachrome = function () {\n    _filter.colorMatrix([\n      1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502,\n      -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203,\n      -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946,\n      0, 0, 0, 1, 0,\n    ]);\n  };\n\n  _filter.technicolor = function () {\n    _filter.colorMatrix([\n      1.9125277891456083, -0.8545344976951645, -0.09155508482755585, 0, 11.793603434377337,\n      -0.3087833385928097, 1.7658908555458428, -0.10601743074722245, 0, -70.35205161461398,\n      -0.231103377548616, -0.7501899197440212, 1.847597816108189, 0, 30.950940869491138,\n      0, 0, 0, 1, 0,\n    ]);\n  };\n\n  _filter.polaroid = function () {\n    _filter.colorMatrix([\n      1.438, -0.062, -0.062, 0, 0,\n      -0.122, 1.378, -0.122, 0, 0,\n      -0.016, -0.016, 1.483, 0, 0,\n      0, 0, 0, 1, 0,\n    ]);\n  };\n\n  _filter.shiftToBGR = function () {\n    _filter.colorMatrix([\n      0, 0, 1, 0, 0,\n      0, 1, 0, 0, 0,\n      1, 0, 0, 0, 0,\n      0, 0, 0, 1, 0,\n    ]);\n  };\n\n  // -------------------------------------------------------------------------\n  // Convolution Filter\n  _filter.convolution = function (matrix) {\n    const m = new Float32Array(matrix);\n    const pixelSizeX = 1 / _width;\n    const pixelSizeY = 1 / _height;\n    const program = _compileShader(_filter.convolution.SHADER);\n    gl.uniform1fv(program.uniform.m, m);\n    gl.uniform2f(program.uniform.px, pixelSizeX, pixelSizeY);\n    _draw();\n  };\n\n  _filter.convolution.SHADER = [\n    'precision highp float;',\n    'varying vec2 vUv;',\n    'uniform sampler2D texture;',\n    'uniform vec2 px;',\n    'uniform float m[9];',\n    'void main(void) {',\n    'vec4 c11 = texture2D(texture, vUv - px);', // top left\n    'vec4 c12 = texture2D(texture, vec2(vUv.x, vUv.y - px.y));', // top center\n    'vec4 c13 = texture2D(texture, vec2(vUv.x + px.x, vUv.y - px.y));', // top right\n    'vec4 c21 = texture2D(texture, vec2(vUv.x - px.x, vUv.y) );', // mid left\n    'vec4 c22 = texture2D(texture, vUv);', // mid center\n    'vec4 c23 = texture2D(texture, vec2(vUv.x + px.x, vUv.y) );', // mid right\n    'vec4 c31 = texture2D(texture, vec2(vUv.x - px.x, vUv.y + px.y) );', // bottom left\n    'vec4 c32 = texture2D(texture, vec2(vUv.x, vUv.y + px.y) );', // bottom center\n    'vec4 c33 = texture2D(texture, vUv + px );', // bottom right\n    'gl_FragColor = ',\n    'c11 * m[0] + c12 * m[1] + c22 * m[2] +',\n    'c21 * m[3] + c22 * m[4] + c23 * m[5] +',\n    'c31 * m[6] + c32 * m[7] + c33 * m[8];',\n    'gl_FragColor.a = c22.a;',\n    '}',\n  ].join('\\n');\n\n  _filter.detectEdges = function () {\n    _filter.convolution.call(this, [\n      0, 1, 0,\n      1, -4, 1,\n      0, 1, 0,\n    ]);\n  };\n\n  _filter.sobelX = function () {\n    _filter.convolution.call(this, [\n      -1, 0, 1,\n      -2, 0, 2,\n      -1, 0, 1,\n    ]);\n  };\n\n  _filter.sobelY = function () {\n    _filter.convolution.call(this, [\n      -1, -2, -1,\n      0, 0, 0,\n      1, 2, 1,\n    ]);\n  };\n\n  _filter.sharpen = function (amount) {\n    const a = amount || 1;\n    _filter.convolution.call(this, [\n      0, -1 * a, 0,\n      -1 * a, 1 + 4 * a, -1 * a,\n      0, -1 * a, 0,\n    ]);\n  };\n\n  _filter.emboss = function (size) {\n    const s = size || 1;\n    _filter.convolution.call(this, [\n      -2 * s, -1 * s, 0,\n      -1 * s, 1, 1 * s,\n      0, 1 * s, 2 * s,\n    ]);\n  };\n\n  // -------------------------------------------------------------------------\n  // Blur Filter\n  _filter.blur = function (size) {\n    const blurSizeX = (size / 7) / _width;\n    const blurSizeY = (size / 7) / _height;\n    const program = _compileShader(_filter.blur.SHADER);\n    // Vertical\n    gl.uniform2f(program.uniform.px, 0, blurSizeY);\n    _draw(DRAW.INTERMEDIATE);\n    // Horizontal\n    gl.uniform2f(program.uniform.px, blurSizeX, 0);\n    _draw();\n  };\n\n  _filter.blur.SHADER = [\n    'precision highp float;',\n    'varying vec2 vUv;',\n    'uniform sampler2D texture;',\n    'uniform vec2 px;',\n    'void main(void) {',\n    'gl_FragColor = vec4(0.0);',\n    'gl_FragColor += texture2D(texture, vUv + vec2(-7.0*px.x, -7.0*px.y))*0.0044299121055113265;',\n    'gl_FragColor += texture2D(texture, vUv + vec2(-6.0*px.x, -6.0*px.y))*0.00895781211794;',\n    'gl_FragColor += texture2D(texture, vUv + vec2(-5.0*px.x, -5.0*px.y))*0.0215963866053;',\n    'gl_FragColor += texture2D(texture, vUv + vec2(-4.0*px.x, -4.0*px.y))*0.0443683338718;',\n    'gl_FragColor += texture2D(texture, vUv + vec2(-3.0*px.x, -3.0*px.y))*0.0776744219933;',\n    'gl_FragColor += texture2D(texture, vUv + vec2(-2.0*px.x, -2.0*px.y))*0.115876621105;',\n    'gl_FragColor += texture2D(texture, vUv + vec2(-1.0*px.x, -1.0*px.y))*0.147308056121;',\n    'gl_FragColor += texture2D(texture, vUv                             )*0.159576912161;',\n    'gl_FragColor += texture2D(texture, vUv + vec2( 1.0*px.x,  1.0*px.y))*0.147308056121;',\n    'gl_FragColor += texture2D(texture, vUv + vec2( 2.0*px.x,  2.0*px.y))*0.115876621105;',\n    'gl_FragColor += texture2D(texture, vUv + vec2( 3.0*px.x,  3.0*px.y))*0.0776744219933;',\n    'gl_FragColor += texture2D(texture, vUv + vec2( 4.0*px.x,  4.0*px.y))*0.0443683338718;',\n    'gl_FragColor += texture2D(texture, vUv + vec2( 5.0*px.x,  5.0*px.y))*0.0215963866053;',\n    'gl_FragColor += texture2D(texture, vUv + vec2( 6.0*px.x,  6.0*px.y))*0.00895781211794;',\n    'gl_FragColor += texture2D(texture, vUv + vec2( 7.0*px.x,  7.0*px.y))*0.0044299121055113265;',\n    '}',\n  ].join('\\n');\n\n  // -------------------------------------------------------------------------\n  // Pixelate Filter\n  _filter.pixelate = function (size) {\n    const blurSizeX = (size) / _width;\n    const blurSizeY = (size) / _height;\n    const program = _compileShader(_filter.pixelate.SHADER);\n    // Horizontal\n    gl.uniform2f(program.uniform.size, blurSizeX, blurSizeY);\n    _draw();\n  };\n\n  _filter.pixelate.SHADER = [\n    'precision highp float;',\n    'varying vec2 vUv;',\n    'uniform vec2 size;',\n    'uniform sampler2D texture;',\n    'vec2 pixelate(vec2 coord, vec2 size) {',\n    'return floor( coord / size ) * size;',\n    '}',\n    'void main(void) {',\n    'gl_FragColor = vec4(0.0);',\n    'vec2 coord = pixelate(vUv, size);',\n    'gl_FragColor += texture2D(texture, coord);',\n    '}',\n  ].join('\\n');\n}\n", "import { defaults } from '../config';\nimport { TRI468 as triangulation } from '../blazeface/coords';\n\nexport const drawOptions = {\n  color: <string>'rgba(173, 216, 230, 0.3)', // 'lightblue' with light alpha channel\n  labelColor: <string>'rgba(173, 216, 230, 1)', // 'lightblue' with dark alpha channel\n  shadowColor: <string>'black',\n  font: <string>'small-caps 16px \"Segoe UI\"',\n  lineHeight: <number>20,\n  lineWidth: <number>6,\n  pointSize: <number>2,\n  roundRect: <number>28,\n  drawPoints: <Boolean>false,\n  drawLabels: <Boolean>true,\n  drawBoxes: <Boolean>true,\n  drawPolygons: <Boolean>true,\n  fillPolygons: <Boolean>false,\n  useDepth: <Boolean>true,\n  useCurves: <Boolean>false,\n  bufferedOutput: <Boolean>false,\n  useRawBoxes: <Boolean>false,\n};\n\nfunction point(ctx, x, y, z = null) {\n  ctx.fillStyle = drawOptions.useDepth && z ? `rgba(${127.5 + (2 * (z || 0))}, ${127.5 - (2 * (z || 0))}, 255, 0.3)` : drawOptions.color;\n  ctx.beginPath();\n  ctx.arc(x, y, drawOptions.pointSize, 0, 2 * Math.PI);\n  ctx.fill();\n}\n\nfunction rect(ctx, x, y, width, height) {\n  ctx.beginPath();\n  if (drawOptions.useCurves) {\n    const cx = (x + x + width) / 2;\n    const cy = (y + y + height) / 2;\n    ctx.ellipse(cx, cy, width / 2, height / 2, 0, 0, 2 * Math.PI);\n  } else {\n    ctx.lineWidth = drawOptions.lineWidth;\n    ctx.moveTo(x + drawOptions.roundRect, y);\n    ctx.lineTo(x + width - drawOptions.roundRect, y);\n    ctx.quadraticCurveTo(x + width, y, x + width, y + drawOptions.roundRect);\n    ctx.lineTo(x + width, y + height - drawOptions.roundRect);\n    ctx.quadraticCurveTo(x + width, y + height, x + width - drawOptions.roundRect, y + height);\n    ctx.lineTo(x + drawOptions.roundRect, y + height);\n    ctx.quadraticCurveTo(x, y + height, x, y + height - drawOptions.roundRect);\n    ctx.lineTo(x, y + drawOptions.roundRect);\n    ctx.quadraticCurveTo(x, y, x + drawOptions.roundRect, y);\n    ctx.closePath();\n  }\n  ctx.stroke();\n}\n\nfunction lines(ctx, points: number[] = []) {\n  if (points === undefined || points.length === 0) return;\n  ctx.beginPath();\n  ctx.moveTo(points[0][0], points[0][1]);\n  for (const pt of points) {\n    ctx.strokeStyle = drawOptions.useDepth && pt[2] ? `rgba(${127.5 + (2 * pt[2])}, ${127.5 - (2 * pt[2])}, 255, 0.3)` : drawOptions.color;\n    ctx.fillStyle = drawOptions.useDepth && pt[2] ? `rgba(${127.5 + (2 * pt[2])}, ${127.5 - (2 * pt[2])}, 255, 0.3)` : drawOptions.color;\n    ctx.lineTo(pt[0], parseInt(pt[1]));\n  }\n  ctx.stroke();\n  if (drawOptions.fillPolygons) {\n    ctx.closePath();\n    ctx.fill();\n  }\n}\n\nfunction curves(ctx, points: number[] = []) {\n  if (points === undefined || points.length === 0) return;\n  if (!drawOptions.useCurves || points.length <= 2) {\n    lines(ctx, points);\n    return;\n  }\n  ctx.moveTo(points[0][0], points[0][1]);\n  for (let i = 0; i < points.length - 2; i++) {\n    const xc = (points[i][0] + points[i + 1][0]) / 2;\n    const yc = (points[i][1] + points[i + 1][1]) / 2;\n    ctx.quadraticCurveTo(points[i][0], points[i][1], xc, yc);\n  }\n  ctx.quadraticCurveTo(points[points.length - 2][0], points[points.length - 2][1], points[points.length - 1][0], points[points.length - 1][1]);\n  ctx.stroke();\n  if (drawOptions.fillPolygons) {\n    ctx.closePath();\n    ctx.fill();\n  }\n}\n\nexport async function gesture(inCanvas: HTMLCanvasElement, result: Array<any>) {\n  if (!result || !inCanvas) return;\n  if (!(inCanvas instanceof HTMLCanvasElement)) return;\n  const ctx = inCanvas.getContext('2d');\n  if (!ctx) return;\n  ctx.font = drawOptions.font;\n  ctx.fillStyle = drawOptions.color;\n  let i = 1;\n  for (let j = 0; j < result.length; j++) {\n    let where:any[] = [];\n    let what:any[] = [];\n    [where, what] = Object.entries(result[j]);\n    if ((what.length > 1) && (what[1].length > 0)) {\n      const person = where[1] > 0 ? `#${where[1]}` : '';\n      const label = `${where[0]} ${person}: ${what[1]}`;\n      if (drawOptions.shadowColor && drawOptions.shadowColor !== '') {\n        ctx.fillStyle = drawOptions.shadowColor;\n        ctx.fillText(label, 8, 2 + (i * drawOptions.lineHeight));\n      }\n      ctx.fillStyle = drawOptions.labelColor;\n      ctx.fillText(label, 6, 0 + (i * drawOptions.lineHeight));\n      i += 1;\n    }\n  }\n}\n\nexport async function face(inCanvas: HTMLCanvasElement, result: Array<any>) {\n  if (!result || !inCanvas) return;\n  if (!(inCanvas instanceof HTMLCanvasElement)) return;\n  const ctx = inCanvas.getContext('2d');\n  if (!ctx) return;\n  for (const f of result) {\n    ctx.font = drawOptions.font;\n    ctx.strokeStyle = drawOptions.color;\n    ctx.fillStyle = drawOptions.color;\n    if (drawOptions.drawBoxes) {\n      if (drawOptions.useRawBoxes) rect(ctx, inCanvas.width * f.boxRaw[0], inCanvas.height * f.boxRaw[1], inCanvas.width * f.boxRaw[2], inCanvas.height * f.boxRaw[3]);\n      else rect(ctx, f.box[0], f.box[1], f.box[2], f.box[3]);\n    }\n    // silly hack since fillText does not suport new line\n    const labels:string[] = [];\n    labels.push(`face confidence: ${Math.trunc(100 * f.confidence)}%`);\n    if (f.genderConfidence) labels.push(`${f.gender || ''} ${Math.trunc(100 * f.genderConfidence)}% confident`);\n    // if (f.genderConfidence) labels.push(f.gender);\n    if (f.age) labels.push(`age: ${f.age || ''}`);\n    if (f.iris) labels.push(`iris distance: ${f.iris}`);\n    if (f.emotion && f.emotion.length > 0) {\n      const emotion = f.emotion.map((a) => `${Math.trunc(100 * a.score)}% ${a.emotion}`);\n      labels.push(emotion.join(' '));\n    }\n    if (f.rotation && f.rotation.angle && f.rotation.angle.roll) labels.push(`roll: ${Math.trunc(100 * f.rotation.angle.roll) / 100} yaw:${Math.trunc(100 * f.rotation.angle.yaw) / 100} pitch:${Math.trunc(100 * f.rotation.angle.pitch) / 100}`);\n    if (labels.length === 0) labels.push('face');\n    ctx.fillStyle = drawOptions.color;\n    for (let i = labels.length - 1; i >= 0; i--) {\n      const x = Math.max(f.box[0], 0);\n      const y = i * drawOptions.lineHeight + f.box[1];\n      if (drawOptions.shadowColor && drawOptions.shadowColor !== '') {\n        ctx.fillStyle = drawOptions.shadowColor;\n        ctx.fillText(labels[i], x + 5, y + 16);\n      }\n      ctx.fillStyle = drawOptions.labelColor;\n      ctx.fillText(labels[i], x + 4, y + 15);\n    }\n    ctx.lineWidth = 1;\n    if (f.mesh && f.mesh.length > 0) {\n      if (drawOptions.drawPoints) {\n        for (const pt of f.mesh) point(ctx, pt[0], pt[1], pt[2]);\n        // for (const pt of f.meshRaw) point(ctx, pt[0] * inCanvas.offsetWidth, pt[1] * inCanvas.offsetHeight, pt[2]);\n      }\n      if (drawOptions.drawPolygons) {\n        ctx.lineWidth = 1;\n        for (let i = 0; i < triangulation.length / 3; i++) {\n          const points = [\n            triangulation[i * 3 + 0],\n            triangulation[i * 3 + 1],\n            triangulation[i * 3 + 2],\n          ].map((index) => f.mesh[index]);\n          lines(ctx, points);\n        }\n        // iris: array[center, left, top, right, bottom]\n        if (f.annotations && f.annotations.leftEyeIris) {\n          ctx.strokeStyle = drawOptions.useDepth ? 'rgba(255, 200, 255, 0.3)' : drawOptions.color;\n          ctx.beginPath();\n          const sizeX = Math.abs(f.annotations.leftEyeIris[3][0] - f.annotations.leftEyeIris[1][0]) / 2;\n          const sizeY = Math.abs(f.annotations.leftEyeIris[4][1] - f.annotations.leftEyeIris[2][1]) / 2;\n          ctx.ellipse(f.annotations.leftEyeIris[0][0], f.annotations.leftEyeIris[0][1], sizeX, sizeY, 0, 0, 2 * Math.PI);\n          ctx.stroke();\n          if (drawOptions.fillPolygons) {\n            ctx.fillStyle = drawOptions.useDepth ? 'rgba(255, 255, 200, 0.3)' : drawOptions.color;\n            ctx.fill();\n          }\n        }\n        if (f.annotations && f.annotations.rightEyeIris) {\n          ctx.strokeStyle = drawOptions.useDepth ? 'rgba(255, 200, 255, 0.3)' : drawOptions.color;\n          ctx.beginPath();\n          const sizeX = Math.abs(f.annotations.rightEyeIris[3][0] - f.annotations.rightEyeIris[1][0]) / 2;\n          const sizeY = Math.abs(f.annotations.rightEyeIris[4][1] - f.annotations.rightEyeIris[2][1]) / 2;\n          ctx.ellipse(f.annotations.rightEyeIris[0][0], f.annotations.rightEyeIris[0][1], sizeX, sizeY, 0, 0, 2 * Math.PI);\n          ctx.stroke();\n          if (drawOptions.fillPolygons) {\n            ctx.fillStyle = drawOptions.useDepth ? 'rgba(255, 255, 200, 0.3)' : drawOptions.color;\n            ctx.fill();\n          }\n        }\n      }\n    }\n  }\n}\n\nconst lastDrawnPose:any[] = [];\nexport async function body(inCanvas: HTMLCanvasElement, result: Array<any>) {\n  if (!result || !inCanvas) return;\n  if (!(inCanvas instanceof HTMLCanvasElement)) return;\n  const ctx = inCanvas.getContext('2d');\n  if (!ctx) return;\n  ctx.lineJoin = 'round';\n  for (let i = 0; i < result.length; i++) {\n    // result[i].keypoints = result[i].keypoints.filter((a) => a.score > 0.5);\n    if (!lastDrawnPose[i] && drawOptions.bufferedOutput) lastDrawnPose[i] = { ...result[i] };\n    ctx.strokeStyle = drawOptions.color;\n    ctx.lineWidth = drawOptions.lineWidth;\n    if (drawOptions.drawPoints) {\n      for (let pt = 0; pt < result[i].keypoints.length; pt++) {\n        ctx.fillStyle = drawOptions.useDepth && result[i].keypoints[pt].position.z ? `rgba(${127.5 + (2 * result[i].keypoints[pt].position.z)}, ${127.5 - (2 * result[i].keypoints[pt].position.z)}, 255, 0.5)` : drawOptions.color;\n        if (drawOptions.bufferedOutput) {\n          lastDrawnPose[i].keypoints[pt][0] = (lastDrawnPose[i].keypoints[pt][0] + result[i].keypoints[pt].position.x) / 2;\n          lastDrawnPose[i].keypoints[pt][1] = (lastDrawnPose[i].keypoints[pt][1] + result[i].keypoints[pt].position.y) / 2;\n          point(ctx, lastDrawnPose[i].keypoints[pt][0], lastDrawnPose[i].keypoints[pt][1]);\n        } else {\n          point(ctx, result[i].keypoints[pt].position.x, result[i].keypoints[pt].position.y);\n        }\n      }\n    }\n    if (drawOptions.drawLabels) {\n      ctx.font = drawOptions.font;\n      if (result[i].keypoints) {\n        for (const pt of result[i].keypoints) {\n          ctx.fillStyle = drawOptions.useDepth && pt.position.z ? `rgba(${127.5 + (2 * pt.position.z)}, ${127.5 - (2 * pt.position.z)}, 255, 0.5)` : drawOptions.color;\n          ctx.fillText(`${pt.part}`, pt.position.x + 4, pt.position.y + 4);\n        }\n      }\n    }\n    if (drawOptions.drawPolygons && result[i].keypoints) {\n      let part;\n      const points: any[] = [];\n      // shoulder line\n      points.length = 0;\n      part = result[i].keypoints.find((a) => a.part === 'leftShoulder');\n      if (part && part.score > defaults.body.scoreThreshold) points.push([part.position.x, part.position.y]);\n      part = result[i].keypoints.find((a) => a.part === 'rightShoulder');\n      if (part && part.score > defaults.body.scoreThreshold) points.push([part.position.x, part.position.y]);\n      curves(ctx, points);\n      // torso main\n      points.length = 0;\n      part = result[i].keypoints.find((a) => a.part === 'rightShoulder');\n      if (part && part.score > defaults.body.scoreThreshold) points.push([part.position.x, part.position.y]);\n      part = result[i].keypoints.find((a) => a.part === 'rightHip');\n      if (part && part.score > defaults.body.scoreThreshold) points.push([part.position.x, part.position.y]);\n      part = result[i].keypoints.find((a) => a.part === 'leftHip');\n      if (part && part.score > defaults.body.scoreThreshold) points.push([part.position.x, part.position.y]);\n      part = result[i].keypoints.find((a) => a.part === 'leftShoulder');\n      if (part && part.score > defaults.body.scoreThreshold) points.push([part.position.x, part.position.y]);\n      if (points.length === 4) lines(ctx, points); // only draw if we have complete torso\n      // leg left\n      points.length = 0;\n      part = result[i].keypoints.find((a) => a.part === 'leftHip');\n      if (part && part.score > defaults.body.scoreThreshold) points.push([part.position.x, part.position.y]);\n      part = result[i].keypoints.find((a) => a.part === 'leftKnee');\n      if (part && part.score > defaults.body.scoreThreshold) points.push([part.position.x, part.position.y]);\n      part = result[i].keypoints.find((a) => a.part === 'leftAnkle');\n      if (part && part.score > defaults.body.scoreThreshold) points.push([part.position.x, part.position.y]);\n      part = result[i].keypoints.find((a) => a.part === 'leftHeel');\n      if (part && part.score > defaults.body.scoreThreshold) points.push([part.position.x, part.position.y]);\n      part = result[i].keypoints.find((a) => a.part === 'leftFoot');\n      if (part && part.score > defaults.body.scoreThreshold) points.push([part.position.x, part.position.y]);\n      curves(ctx, points);\n      // leg right\n      points.length = 0;\n      part = result[i].keypoints.find((a) => a.part === 'rightHip');\n      if (part && part.score > defaults.body.scoreThreshold) points.push([part.position.x, part.position.y]);\n      part = result[i].keypoints.find((a) => a.part === 'rightKnee');\n      if (part && part.score > defaults.body.scoreThreshold) points.push([part.position.x, part.position.y]);\n      part = result[i].keypoints.find((a) => a.part === 'rightAnkle');\n      if (part && part.score > defaults.body.scoreThreshold) points.push([part.position.x, part.position.y]);\n      part = result[i].keypoints.find((a) => a.part === 'rightHeel');\n      if (part && part.score > defaults.body.scoreThreshold) points.push([part.position.x, part.position.y]);\n      part = result[i].keypoints.find((a) => a.part === 'rightFoot');\n      if (part && part.score > defaults.body.scoreThreshold) points.push([part.position.x, part.position.y]);\n      curves(ctx, points);\n      // arm left\n      points.length = 0;\n      part = result[i].keypoints.find((a) => a.part === 'leftShoulder');\n      if (part && part.score > defaults.body.scoreThreshold) points.push([part.position.x, part.position.y]);\n      part = result[i].keypoints.find((a) => a.part === 'leftElbow');\n      if (part && part.score > defaults.body.scoreThreshold) points.push([part.position.x, part.position.y]);\n      part = result[i].keypoints.find((a) => a.part === 'leftWrist');\n      if (part && part.score > defaults.body.scoreThreshold) points.push([part.position.x, part.position.y]);\n      part = result[i].keypoints.find((a) => a.part === 'leftPalm');\n      if (part && part.score > defaults.body.scoreThreshold) points.push([part.position.x, part.position.y]);\n      curves(ctx, points);\n      // arm right\n      points.length = 0;\n      part = result[i].keypoints.find((a) => a.part === 'rightShoulder');\n      if (part && part.score > defaults.body.scoreThreshold) points.push([part.position.x, part.position.y]);\n      part = result[i].keypoints.find((a) => a.part === 'rightElbow');\n      if (part && part.score > defaults.body.scoreThreshold) points.push([part.position.x, part.position.y]);\n      part = result[i].keypoints.find((a) => a.part === 'rightWrist');\n      if (part && part.score > defaults.body.scoreThreshold) points.push([part.position.x, part.position.y]);\n      part = result[i].keypoints.find((a) => a.part === 'rightPalm');\n      if (part && part.score > defaults.body.scoreThreshold) points.push([part.position.x, part.position.y]);\n      curves(ctx, points);\n      // draw all\n    }\n  }\n}\n\nexport async function hand(inCanvas: HTMLCanvasElement, result: Array<any>) {\n  if (!result || !inCanvas) return;\n  if (!(inCanvas instanceof HTMLCanvasElement)) return;\n  const ctx = inCanvas.getContext('2d');\n  if (!ctx) return;\n  ctx.lineJoin = 'round';\n  ctx.font = drawOptions.font;\n  for (const h of result) {\n    if (drawOptions.drawBoxes) {\n      ctx.strokeStyle = drawOptions.color;\n      ctx.fillStyle = drawOptions.color;\n      if (drawOptions.useRawBoxes) rect(ctx, inCanvas.width * h.boxRaw[0], inCanvas.height * h.boxRaw[1], inCanvas.width * h.boxRaw[2], inCanvas.height * h.boxRaw[3]);\n      else rect(ctx, h.box[0], h.box[1], h.box[2], h.box[3]);\n      if (drawOptions.drawLabels) {\n        if (drawOptions.shadowColor && drawOptions.shadowColor !== '') {\n          ctx.fillStyle = drawOptions.shadowColor;\n          ctx.fillText('hand', h.box[0] + 3, 1 + h.box[1] + drawOptions.lineHeight, h.box[2]);\n        }\n        ctx.fillStyle = drawOptions.labelColor;\n        ctx.fillText('hand', h.box[0] + 2, 0 + h.box[1] + drawOptions.lineHeight, h.box[2]);\n      }\n      ctx.stroke();\n    }\n    if (drawOptions.drawPoints) {\n      if (h.landmarks && h.landmarks.length > 0) {\n        for (const pt of h.landmarks) {\n          ctx.fillStyle = drawOptions.useDepth ? `rgba(${127.5 + (2 * pt[2])}, ${127.5 - (2 * pt[2])}, 255, 0.5)` : drawOptions.color;\n          point(ctx, pt[0], pt[1]);\n        }\n      }\n    }\n    if (drawOptions.drawPolygons) {\n      const addPart = (part) => {\n        if (!part) return;\n        for (let i = 0; i < part.length; i++) {\n          ctx.lineWidth = drawOptions.lineWidth;\n          ctx.beginPath();\n          ctx.strokeStyle = drawOptions.useDepth ? `rgba(${127.5 + (2 * part[i][2])}, ${127.5 - (2 * part[i][2])}, 255, 0.5)` : drawOptions.color;\n          ctx.moveTo(part[i > 0 ? i - 1 : 0][0], part[i > 0 ? i - 1 : 0][1]);\n          ctx.lineTo(part[i][0], part[i][1]);\n          ctx.stroke();\n        }\n      };\n      addPart(h.annotations.indexFinger);\n      addPart(h.annotations.middleFinger);\n      addPart(h.annotations.ringFinger);\n      addPart(h.annotations.pinky);\n      addPart(h.annotations.thumb);\n      // addPart(hand.annotations.palmBase);\n    }\n  }\n}\n\nexport async function object(inCanvas: HTMLCanvasElement, result: Array<any>) {\n  if (!result || !inCanvas) return;\n  if (!(inCanvas instanceof HTMLCanvasElement)) return;\n  const ctx = inCanvas.getContext('2d');\n  if (!ctx) return;\n  ctx.lineJoin = 'round';\n  ctx.font = drawOptions.font;\n  for (const h of result) {\n    if (drawOptions.drawBoxes) {\n      ctx.strokeStyle = drawOptions.color;\n      ctx.fillStyle = drawOptions.color;\n      if (drawOptions.useRawBoxes) rect(ctx, inCanvas.width * h.boxRaw[0], inCanvas.height * h.boxRaw[1], inCanvas.width * h.boxRaw[2], inCanvas.height * h.boxRaw[3]);\n      else rect(ctx, h.box[0], h.box[1], h.box[2], h.box[3]);\n      if (drawOptions.drawLabels) {\n        const label = `${Math.round(100 * h.score)}% ${h.label}`;\n        if (drawOptions.shadowColor && drawOptions.shadowColor !== '') {\n          ctx.fillStyle = drawOptions.shadowColor;\n          ctx.fillText(label, h.box[0] + 3, 1 + h.box[1] + drawOptions.lineHeight, h.box[2]);\n        }\n        ctx.fillStyle = drawOptions.labelColor;\n        ctx.fillText(label, h.box[0] + 2, 0 + h.box[1] + drawOptions.lineHeight, h.box[2]);\n      }\n      ctx.stroke();\n    }\n  }\n}\n\nexport async function canvas(inCanvas: HTMLCanvasElement, outCanvas: HTMLCanvasElement) {\n  if (!inCanvas || !outCanvas) return;\n  if (!(inCanvas instanceof HTMLCanvasElement) || !(outCanvas instanceof HTMLCanvasElement)) return;\n  const outCtx = inCanvas.getContext('2d');\n  outCtx?.drawImage(inCanvas, 0, 0);\n}\n\nexport async function all(inCanvas: HTMLCanvasElement, result:any) {\n  if (!result || !inCanvas) return;\n  if (!(inCanvas instanceof HTMLCanvasElement)) return;\n  face(inCanvas, result.face);\n  body(inCanvas, result.body);\n  hand(inCanvas, result.hand);\n  gesture(inCanvas, result.gesture);\n  object(inCanvas, result.object);\n}\n", "/* eslint-disable indent */\n/* eslint-disable no-multi-spaces */\n\n/**\n * Configuration interface definition for **Human** library\n *\n * Contains all configurable parameters\n */\nexport interface Config {\n  backend: string,\n  wasmPath: string,\n  debug: boolean,\n  async: boolean,\n  profile: boolean,\n  deallocate: boolean,\n  scoped: boolean,\n  videoOptimized: boolean,\n  warmup: string,\n  filter: {\n    enabled: boolean,\n    width: number,\n    height: number,\n    return: boolean,\n    brightness: number,\n    contrast: number,\n    sharpness: number,\n    blur: number\n    saturation: number,\n    hue: number,\n    negative: boolean,\n    sepia: boolean,\n    vintage: boolean,\n    kodachrome: boolean,\n    technicolor: boolean,\n    polaroid: boolean,\n    pixelate: number,\n  },\n  gesture: {\n    enabled: boolean,\n  },\n  face: {\n    enabled: boolean,\n    detector: {\n      modelPath: string,\n      rotation: boolean,\n      maxFaces: number,\n      skipFrames: number,\n      skipInitial: boolean,\n      minConfidence: number,\n      iouThreshold: number,\n      scoreThreshold: number,\n      return: boolean,\n    },\n    mesh: {\n      enabled: boolean,\n      modelPath: string,\n    },\n    iris: {\n      enabled: boolean,\n      modelPath: string,\n    },\n    description: {\n      enabled: boolean,\n      modelPath: string,\n      skipFrames: number,\n    },\n    age: {\n      enabled: boolean,\n      modelPath: string,\n      skipFrames: number,\n    },\n    gender: {\n      enabled: boolean,\n      minConfidence: number,\n      modelPath: string,\n      skipFrames: number,\n    },\n    emotion: {\n      enabled: boolean,\n      minConfidence: number,\n      skipFrames: number,\n      modelPath: string,\n    },\n    embedding: {\n      enabled: boolean,\n      modelPath: string,\n    },\n  },\n  body: {\n    enabled: boolean,\n    modelPath: string,\n    maxDetections: number,\n    scoreThreshold: number,\n    nmsRadius: number,\n  },\n  hand: {\n    enabled: boolean,\n    rotation: boolean,\n    skipFrames: number,\n    skipInitial: boolean,\n    minConfidence: number,\n    iouThreshold: number,\n    scoreThreshold: number,\n    maxHands: number,\n    landmarks: boolean,\n    detector: {\n      modelPath: string,\n    },\n    skeleton: {\n      modelPath: string,\n    },\n  },\n  object: {\n    enabled: boolean,\n    modelPath: string,\n    minConfidence: number,\n    iouThreshold: number,\n    maxResults: number,\n    skipFrames: number,\n  },\n}\n\nconst config: Config = {\n  backend: 'webgl',          // select tfjs backend to use\n                             // can be 'webgl', 'wasm', 'cpu', or 'humangl' which is a custom version of webgl\n                             // leave as empty string to continue using default backend\n                             // when backend is set outside of Human library\n  wasmPath: '../assets/',    // path for wasm binaries\n                             // only used for backend: wasm\n  debug: true,               // print additional status messages to console\n  async: true,               // execute enabled models in parallel\n                             // this disables per-model performance data but\n                             // slightly increases performance\n                             // cannot be used if profiling is enabled\n  profile: false,            // enable tfjs profiling\n                             // this has significant performance impact\n                             // only enable for debugging purposes\n                             // currently only implemented for age,gender,emotion models\n  deallocate: false,         // aggresively deallocate gpu memory after each usage\n                             // only valid for webgl backend and only during first call\n                             // cannot be changed unless library is reloaded\n                             // this has significant performance impact\n                             // only enable on low-memory devices\n  scoped: false,             // enable scoped runs\n                             // some models *may* have memory leaks,\n                             // this wrapps everything in a local scope at a cost of performance\n                             // typically not needed\n  videoOptimized: true,      // perform additional optimizations when input is video,\n                             // must be disabled for images\n                             // basically this skips object box boundary detection for every n frames\n                             // while maintaining in-box detection since objects cannot move that fast\n  warmup: 'face',            // what to use for human.warmup(), can be 'none', 'face', 'full'\n                             // warmup pre-initializes all models for faster inference but can take\n                             // significant time on startup\n  filter: {\n    enabled: true,           // enable image pre-processing filters\n    width: 0,                // resize input width\n    height: 0,               // resize input height\n                             // if both width and height are set to 0, there is no resizing\n                             // if just one is set, second one is scaled automatically\n                             // if both are set, values are used as-is\n    return: true,            // return processed canvas imagedata in result\n    brightness: 0,           // range: -1 (darken) to 1 (lighten)\n    contrast: 0,             // range: -1 (reduce contrast) to 1 (increase contrast)\n    sharpness: 0,            // range: 0 (no sharpening) to 1 (maximum sharpening)\n    blur: 0,                 // range: 0 (no blur) to N (blur radius in pixels)\n    saturation: 0,           // range: -1 (reduce saturation) to 1 (increase saturation)\n    hue: 0,                  // range: 0 (no change) to 360 (hue rotation in degrees)\n    negative: false,         // image negative\n    sepia: false,            // image sepia colors\n    vintage: false,          // image vintage colors\n    kodachrome: false,       // image kodachrome colors\n    technicolor: false,      // image technicolor colors\n    polaroid: false,         // image polaroid camera effect\n    pixelate: 0,             // range: 0 (no pixelate) to N (number of pixels to pixelate)\n  },\n\n  gesture: {\n    enabled: true,           // enable simple gesture recognition\n  },\n\n  face: {\n    enabled: true,           // controls if specified modul is enabled\n                             // face.enabled is required for all face models:\n                             // detector, mesh, iris, age, gender, emotion\n                             // (note: module is not loaded until it is required)\n    detector: {\n      modelPath: '../models/blazeface-back.json',\n      rotation: false,       // use best-guess rotated face image or just box with rotation as-is\n                             // false means higher performance, but incorrect mesh mapping if face angle is above 20 degrees\n                             // this parameter is not valid in nodejs\n      maxFaces: 10,          // maximum number of faces detected in the input\n                             // should be set to the minimum number for performance\n      skipFrames: 21,        // how many frames to go without re-running the face bounding box detector\n                             // only used for video inputs\n                             // e.g., if model is running st 25 FPS, we can re-use existing bounding\n                             // box for updated face analysis as the head probably hasn't moved much\n                             // in short time (10 * 1/25 = 0.25 sec)\n      skipInitial: false,    // if previous detection resulted in no faces detected,\n                             // should skipFrames be reset immediately\n      minConfidence: 0.2,    // threshold for discarding a prediction\n      iouThreshold: 0.1,     // threshold for deciding whether boxes overlap too much in\n                             // non-maximum suppression (0.1 means drop if overlap 10%)\n      scoreThreshold: 0.2,   // threshold for deciding when to remove boxes based on score\n                             // in non-maximum suppression,\n                             // this is applied on detection objects only and before minConfidence\n      return: false,         // return extracted face as tensor\n    },\n\n    mesh: {\n      enabled: true,\n      modelPath: '../models/facemesh.json',\n    },\n\n    iris: {\n      enabled: true,\n      modelPath: '../models/iris.json',\n    },\n\n    description: {\n      enabled: true,         // to improve accuracy of face description extraction it is\n                             // recommended to enable detector.rotation and mesh.enabled\n      modelPath: '../models/faceres.json',\n      skipFrames: 31,        // how many frames to go without re-running the detector\n                             // only used for video inputs\n    },\n\n    emotion: {\n      enabled: true,\n      minConfidence: 0.1,    // threshold for discarding a prediction\n      skipFrames: 32,        // how many frames to go without re-running the detector\n      modelPath: '../models/emotion.json',\n    },\n\n    age: {\n      enabled: false,        // obsolete, replaced by description module\n      modelPath: '../models/age.json',\n      skipFrames: 33,        // how many frames to go without re-running the detector\n                             // only used for video inputs\n    },\n\n    gender: {\n      enabled: false,        // obsolete, replaced by description module\n      minConfidence: 0.1,    // threshold for discarding a prediction\n      modelPath: '../models/gender.json',\n      skipFrames: 34,        // how many frames to go without re-running the detector\n                             // only used for video inputs\n    },\n\n    embedding: {\n      enabled: false,        // obsolete, replaced by description module\n      modelPath: '../models/mobileface.json',\n    },\n  },\n\n  body: {\n    enabled: true,\n    modelPath: '../models/posenet.json', // can be 'posenet', 'blazepose' or 'efficientpose'\n                             // 'blazepose' and 'efficientpose' are experimental\n    maxDetections: 10,       // maximum number of people detected in the input\n                             // should be set to the minimum number for performance\n                             // only valid for posenet as blazepose only detects single pose\n    scoreThreshold: 0.3,     // threshold for deciding when to remove boxes based on score\n                             // in non-maximum suppression\n                             // only valid for posenet as blazepose only detects single pose\n    nmsRadius: 20,           // radius for deciding points are too close in non-maximum suppression\n                             // only valid for posenet as blazepose only detects single pose\n  },\n\n  hand: {\n    enabled: true,\n    rotation: false,         // use best-guess rotated hand image or just box with rotation as-is\n                             // false means higher performance, but incorrect finger mapping if hand is inverted\n    skipFrames: 12,          // how many frames to go without re-running the hand bounding box detector\n                             // only used for video inputs\n                             // e.g., if model is running st 25 FPS, we can re-use existing bounding\n                             // box for updated hand skeleton analysis as the hand probably\n                             // hasn't moved much in short time (10 * 1/25 = 0.25 sec)\n    skipInitial: false,      // if previous detection resulted in no faces detected,\n                             // should skipFrames be reset immediately\n    minConfidence: 0.1,      // threshold for discarding a prediction\n    iouThreshold: 0.1,       // threshold for deciding whether boxes overlap too much\n                             // in non-maximum suppression\n    scoreThreshold: 0.5,     // threshold for deciding when to remove boxes based on\n                             // score in non-maximum suppression\n    maxHands: 1,             // maximum number of hands detected in the input\n                             // should be set to the minimum number for performance\n    landmarks: true,         // detect hand landmarks or just hand boundary box\n    detector: {\n      modelPath: '../models/handdetect.json',\n    },\n    skeleton: {\n      modelPath: '../models/handskeleton.json',\n    },\n  },\n\n  object: {\n    enabled: false,\n    modelPath: '../models/nanodet.json',\n                             // 'nanodet' is experimental\n    minConfidence: 0.20,     // threshold for discarding a prediction\n    iouThreshold: 0.40,      // threshold for deciding whether boxes overlap too much\n                             // in non-maximum suppression\n    maxResults: 10,          // maximum number of objects detected in the input\n    skipFrames: 41,          // how many frames to go without re-running the detector\n  },\n};\nexport { config as defaults };\n", "// data:image/jpeg;base64,\nexport const face = `\n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`;\n\n// data:image/jpeg;base64,\nexport const body = `\n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\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAa2p1UYo5adbz+xbxMlvqJ1OqjDHLXree0ejmzNrWm953tPmTPWbWneZ7yoy5YhjrXXTjH8s75N\nmtkyxt0VZM2/m175N1V03yTKubMLXVXybeYLLX2VXy7eam+b0bOg4VquJW+rry4/O9uyZOq3UjVm\n9r25axMzPaIdvhns1kzbZddM0p5Y47z8/R2+HcF03Doi1a8+Xzvbv+TotJnjDXkt+K8ODHp8cY8N\nIpSO0RCwF2YAAAAAAAAACvUZYw6fJkntWN3k8dfHz2vLucdz8mkjFE9bz1+UOZosX1UzPm0nqI/W\nMYo9FlcPNklfFGeH/NshLGun+Cz6PtHZtVZWlRLS+jxPkRpIn7rdoupHTdA5s6SI+7H6Mfo+32Y2\n+To3neSIiZ7A0IjPXpXLePlMotGW3272t85datKzHZjbTVnsDj+FG/2Y/RlGP4R+jo20u7H6N1Ql\no+H8I/REY957R+jpfReiK6eOYHLtj2tttH6KrY/6Y/R2c+kjeJiFVtLG24hxpw7/AHY/RRkw9O37\nO99Hrt1YX0tfOBLjcGp4XF8c+u8fs9c4dcVcGemSI61nd3IneN1orQAAAAAAAAAAAAABFqxes1tE\nTE9JiUgPKcX4RbRXnNgiZwWnrH4XPi28PdXpW9JraImsxtMS8pxXhF9DecuGJtgmf+1TWW2N/la1\nL7N7T5e3Vy6W3hsYcvLbqzbO9jvvCzvDR0+XeO7crO6FmGSvRThy/RtVXJ92elvk2rRvDUzU7pl4\nizsd2J3jeBpcNz+Lg5LT7+Pp+Xk3W7js5eAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADs0NTrN96Yp6edkW8Wzm6+LNTq4pvTHO9vOfRoWtt\n1mes95YWvs1s2fZldddOczLPLn2ju0MmebT3YZc2/mpm3qqllN1drsbZIhr3yzvtHf4AsvlYYseb\nV5Yx4KTe0+UQ6nDvZ3UazbJqd8OKeu33peq0eh0+hxcmnxxWPOfOfm0mP+steT/ji8N9mKY9suum\nL37+HHaPm9DSlaVitKxWsdohI0Y22gAgAAAAAAAAAABXnyRhw3yT92Nwef4xm8bVzET0rPJH5d12\n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\nAOZE/OsPS29nuH27YrV+VpeV9pdPXhOtw49NG9Mld55+vXcTPd42I47qo7xSfyWV9oM8d8VJ/VxM\nd8l46xWF9cV7en6o/qLfxp2I9ob+eCv/AHMo9op89P8A/wBORGmyT5R+qfo2X8P7n9Q/jTsx7RR5\n6ef+4/8AuHftg/8A6cWcOSO9J/WEbWr3pY7Efzp2Lcfv5YK/9zWy8d1E/ZpSv5Oba1/+Hb9lc+LP\nbFt87I7E/wAabWbiurvEx4nL/pjZzc2bJkn372t85ZXx55/BX85lucC0vPxnTxlnnjm32mOiZqUu\nLJ2p4TwnVavNWaYbRTfre0bQ99pcH0bT0xb78vmtiIiNojaErMwAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAHnfarF7umzRHaZrLjYrdIen9ocPi8JyTt1xzF4eUw23rCm3R4r6bMy\nwt6kdTaWLdjswmNoZontsCm0K5XWjopnuDC0dGpqG5bs08/daKV672MjbSaif6oh6Z5f2LtvptRX\n0tEvUN3Jfo8f7cYve0eX4zV7B5z20xc/C8eSPuZIRficfXlcPaG7ino08HWIbePpLF2NuiyOyrHK\n3fZFSwuovHVfaVF4QK5YWTM9UT0EKry6Ps1Tn4zjn8NZn9nOtLseydObiWW34cf918fWfk+PYANn\nKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAq1WKM+ly4p+/WYeBxTNd6zG0xO0\nvobw3FcP0bi2em20Tbmj5Srr418V9sa2Z7qKyzi07MXUylhaU7yjqhLCeiq3ddaFNxFYW7NLNG8t\nzya+WO6Va9J7FW66mvwidnrXiPY3Ny8RyUn71Jj9Ht3RPjk19HK9pMHj8D1ER3rHN+jqqtTjjNps\nuOe16zAifXzfTz7kNyndpYazS9qT0mszDdoxrsi6m8LazMq6zDOsq1ZEyrt1WWlXaUCqyq0rbKbi\nFdp6PReyFd8uqv8ACsfy83aXrPZHHto89/xX2/SP/dpj6y8vx6EBq5gAAAAAAAAAAAAAAAAAAAAA\n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\nNO67NbkhzNVnmInqzaOZrL93JyZeV0M1++7S02jvxDWxhxx033tPpC8Z6rrezWjmZyazJG2/u03h\n2vFibTHoqvamiwVwY+nLGzV0+SZ1Mx8G0/45tOhzJ5lXMc3UVXRdlF1HP+iYsDPLPPy49/tz1+Te\npSIr0ho6ak5Ms5J8o2q6NImOrHV7XX488ypzTtHXo0s9t6zG7c1G1qz6ubeZiZ3UatXJG3yauSO7\ncvMTEx5tPLb3prPRMVr0HB8vicNxf0+7+kt+LOJwTJyY/Bnz3tH93X36N58cWvq6LSyiyndMSlC7\nmZcymLJiwLosmJVRLKLAtiU7q4lMSCzc3YxJuDMRuAlKAEgAAAlAkAAAAAABKAEgAAAAAJAAAAAA\nAAAAAAAEgAAAAAAAAAAAAAkAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAhIAAACAAAASgAAAAAAEAAAA\nhGzJAImGMwzQDDZjNVuyNgUTVhNGxysZqDVmiu1G5NN2M4waM0+DCaN2cbGcQNGaMZq3JxMJxA1J\nqx2bU4kU09slorWNwa20z02RXHbJbl26QvtFovbHWkxEdJt5y2MOHlr2U1W3jx+1hiw8vSO63lmI\nXRTaEWmtY6snRHO1VpmJ+DjavpSZl2s8b7y4HFcnh0n0gha5ebJN55KRM2mdoiPN6fh+kpwXh0Wy\nRHj5Otp/s5Ps1p62y31+em9aTMYt/OfVfxTiPjZ52naI7fBrI5t66xz5+a1rW7yx0eSL6iZjtEOX\nqNbSletom3lENjh2fbHzbbWt3iVozruc+5ztWubf4M4ybpQ2Oboyrva0Vjza8WdDR4OkXt3n9ldX\nkaePP9VtYqctYhdvt5oivTeCZ2YOxXk6ubqMfV0b9mrljfqlFcq88k7z2U5axeItDa1OPessuC8P\nya7XRWYnwqdbT/ZMilvIu4dpslNdixXja8Y5tt85djZdbDWnGOesRtXFtuw6T27No5Kx2OrKYQlC\nExKJgBnEpiyvdlEgsizKLKollFgWxLKJVRLKJBbEp3VxLKJBnuMWQJEbpBIAAAJAAAABIAAAAAAA\nlAJAAAAAAAAAAAAAASAAAAAAAAAAAAAJAAAABAJABAlAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAA\nAAABAJQAAAAgAABAAI2EoBGyJhkgGPKxmqxAKpownHC+YRMdN5BrTj67R3bOn01o7p01Iv71u89o\n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\n2Q==`;\n"],
  "mappings": "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CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,eAAiB,kBAClB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,iBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,eAAiB,kBAClB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,eAAiB,kBAClB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,eAAiB,kBAClB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,eAAiB,iBAClB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,eAAiB,kBAClB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,iBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,gBAAkB,kBACnB,CAAC,cAAgB,kBACjB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,gBAAkB,kBACnB,CAAC,eAAiB,kBAClB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,kBACpB,CAAC,iBAAmB,mBAGT,GAAS,CACpB,IAAK,GAAI,IAAK,GAAI,EAAG,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,EACtJ,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAClJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GACrJ,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,EAAG,IAC7I,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAClJ,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAC/I,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GACrJ,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GACpJ,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GACjJ,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,EAAG,IAC/I,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,EAAG,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IACnJ,IAAK,GAAI,EAAG,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IACnJ,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAC9I,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,EAAG,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GACtJ,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC/I,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,GAClJ,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,EAAG,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GACnJ,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GACrJ,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IACpJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,EAAG,IAClJ,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC/I,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC/I,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,IACjJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACnJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC/I,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACjJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,GAAI,IAAK,IAAK,IAAK,IACnJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACjJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACjJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACjJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,IACnJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC/I,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAChJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC/I,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAC/I,IAAK,EAAG,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAChJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACjJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACjJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAC7I,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACjJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACjJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACjJ,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAClJ,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAC7I,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,EAAG,IAAK,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GACnJ,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GACpJ,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAC/I,IAAK,GAAI,IAAK,GAAI,IAAK,EAAG,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAClJ,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAClJ,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,GAAI,GAAI,EAAG,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAChJ,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IACpJ,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GACrJ,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,GACpJ,IAAK,GAAI,IAAK,IAAK,EAAG,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAC/I,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IACjJ,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,EAAG,IAAK,GAAI,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAC9I,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GACpJ,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GACrJ,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IACpJ,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,EAAG,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,EACpJ,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAC9I,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC/I,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,EAAG,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,EAAG,GAAI,IAClJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,IAC/I,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAC/I,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAC9I,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAChJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACjJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACjJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAChJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACjJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACjJ,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAC9I,IAAK,GAAI,IAAK,EAAG,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC/I,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACjJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAChJ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACjJ,IAAK,IAAK,IAAK,EAAG,IAAK,IAAK,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H,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,QACV,SAAU,SAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,OACV,SAAU,QAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAEZ,CACE,EAAG,EACH,EAAG,EACH,SAAU,MACV,SAAU,OAE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EAAU,EAAO,SE7YnB,GAAM,IAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kEA0JP,GAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;A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",
  "names": []
}