[
  {
    "path": ".gitignore",
    "content": "node_modules\n.DS_Store\n.cache\ndist"
  },
  {
    "path": "LICENSE",
    "content": "MIT License\n\nCopyright (c) 2020 Cyril Diagne\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "# AR Face Doodle\n\nDoodle on your face with AR directly from the web browser thanks to\n[Tensorflow.js](https://www.tensorflow.org/js),\n[FaceMesh](https://github.com/tensorflow/tfjs-models/tree/master/facemesh)\nand [Three.js](https://threejs.org/).\n\n![debug](doc/debug.gif)\n\nDemo: [https://cyrildiagne.github.io/ar-facedoodle](https://cyrildiagne.github.io/ar-facedoodle)\n\n## Setup\n\n```\nnpm install && npm start\n```\n\n## Thanks and acknowledgement\n\n- [tensorflow/tfjs-models facemesh](https://github.com/tensorflow/tfjs-models/tree/master/facemesh) For the face detection model\n- [shawticus/facemesh-threejs](https://github.com/shawticus/facemesh-threejs) For the facemesh OBJ model\n- [mourner/simplify.js](https://github.com/mourner/simplify-js) For the line smoothing\n- [mrdoob/three.js](https://github.com/mrdoob/three.js) For the 3D engine\n"
  },
  {
    "path": "index.html",
    "content": "<head>\n  <link rel=\"stylesheet\" type=\"text/css\" href=\"style/main.scss\" />\n  <link\n    href=\"https://fonts.googleapis.com/icon?family=Material+Icons+Outlined\"\n    rel=\"stylesheet\"\n  />\n  <link\n    href=\"https://fonts.googleapis.com/css2?family=Poppins:wght@400&display=swap\"\n    rel=\"stylesheet\"\n  />\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n  <title>AR Face Doodle</title>\n  <link rel=\"icon\" href=\"./assets/favicon.ico\" />\n</head>\n<body class=\"loading\">\n  <div class=\"container\">\n    <div class=\"alt-bts\">\n      <button id=\"bt-info\" class=\"mdc-icon-button\">\n        ?\n      </button>\n\n      <button id=\"debug\" class=\"mdc-icon-button material-icons-outlined\">\n        bug_report\n      </button>\n    </div>\n    <div id=\"info\" class=\"info\">\n      <div class=\"info-content\">\n        <h1>AR Face Doodle</h1>\n        <p>\n          Doodle on your face with AR directly from the web browser thanks to\n          <a href=\"https://www.tensorflow.org/js\" target=\"_blank\"\n            >Tensorflow.js</a\n          >,\n          <a\n            href=\"https://github.com/tensorflow/tfjs-models/tree/master/facemesh\"\n            target=\"_blank\"\n            >FaceMesh</a\n          >\n          and <a href=\"https://threejs.org/\" target=\"_blank\">Three.js</a>.\n        </p>\n        <p>\n          Created by\n          <a href=\"https://twitter.com/cyrildiagne\" target=\"_blank\"\n            >Cyril Diagne</a\n          >\n        </p>\n        <p>Code on <a href=\"https://github.com/\" target=\"_blank\">Github</a></p>\n      </div>\n    </div>\n    <div class=\"ui\">\n      <div class=\"color\">\n        <button id=\"bt-picker\" class=\"mdc-icon-button material-icons-outlined\">\n          color_lens\n        </button>\n        <div class=\"colorpicker\">\n          <div\n            class=\"picker\"\n            acp-color=\"#FFFFFF\"\n            acp-show-rgb=\"no\"\n            acp-show-hsl=\"no\"\n            acp-show-hex=\"no\"\n            acp-palette=\"PALETTE_MATERIAL_CHROME\"\n            acp-palette-editable\n          ></div>\n        </div>\n      </div>\n\n      <div class=\"slider\">\n        <div\n          class=\"mdc-slider mdc-slider--discrete mdc-slider--display-markers\"\n          role=\"slider\"\n          aria-valuemin=\"0\"\n          aria-valuemax=\"75\"\n          aria-valuenow=\"25\"\n          data-step=\"1\"\n          aria-label=\"Thickness\"\n        >\n          <div class=\"mdc-slider__track-container\">\n            <div class=\"mdc-slider__track\"></div>\n            <div class=\"mdc-slider__track-marker-container\"></div>\n          </div>\n          <div class=\"mdc-slider__thumb-container\">\n            <div class=\"mdc-slider__pin\">\n              <span class=\"mdc-slider__pin-value-marker\"></span>\n            </div>\n            <svg class=\"mdc-slider__thumb\" width=\"21\" height=\"21\">\n              <circle cx=\"10.5\" cy=\"10.5\" r=\"7.875\"></circle>\n            </svg>\n            <div class=\"mdc-slider__focus-ring\"></div>\n          </div>\n        </div>\n      </div>\n\n      <button id=\"undo\" class=\"mdc-icon-button material-icons-outlined\">\n        undo\n      </button>\n\n      <button id=\"clear\" class=\"mdc-icon-button material-icons-outlined\">\n        delete\n      </button>\n    </div>\n  </div>\n</body>\n<script src=\"src/main.js\"></script>\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"ar-facedoodle\",\n  \"version\": \"1.0.0\",\n  \"description\": \"Doodle on your face using AR\",\n  \"repository\": \"https://github.com/cyrildiagne/ar-facedoodle\",\n  \"scripts\": {\n    \"start\": \"parcel index.html --host 0.0.0.0\",\n    \"deploy\": \"parcel build index.html --no-source-maps --public-url /ar-facedoodle/ && gh-pages -d dist\",\n    \"test\": \"echo \\\"Error: no test specified\\\" && exit 1\"\n  },\n  \"author\": \"https://twitter.com/cyrildiagne\",\n  \"license\": \"MIT\",\n  \"eslintConfig\": {\n    \"extends\": [\n      \"prettier-standard\"\n    ]\n  },\n  \"prettier\": \"prettier-config-standard\",\n  \"sass\": {\n    \"includePaths\": [\n      \"./node_modules\"\n    ]\n  },\n  \"babel\": {\n    \"presets\": [\n      [\n        \"env\",\n        {\n          \"esmodules\": false,\n          \"targets\": {\n            \"browsers\": [\n              \"> 3%\"\n            ]\n          }\n        }\n      ]\n    ],\n    \"plugins\": [\n      [\n        \"@babel/plugin-transform-runtime\"\n      ]\n    ]\n  },\n  \"dependencies\": {\n    \"@material/icon-button\": \"^6.0.0\",\n    \"@material/slider\": \"^6.0.0\",\n    \"@tensorflow-models/facemesh\": \"0.0.1\",\n    \"@tensorflow/tfjs-converter\": \"^1.7.3\",\n    \"@tensorflow/tfjs-core\": \"^1.7.3\",\n    \"a-color-picker\": \"^1.2.1\",\n    \"simplify-js\": \"^1.2.4\",\n    \"three\": \"^0.115.0\"\n  },\n  \"devDependencies\": {\n    \"@babel/core\": \"^7.9.0\",\n    \"@babel/plugin-transform-runtime\": \"^7.9.0\",\n    \"@babel/preset-env\": \"^7.9.5\",\n    \"@babel/runtime\": \"^7.9.2\",\n    \"babel-preset-env\": \"^1.7.0\",\n    \"eslint\": \"^6.8.0\",\n    \"eslint-config-prettier\": \"^6.11.0\",\n    \"eslint-config-prettier-standard\": \"^3.0.1\",\n    \"eslint-config-standard\": \"^14.1.1\",\n    \"eslint-plugin-import\": \"^2.20.2\",\n    \"eslint-plugin-node\": \"^11.1.0\",\n    \"eslint-plugin-prettier\": \"^3.1.3\",\n    \"eslint-plugin-promise\": \"^4.2.1\",\n    \"eslint-plugin-standard\": \"^4.0.1\",\n    \"gh-pages\": \"^2.2.0\",\n    \"node-sass-package-importer\": \"^5.3.2\",\n    \"parcel-bundler\": \"^1.12.4\",\n    \"parcel-plugin-clean-dist\": \"0.0.6\",\n    \"parcel-plugin-static-files-copy\": \"^2.3.1\",\n    \"prettier\": \"^2.0.5\",\n    \"prettier-config-standard\": \"^1.0.1\",\n    \"sass\": \"^1.26.5\"\n  }\n}\n"
  },
  {
    "path": "src/colorpicker.js",
    "content": "import * as colorpicker from 'a-color-picker'\n\nfunction init(callback) {\n  const bt = document.getElementById('bt-picker')\n  bt.addEventListener('click', btClicked)\n  colorpicker.from('.picker').on('change', (picker, color) => {\n    if (color === 'rgb(255, 255, 255)') {\n      bt.style.color = 'black'\n    } else {\n      bt.style.color = color\n    }\n    const cursor = document.querySelector('.cursor')\n    cursor.style.backgroundColor = bt.style.color\n    callback(color)\n  })\n}\n\nfunction btClicked() {\n  const el = document.querySelector('.picker')\n  el.style.display = 'block'\n\n  const closeSurface = document.createElement('div')\n  closeSurface.classList = 'close-color'\n  document.body.prepend(closeSurface)\n  closeSurface.addEventListener('click', () => {\n    el.style.display = 'none'\n    closeSurface.remove()\n  })\n}\n\nexport default {\n  init\n}\n"
  },
  {
    "path": "src/facemesh.js",
    "content": "import * as facemesh from '@tensorflow-models/facemesh'\nimport * as tf from '@tensorflow/tfjs-core'\n\nimport { TRIANGULATION } from './triangulation'\n\nlet model\nlet canvas\nlet ctx\n\nconst state = {\n  backend: 'webgl'\n}\n\nasync function init(video) {\n  await tf.setBackend(state.backend)\n  model = await facemesh.load({ maxFaces: 1 })\n}\n\nasync function update(video, debug = false) {\n  const predictions = await model.estimateFaces(video)\n\n  if (debug) {\n    drawDebug(video, predictions)\n  }\n\n  if (predictions.length > 0) {\n    return predictions[0]\n  }\n}\n\nfunction drawDebug(video, predictions) {\n  if (!ctx) {\n    createDebug()\n  }\n  ctx.drawImage(\n    video,\n    0,\n    0,\n    video.videoWidth,\n    video.videoHeight,\n    0,\n    0,\n    canvas.width,\n    canvas.height\n  )\n  if (predictions.length > 0) {\n    predictions.forEach(prediction => {\n      const keypoints = prediction.scaledMesh\n\n      if (state.triangulateMesh) {\n        for (let i = 0; i < TRIANGULATION.length / 3; i++) {\n          const points = [\n            TRIANGULATION[i * 3],\n            TRIANGULATION[i * 3 + 1],\n            TRIANGULATION[i * 3 + 2]\n          ].map(index => keypoints[index])\n\n          drawPath(ctx, points, true)\n        }\n      } else {\n        for (let i = 0; i < keypoints.length; i++) {\n          const x = keypoints[i][0]\n          const y = keypoints[i][1]\n\n          ctx.beginPath()\n          ctx.arc(x, y, 1 /* radius */, 0, 2 * Math.PI)\n          ctx.fill()\n        }\n      }\n    })\n  }\n}\n\nfunction createDebug(video) {\n  canvas = document.createElement('canvas')\n  canvas.width = video.width\n  canvas.height = video.height\n\n  ctx = canvas.getContext('2d')\n  ctx.translate(canvas.width, 0)\n  ctx.scale(-1, 1)\n  ctx.fillStyle = '#32EEDB'\n  ctx.strokeStyle = '#32EEDB'\n  ctx.lineWidth = 0.5\n\n  return canvas\n}\n\nfunction drawPath(ctx, points, closePath) {\n  const region = new Path2D()\n  region.moveTo(points[0][0], points[0][1])\n  for (let i = 1; i < points.length; i++) {\n    const point = points[i]\n    region.lineTo(point[0], point[1])\n  }\n\n  if (closePath) {\n    region.closePath()\n  }\n  ctx.stroke(region)\n}\n\nexport default {\n  init,\n  update\n}\n"
  },
  {
    "path": "src/main.js",
    "content": "import facemesh from './facemesh'\nimport refmesh from './refmesh'\nimport three from './three'\nimport colorpicker from './colorpicker'\n\nimport { MDCSlider } from '@material/slider/dist/mdc.slider'\n\nconst useCamera = true\n\nlet video\nlet threeEl\nlet cursorEl\nlet paused = false\nlet drawing = false\n\nasync function setupCamera() {\n  video = document.createElement('video')\n\n  const stream = await navigator.mediaDevices.getUserMedia({\n    audio: false,\n    video: {\n      facingMode: 'user',\n      width: 640,\n      height: 640\n    }\n  })\n  video.srcObject = stream\n\n  return new Promise(resolve => {\n    video.onloadedmetadata = () => {\n      resolve(video)\n    }\n  })\n}\n\nasync function update() {\n  // Update facemesh.\n  if (useCamera) {\n    const face = await facemesh.update(video)\n    // Update three scene.\n    if (face) {\n      three.update(face.scaledMesh)\n    }\n  } else {\n    three.update(refmesh.debugPoints)\n  }\n  // Call for RAF if scene is not paused.\n  if (!paused) {\n    window.requestAnimationFrame(update)\n  }\n}\n\nfunction onMouseDown(evt) {\n  drawing = true\n}\n\nfunction onMouseMove(evt) {\n  const rect = threeEl.getBoundingClientRect()\n  const x = rect.width - (evt.clientX - rect.x)\n  const y = evt.clientY - rect.y\n  cursorEl.style.left = evt.clientX + 'px'\n  cursorEl.style.top = evt.clientY + 'px'\n  if (drawing) {\n    three.draw({ x, y })\n  } else {\n    const isOver = three.isOverFace({ x, y })\n    if (isOver) {\n      document.body.classList.add('hover-face')\n    } else {\n      if (document.body.classList.contains('hover-face')) {\n        document.body.classList.remove('hover-face')\n      }\n    }\n  }\n}\n\nfunction onMouseUp(evt) {\n  three.end()\n  drawing = false\n  document.body.classList.remove('hover-face')\n}\n\nfunction onTouchStart(evt) {\n  window.addEventListener('touchmove', onTouchMove)\n}\n\nfunction onTouchMove(evt) {\n  const rect = threeEl.getBoundingClientRect()\n  const x = rect.width - (evt.touches[0].clientX - rect.x)\n  const y = evt.touches[0].clientY - rect.y\n  three.draw({ x, y })\n}\n\nfunction onTouchEnd(evt) {\n  three.end()\n  window.removeEventListener('touchmove', onTouchMove)\n}\n\nfunction play() {\n  paused = false\n  window.requestAnimationFrame(update)\n  document.body.classList.remove('paused')\n}\n\nfunction pause() {\n  paused = true\n  document.body.classList.add('paused')\n}\n\nasync function init() {\n  if (useCamera) {\n    // Initialize camera.\n    console.log('setting up camera...')\n    await setupCamera()\n    video.play()\n    video.width = video.videoWidth\n    video.height = video.videoHeight\n\n    // Initialize face mesh.\n    console.log('setting up facemesh...')\n    await facemesh.init(video)\n  }\n\n  // Initialize threejs scene.\n  console.log('setting up threejs...')\n  threeEl = await three.init(video)\n  threeEl.classList.add('three-canvas')\n  threeEl.addEventListener('mousedown', onMouseDown)\n  threeEl.addEventListener('mousemove', onMouseMove)\n  window.addEventListener('mouseup', onMouseUp)\n  threeEl.addEventListener('touchstart', onTouchStart)\n  window.addEventListener('touchend', onTouchEnd)\n  document.querySelector('.container').prepend(threeEl)\n\n  // Launch update loop.\n  update()\n  window.addEventListener('blur', pause)\n  window.addEventListener('focus', play)\n\n  // Setup UI.\n  // Color picker\n  colorpicker.init(color => (three.params.color = color))\n  // Slider.\n  const slider = new MDCSlider(document.querySelector('.mdc-slider'))\n  const thumb = document.querySelector('.mdc-slider__thumb')\n  thumb.style.transform = 'scale(1)'\n  const pin = document.querySelector('.mdc-slider__pin')\n  pin.style.bottom = '10px'\n  slider.listen('MDCSlider:input', () => {\n    const thickness = parseInt(slider.value)\n    thumb.style.transform = `scale(${1 + thickness / 50})`\n    pin.style.bottom = `${10 + thickness}px`\n    three.params.thickness = thickness\n    // Update cursor size.\n    const size = Math.max(2, thickness / 2)\n    cursorEl.style.width = size + 'px'\n    cursorEl.style.height = size + 'px'\n  })\n  // Undo button.\n  const undoEl = document.getElementById('undo')\n  undoEl.addEventListener('click', () => three.undo())\n  // Clear button.\n  const clearEl = document.getElementById('clear')\n  clearEl.addEventListener('click', () => three.clear())\n  // Debug button.\n  const debugEl = document.getElementById('debug')\n  debugEl.addEventListener('click', () => three.setDebug(!three.params.debug))\n  // Info bt.\n  const infoBt = document.getElementById('bt-info')\n  const infoEl = document.getElementById('info')\n  infoBt.addEventListener('click', () => {\n    infoEl.classList.toggle('show')\n  })\n  infoEl.addEventListener('click', () => {\n    infoEl.classList.remove('show')\n  })\n\n  // Setup cursor.\n  cursorEl = document.createElement('div')\n  cursorEl.classList.add('cursor')\n  document.body.append(cursorEl)\n\n  // Done.\n  document.body.classList.remove('loading')\n}\n\nwindow.onload = () => {\n  console.log('init')\n  init()\n}\n"
  },
  {
    "path": "src/refmesh.js",
    "content": "const debugPoints = [\n  [298.1790771484375, 387.03167724609375, -14.120745658874512],\n  [300.2152099609375, 358.21246337890625, -31.661890029907227],\n  [298.96722412109375, 366.7823486328125, -15.867902755737305],\n  [293.5539245605469, 323.68035888671875, -25.673297882080078],\n  [300.63177490234375, 347.752197265625, -34.1967887878418],\n  [300.7069091796875, 333.7161865234375, -32.46065139770508],\n  [300.5322265625, 300.4746398925781, -18.32489585876465],\n  [240.8586883544922, 297.0817565917969, 3.295238494873047],\n  [300.92578125, 275.4305114746094, -15.480683326721191],\n  [301.3796691894531, 261.49365234375, -17.565792083740234],\n  [302.217041015625, 210.05763244628906, -14.386534690856934],\n  [297.95367431640625, 391.622314453125, -13.00723934173584],\n  [297.69073486328125, 394.67401123046875, -10.971356391906738],\n  [297.4516296386719, 395.25830078125, -8.254570960998535],\n  [297.35955810546875, 395.1733093261719, -7.759902477264404],\n  [297.3115234375, 398.7442932128906, -8.650358200073242],\n  [297.1659240722656, 403.46270751953125, -9.953529357910156],\n  [296.94647216796875, 409.1010437011719, -9.312821388244629],\n  [296.3753662109375, 420.02447509765625, -3.8191821575164795],\n  [299.82757568359375, 363.11761474609375, -28.395206451416016],\n  [291.6897888183594, 361.4345703125, -20.3421573638916],\n  [213.03945922851562, 255.58355712890625, 27.743202209472656],\n  [264.42474365234375, 306.226318359375, -1.8822672367095947],\n  [256.2830505371094, 306.6920166015625, -1.6084545850753784],\n  [248.49008178710938, 305.7471923828125, -0.14808014035224915],\n  [237.83763122558594, 300.2297668457031, 4.426307678222656],\n  [271.3021240234375, 303.95501708984375, -0.9919998049736023],\n  [253.87518310546875, 282.31085205078125, -5.48806619644165],\n  [262.4411315917969, 283.13909912109375, -5.154913902282715],\n  [245.84014892578125, 283.3853759765625, -3.5459940433502197],\n  [240.31863403320312, 286.40179443359375, -1.0740599632263184],\n  [231.61756896972656, 305.4979248046875, 7.720613479614258],\n  [266.0926208496094, 437.0557861328125, 4.119032382965088],\n  [237.98028564453125, 294.822509765625, 5.135197639465332],\n  [209.29916381835938, 299.28216552734375, 33.0094108581543],\n  [223.00498962402344, 298.51361083984375, 13.069906234741211],\n  [256.78436279296875, 344.7298278808594, -5.160249710083008],\n  [287.23016357421875, 384.89739990234375, -13.86629581451416],\n  [287.705078125, 393.78631591796875, -10.363572120666504],\n  [275.5537109375, 385.8682861328125, -10.376333236694336],\n  [267.7962646484375, 387.4253845214844, -5.726817607879639],\n  [279.1785583496094, 392.824462890625, -8.098724365234375],\n  [272.4394226074219, 392.031494140625, -3.8566644191741943],\n  [257.9046325683594, 399.8031005859375, 4.221691131591797],\n  [293.3802490234375, 357.6147155761719, -31.34697151184082],\n  [292.6982116699219, 347.45318603515625, -33.692848205566406],\n  [228.14358520507812, 273.68780517578125, -0.22682692110538483],\n  [274.4689025878906, 321.60693359375, -6.838437080383301],\n  [272.694580078125, 351.89569091796875, -17.42055892944336],\n  [272.20538330078125, 346.319580078125, -15.844796180725098],\n  [232.07119750976562, 341.92535400390625, 2.0097591876983643],\n  [293.18707275390625, 334.4962158203125, -30.855125427246094],\n  [247.62579345703125, 263.87725830078125, -10.370193481445312],\n  [236.17752075195312, 266.8315124511719, -5.848870754241943],\n  [220.88687133789062, 237.77780151367188, 15.25772762298584],\n  [283.2908935546875, 273.1679382324219, -14.303738594055176],\n  [269.8764343261719, 286.29296875, -3.0431814193725586],\n  [251.19052124023438, 390.20758056640625, 4.918463230133057],\n  [215.7345733642578, 389.6566162109375, 55.26961898803711],\n  [278.395751953125, 357.6062927246094, -14.705124855041504],\n  [285.4184265136719, 361.23248291015625, -14.602949142456055],\n  [258.7841796875, 389.179443359375, 4.841699600219727],\n  [262.52423095703125, 389.20587158203125, 3.359598159790039],\n  [231.7601776123047, 259.27642822265625, -3.5835821628570557],\n  [271.9053649902344, 355.42230224609375, -13.86953353881836],\n  [262.9801330566406, 265.2060852050781, -13.379878044128418],\n  [261.7451171875, 256.13360595703125, -15.21743106842041],\n  [254.1462860107422, 214.2293701171875, -7.917967319488525],\n  [226.5474090576172, 248.1802978515625, 4.397981643676758],\n  [258.96881103515625, 234.41006469726562, -11.954970359802246],\n  [223.42657470703125, 268.39898681640625, 4.354741096496582],\n  [218.30630493164062, 262.5375061035156, 15.277050971984863],\n  [287.3190612792969, 390.28955078125, -12.718772888183594],\n  [277.6383361816406, 390.25811767578125, -9.428858757019043],\n  [270.2147216796875, 389.89691162109375, -5.206142902374268],\n  [280.3625793457031, 359.31280517578125, -13.175246238708496],\n  [260.6769714355469, 389.10101318359375, 4.097344875335693],\n  [265.0876770019531, 391.9786376953125, 0.5450502038002014],\n  [263.56988525390625, 389.233154296875, 3.215026617050171],\n  [283.59954833984375, 355.99798583984375, -23.133930206298828],\n  [273.831298828125, 391.17767333984375, -2.83559250831604],\n  [280.6111755371094, 392.79827880859375, -5.641749382019043],\n  [288.4439392089844, 394.3298034667969, -7.794321060180664],\n  [285.39361572265625, 419.3924560546875, -3.6910548210144043],\n  [286.5469055175781, 407.94586181640625, -9.087989807128906],\n  [287.1264343261719, 402.10638427734375, -9.677717208862305],\n  [287.7097473144531, 397.5296630859375, -8.232913970947266],\n  [288.3638916015625, 394.4990234375, -7.328562259674072],\n  [273.1569519042969, 391.9190673828125, -2.4163973331451416],\n  [272.00140380859375, 392.863525390625, -3.404341697692871],\n  [270.4002380371094, 395.2790832519531, -4.201334476470947],\n  [268.97186279296875, 398.7427978515625, -3.0564887523651123],\n  [261.5496520996094, 377.6202392578125, -4.561906337738037],\n  [208.38990783691406, 341.843505859375, 60.4583625793457],\n  [299.4404296875, 364.6637268066406, -20.27260971069336],\n  [268.68365478515625, 390.962158203125, 0.9632411003112793],\n  [267.039306640625, 390.95074462890625, 0.3911586403846741],\n  [288.13818359375, 365.7796630859375, -14.559393882751465],\n  [274.23095703125, 360.8743591308594, -8.985363006591797],\n  [286.8714904785156, 363.6372985839844, -14.74904727935791],\n  [265.48736572265625, 326.5911560058594, -4.6448774337768555],\n  [251.76707458496094, 332.0326232910156, -2.822591543197632],\n  [270.4385681152344, 350.0209045410156, -12.240896224975586],\n  [233.85556030273438, 223.589111328125, 2.7089765071868896],\n  [239.39208984375, 238.236572265625, -4.42526912689209],\n  [244.87533569335938, 254.8623809814453, -10.002897262573242],\n  [265.22491455078125, 407.65887451171875, 1.22976553440094],\n  [281.1024475097656, 259.059814453125, -17.505752563476562],\n  [279.076416015625, 234.2976531982422, -15.902700424194336],\n  [276.24664306640625, 210.18637084960938, -13.638851165771484],\n  [241.67332458496094, 303.75128173828125, 2.2142083644866943],\n  [223.1727294921875, 311.6500244140625, 11.184993743896484],\n  [275.61322021484375, 301.571044921875, -0.25392746925354004],\n  [231.55865478515625, 287.89373779296875, 4.009753704071045],\n  [280.60302734375, 315.60076904296875, -9.191849708557129],\n  [278.4223327636719, 349.4830322265625, -23.354150772094727],\n  [214.8749542236328, 317.93212890625, 18.03703498840332],\n  [228.37127685546875, 318.32843017578125, 6.394485950469971],\n  [238.5069580078125, 322.1074523925781, 1.3253782987594604],\n  [253.87966918945312, 321.7847595214844, -1.019113302230835],\n  [265.4759521484375, 318.6402587890625, -2.280043840408325],\n  [274.1865234375, 314.4884338378906, -3.8911330699920654],\n  [292.4798583984375, 302.9285888671875, -16.13489532470703],\n  [214.88638305664062, 337.95330810546875, 17.710662841796875],\n  [225.13983154296875, 285.28155517578125, 6.38761568069458],\n  [295.702392578125, 362.5097351074219, -28.182981491088867],\n  [274.95721435546875, 331.19805908203125, -8.871806144714355],\n  [207.11639404296875, 297.6207275390625, 52.586395263671875],\n  [280.7156677246094, 309.44769287109375, -4.95869255065918],\n  [269.312744140625, 350.0954284667969, -6.121389389038086],\n  [235.44454956054688, 295.1263122558594, 6.259592056274414],\n  [278.01800537109375, 342.5654296875, -21.40158462524414],\n  [210.79800415039062, 365.399658203125, 59.42163848876953],\n  [275.43280029296875, 298.0166015625, 0.9179220199584961],\n  [285.5798645019531, 337.59710693359375, -27.331464767456055],\n  [231.7576141357422, 413.05908203125, 25.253280639648438],\n  [233.0160675048828, 423.8658447265625, 36.63697814941406],\n  [208.47862243652344, 340.7737121582031, 38.883094787597656],\n  [221.52906799316406, 399.97509765625, 31.757829666137695],\n  [213.6818084716797, 279.5225830078125, 25.672266006469727],\n  [264.7817077636719, 447.0621032714844, 8.18415641784668],\n  [296.15985107421875, 364.0947265625, -19.977298736572266],\n  [267.06536865234375, 337.62939453125, -6.465585231781006],\n  [216.49720764160156, 299.90728759765625, 18.837560653686523],\n  [249.13270568847656, 300.2607727050781, 0.03242945671081543],\n  [256.260009765625, 301.32421875, -1.2465742826461792],\n  [263.11810302734375, 393.8223876953125, 1.631466031074524],\n  [215.19541931152344, 357.75103759765625, 20.998371124267578],\n  [279.1003723144531, 459.8443908691406, 10.745009422302246],\n  [255.84317016601562, 446.391845703125, 21.790172576904297],\n  [245.4600830078125, 437.13970947265625, 28.35423469543457],\n  [301.8525695800781, 235.36895751953125, -16.55525016784668],\n  [294.718994140625, 461.6861572265625, 9.564546585083008],\n  [263.12164306640625, 300.96978759765625, -1.3045413494110107],\n  [269.57427978515625, 299.65863037109375, -0.38703393936157227],\n  [273.557373046875, 298.83892822265625, 0.8548519015312195],\n  [219.5872802734375, 282.44073486328125, 12.060924530029297],\n  [268.46490478515625, 291.8851318359375, -1.8388075828552246],\n  [261.52191162109375, 289.46514892578125, -3.1275906562805176],\n  [254.54998779296875, 288.80987548828125, -3.072970151901245],\n  [247.4393310546875, 289.94580078125, -1.6783688068389893],\n  [242.81747436523438, 292.0097351074219, 0.2838176190853119],\n  [208.8702850341797, 274.3497009277344, 41.36160659790039],\n  [244.23309326171875, 298.69769287109375, 1.804038643836975],\n  [298.62164306640625, 373.186767578125, -13.963418006896973],\n  [269.7718811035156, 373.5728759765625, -8.293177604675293],\n  [278.4598693847656, 356.54974365234375, -17.04210090637207],\n  [286.76055908203125, 372.9639587402344, -13.735464096069336],\n  [300.5703430175781, 287.6749267578125, -14.707551002502441],\n  [243.18748474121094, 426.1807556152344, 20.269384384155273],\n  [253.70654296875, 436.7740173339844, 14.615986824035645],\n  [278.7491455078125, 454.0180358886719, 2.783529043197632],\n  [223.41943359375, 409.1480407714844, 46.64860916137695],\n  [273.295654296875, 295.4744873046875, -0.2415575236082077],\n  [286.662353515625, 318.736572265625, -17.20730972290039],\n  [295.2564392089844, 455.72515869140625, 1.9054080247879028],\n  [266.687744140625, 454.40679931640625, 14.910948753356934],\n  [210.3699951171875, 362.27655029296875, 39.50703430175781],\n  [280.1830139160156, 393.1881103515625, -5.211543083190918],\n  [278.9965515136719, 395.3263244628906, -6.268320083618164],\n  [277.913330078125, 399.03558349609375, -7.276910305023193],\n  [277.0343322753906, 404.3016052246094, -6.438044548034668],\n  [274.2063293457031, 414.5286560058594, -1.941462516784668],\n  [266.2420349121094, 390.5473937988281, -0.016497928649187088],\n  [263.9146728515625, 389.5981140136719, -0.122717946767807],\n  [261.697265625, 388.1065979003906, -0.32760918140411377],\n  [254.43064880371094, 383.03460693359375, 0.07330796122550964],\n  [224.68130493164062, 362.9518737792969, 9.443501472473145],\n  [286.69403076171875, 308.6907653808594, -12.258654594421387],\n  [282.09661865234375, 290.51287841796875, -3.41546368598938],\n  [276.9400939941406, 292.6988525390625, -1.3320412635803223],\n  [268.1077880859375, 389.6227722167969, 0.5624357461929321],\n  [223.75128173828125, 386.07598876953125, 19.757707595825195],\n  [289.62872314453125, 289.4853515625, -10.93774127960205],\n  [269.7876281738281, 425.84527587890625, 1.3286749124526978],\n  [300.6136169433594, 322.39208984375, -27.500526428222656],\n  [292.91748046875, 313.90081787109375, -21.51654815673828],\n  [300.5587158203125, 311.93096923828125, -22.738204956054688],\n  [280.29046630859375, 333.8995361328125, -16.479372024536133],\n  [295.7247314453125, 445.8623046875, -2.1188454627990723],\n  [296.0556945800781, 432.5225830078125, -3.0110890865325928],\n  [282.57476806640625, 431.73980712890625, -2.0836141109466553],\n  [251.35142517089844, 405.6207580566406, 7.441960334777832],\n  [262.2080383300781, 357.1605529785156, -4.383188247680664],\n  [259.9346008300781, 417.1344909667969, 4.783696174621582],\n  [242.74911499023438, 355.18365478515625, -2.364675521850586],\n  [253.80038452148438, 366.0096435546875, -2.616335391998291],\n  [235.05438232421875, 370.0333251953125, 3.2513437271118164],\n  [279.8734130859375, 444.51654052734375, -1.0067998170852661],\n  [274.849365234375, 338.7448425292969, -12.030640602111816],\n  [245.11904907226562, 414.4852600097656, 13.113565444946289],\n  [255.70986938476562, 426.4257507324219, 9.530975341796875],\n  [244.17300415039062, 393.1248779296875, 7.200636863708496],\n  [216.7993927001953, 374.4271545410156, 24.227380752563477],\n  [234.30810546875, 396.002685546875, 12.771589279174805],\n  [213.98880004882812, 382.0549011230469, 38.41045379638672],\n  [246.35986328125, 376.63067626953125, 0.888126015663147],\n  [280.9052429199219, 324.9044189453125, -12.69654655456543],\n  [281.0602722167969, 354.3194580078125, -24.474390029907227],\n  [275.0966796875, 355.4166259765625, -17.8099422454834],\n  [285.320556640625, 348.15753173828125, -28.79677391052246],\n  [275.7753601074219, 282.3512268066406, -5.865403652191162],\n  [262.84906005859375, 276.986083984375, -7.439082622528076],\n  [251.5946044921875, 275.62396240234375, -7.277249336242676],\n  [242.0721435546875, 276.72552490234375, -4.872464179992676],\n  [235.13790893554688, 280.58404541015625, -1.1335917711257935],\n  [230.14804077148438, 296.7254333496094, 8.689035415649414],\n  [207.88185119628906, 319.94415283203125, 36.222721099853516],\n  [235.922607421875, 309.73529052734375, 4.900608539581299],\n  [244.2236785888672, 312.7978515625, 1.6990026235580444],\n  [254.93817138671875, 313.5443420410156, -0.43692925572395325],\n  [265.19036865234375, 311.93426513671875, -1.4867429733276367],\n  [273.19464111328125, 308.98016357421875, -1.5398086309432983],\n  [278.6622009277344, 305.7724609375, -1.9914441108703613],\n  [207.6420135498047, 319.61761474609375, 58.40398025512695],\n  [275.00689697265625, 357.35009765625, -14.697525024414062],\n  [286.7452087402344, 327.8433837890625, -21.438478469848633],\n  [287.3891296386719, 355.6502990722656, -28.812564849853516],\n  [291.53106689453125, 360.39251708984375, -25.9072322845459],\n  [287.0721435546875, 356.9381103515625, -25.85338020324707],\n  [277.0426025390625, 360.0472412109375, -12.39292049407959],\n  [293.08709716796875, 361.5616455078125, -27.419021606445312],\n  [293.50030517578125, 363.1676025390625, -20.14118003845215],\n  [278.35089111328125, 298.6317138671875, 0.2076733261346817],\n  [283.0218811035156, 300.48175048828125, -3.057471752166748],\n  [285.76177978515625, 301.8895263671875, -6.940402507781982],\n  [240.08578491210938, 293.5745849609375, 2.3983771800994873],\n  [236.07052612304688, 289.68572998046875, 2.4990200996398926],\n  [307.3732604980469, 324.0601806640625, -25.065885543823242],\n  [356.67523193359375, 299.8014831542969, 7.595158100128174],\n  [306.9847412109375, 361.759521484375, -19.91704750061035],\n  [381.818603515625, 260.7698059082031, 34.44782638549805],\n  [333.31622314453125, 307.80841064453125, 0.8499112725257874],\n  [341.2498779296875, 308.71881103515625, 1.6960941553115845],\n  [348.78326416015625, 308.2080078125, 3.661770820617676],\n  [359.02825927734375, 303.1348876953125, 8.94857120513916],\n  [326.7879638671875, 305.22027587890625, 1.1685311794281006],\n  [345.2674560546875, 284.56524658203125, -2.0088536739349365],\n  [336.768798828125, 285, -2.4163801670074463],\n  [353.04400634765625, 285.9664001464844, 0.45641767978668213],\n  [358.04010009765625, 289.2410583496094, 3.284507989883423],\n  [364.31390380859375, 308.7838134765625, 12.568134307861328],\n  [324.36669921875, 437.7641906738281, 6.122448921203613],\n  [359.4388427734375, 297.6155700683594, 9.600309371948242],\n  [382.962158203125, 303.8727111816406, 39.76386260986328],\n  [372.3107604980469, 302.26690673828125, 18.538833618164062],\n  [339.4228515625, 346.74981689453125, -2.363318920135498],\n  [308.92352294921875, 385.3271789550781, -13.11467456817627],\n  [307.30987548828125, 394.150146484375, -9.700993537902832],\n  [319.6434326171875, 386.7612609863281, -8.919146537780762],\n  [326.3415832519531, 388.61492919921875, -3.6562552452087402],\n  [315.2393798828125, 393.47552490234375, -6.758571624755859],\n  [321.29876708984375, 393.0090026855469, -2.0756425857543945],\n  [333.91412353515625, 401.28338623046875, 6.845234394073486],\n  [306.9276123046875, 357.91748046875, -30.962732315063477],\n  [308.24560546875, 347.8184814453125, -33.25374221801758],\n  [370.2144775390625, 277.15875244140625, 4.948965549468994],\n  [323.48406982421875, 322.86029052734375, -5.0297932624816895],\n  [325.33209228515625, 353.02862548828125, -15.71037483215332],\n  [325.71063232421875, 347.51788330078125, -14.104110717773438],\n  [362.6228332519531, 345.078369140625, 6.643834114074707],\n  [307.93426513671875, 334.89654541015625, -30.296648025512695],\n  [353.20819091796875, 266.5593566894531, -6.758531093597412],\n  [363.6017150878906, 269.9488830566406, -1.3440293073654175],\n  [376.6258544921875, 242.72125244140625, 21.28090476989746],\n  [318.34912109375, 274.029541015625, -13.134204864501953],\n  [329.233642578125, 287.79913330078125, -0.8236775398254395],\n  [341.02166748046875, 391.9947509765625, 8.104843139648438],\n  [369.6722412109375, 392.50140380859375, 61.400611877441406],\n  [319.373779296875, 358.50640869140625, -13.441617965698242],\n  [312.39410400390625, 361.8641357421875, -13.971587181091309],\n  [333.64019775390625, 390.7327880859375, 7.61594820022583],\n  [329.98028564453125, 390.59906005859375, 5.84257173538208],\n  [367.95550537109375, 262.7685852050781, 1.2506029605865479],\n  [325.44000244140625, 356.60809326171875, -12.187370300292969],\n  [338.5452880859375, 267.15838623046875, -10.905488967895508],\n  [340.33306884765625, 258.23284912109375, -12.713081359863281],\n  [348.302978515625, 217.42800903320312, -4.553675651550293],\n  [372.1968078613281, 252.34613037109375, 9.78996753692627],\n  [343.51422119140625, 236.95462036132812, -9.055185317993164],\n  [374.4295654296875, 272.2535705566406, 9.881559371948242],\n  [378.1052551269531, 267.1137390136719, 21.304649353027344],\n  [308.3089599609375, 390.70428466796875, -12.006296157836914],\n  [317.1768798828125, 390.987548828125, -8.017443656921387],\n  [323.79833984375, 391.0067138671875, -3.2889156341552734],\n  [317.25225830078125, 360.08978271484375, -12.160839080810547],\n  [331.86663818359375, 390.61322021484375, 6.680799961090088],\n  [327.66259765625, 393.31414794921875, 2.7461254596710205],\n  [328.9090576171875, 390.6084289550781, 5.631084442138672],\n  [315.3644104003906, 356.60345458984375, -21.98170280456543],\n  [319.64178466796875, 392.15325927734375, -1.1716930866241455],\n  [313.44720458984375, 393.4586486816406, -4.418369770050049],\n  [306.0958251953125, 394.66497802734375, -7.112936019897461],\n  [307.0981750488281, 419.7776184082031, -2.9867327213287354],\n  [307.0517272949219, 408.3765563964844, -8.33465576171875],\n  [306.98052978515625, 402.5163269042969, -8.902058601379395],\n  [306.64788818359375, 397.8790283203125, -7.4810791015625],\n  [306.0570983886719, 394.83721923828125, -6.573723793029785],\n  [320.11328125, 392.8348388671875, -0.750707745552063],\n  [321.2628173828125, 393.8656311035156, -1.6959993839263916],\n  [322.7669982910156, 396.33990478515625, -2.4832804203033447],\n  [323.917724609375, 399.8404541015625, -1.2069100141525269],\n  [333.12835693359375, 379.15460205078125, -2.201312780380249],\n  [378.8597717285156, 345.8829040527344, 67.32080841064453],\n  [324.14459228515625, 392.10662841796875, 3.0477957725524902],\n  [325.8373107910156, 392.2274475097656, 2.5118913650512695],\n  [309.4422607421875, 366.2791748046875, -13.972805976867676],\n  [322.49346923828125, 362.0115661621094, -7.678974151611328],\n  [310.86614990234375, 364.2325134277344, -14.162775993347168],\n  [331.717041015625, 328.252197265625, -2.210709810256958],\n  [344.65142822265625, 334.338623046875, 0.47783684730529785],\n  [326.8472900390625, 351.3416748046875, -10.444955825805664],\n  [366.27752685546875, 227.95407104492188, 7.6168999671936035],\n  [361.3927001953125, 241.8026885986328, -0.1350962221622467],\n  [356.2882080078125, 257.7562255859375, -6.220260143280029],\n  [326.7144775390625, 408.7587585449219, 3.371832847595215],\n  [321.48876953125, 260.19677734375, -16.227548599243164],\n  [324.25311279296875, 235.73077392578125, -14.394697189331055],\n  [327.57879638671875, 212.00201416015625, -11.954652786254883],\n  [355.3073425292969, 306.49041748046875, 6.494428634643555],\n  [371.68927001953125, 315.40301513671875, 16.618350982666016],\n  [322.81280517578125, 302.6331787109375, 1.7007064819335938],\n  [365.780029296875, 291.1285095214844, 8.933826446533203],\n  [318.10748291015625, 316.57489013671875, -7.726454257965088],\n  [320.6505126953125, 350.390625, -21.980348587036133],\n  [378.52520751953125, 322.00885009765625, 24.170019149780273],\n  [366.93524169921875, 321.79217529296875, 11.436684608459473],\n  [357.4869689941406, 325.15869140625, 5.6696953773498535],\n  [342.8868408203125, 324.0008544921875, 2.3119006156921387],\n  [331.87579345703125, 320.30194091796875, 0.25034573674201965],\n  [323.7598876953125, 315.7703857421875, -1.982524037361145],\n  [308.10546875, 303.3229675292969, -15.518848419189453],\n  [377.65325927734375, 341.747314453125, 23.78961944580078],\n  [371.64019775390625, 288.90704345703125, 11.829926490783691],\n  [303.86749267578125, 362.6624755859375, -27.897249221801758],\n  [322.88385009765625, 332.43109130859375, -7.141077995300293],\n  [382.97076416015625, 302.5579528808594, 59.73387145996094],\n  [317.8991394042969, 310.38824462890625, -3.501786231994629],\n  [327.3390197753906, 351.4356689453125, -4.344942569732666],\n  [361.591552734375, 298.120849609375, 10.992892265319824],\n  [320.9140625, 343.58575439453125, -20.00631332397461],\n  [375.4109802246094, 368.93756103515625, 65.99598693847656],\n  [323.0166320800781, 299.0319519042969, 2.9272162914276123],\n  [314.5860290527344, 338.2750244140625, -26.292192459106445],\n  [356.2896728515625, 414.80413818359375, 29.786441802978516],\n  [353.1893615722656, 425.3591613769531, 41.277565002441406],\n  [381.3948974609375, 344.77032470703125, 45.5704231262207],\n  [366.114990234375, 402.3834228515625, 37.07483673095703],\n  [380.6361389160156, 284.1849365234375, 32.13893508911133],\n  [324.7380065917969, 447.59088134765625, 10.31078052520752],\n  [302.6345520019531, 364.2626647949219, -19.767332077026367],\n  [329.860595703125, 339.1981201171875, -4.306419849395752],\n  [377.75982666015625, 303.9954833984375, 24.840557098388672],\n  [348.72662353515625, 302.6435546875, 3.7496886253356934],\n  [341.731201171875, 303.3505859375, 2.0609114170074463],\n  [329.43316650390625, 395.2054443359375, 3.9594509601593018],\n  [375.923828125, 361.1905212402344, 26.88157844543457],\n  [310.0873107910156, 460.0473327636719, 11.899538040161133],\n  [331.9680480957031, 447.0196838378906, 24.759647369384766],\n  [341.5283508300781, 438.0824890136719, 32.1016960144043],\n  [334.96044921875, 302.6367492675781, 1.4755160808563232],\n  [328.69384765625, 300.9761962890625, 2.033987283706665],\n  [324.81878662109375, 299.9778137207031, 3.052812337875366],\n  [376.3876647949219, 286.4664306640625, 17.91488265991211],\n  [330.051025390625, 293.26513671875, 0.6276898980140686],\n  [336.9576416015625, 291.23876953125, -0.24208274483680725],\n  [343.93206787109375, 290.8462829589844, 0.3155216872692108],\n  [350.867919921875, 292.2984619140625, 2.1698615550994873],\n  [355.1660461425781, 294.61590576171875, 4.397724151611328],\n  [383.58807373046875, 279.548583984375, 48.35405349731445],\n  [353.4559326171875, 301.2651062011719, 5.846395969390869],\n  [325.9066467285156, 374.74859619140625, -6.504605293273926],\n  [319.656494140625, 357.40264892578125, -15.848856925964355],\n  [310.1542053222656, 373.465087890625, -12.970613479614258],\n  [345.263427734375, 427.4197998046875, 23.920984268188477],\n  [335.1993408203125, 437.513916015625, 17.505901336669922],\n  [311.4644470214844, 454.2825012207031, 3.926825523376465],\n  [362.0497131347656, 411.3240966796875, 52.155921936035156],\n  [325.20245361328125, 296.5793151855469, 1.9624319076538086],\n  [313.1584167480469, 319.390869140625, -16.205463409423828],\n  [321.92657470703125, 454.7729187011719, 17.1419734954834],\n  [378.24371337890625, 365.84832763671875, 45.87765121459961],\n  [313.75372314453125, 393.8746337890625, -3.938037157058716],\n  [314.8427734375, 396.027587890625, -4.977667808532715],\n  [315.6759948730469, 399.723876953125, -5.9359869956970215],\n  [316.2149658203125, 405.08477783203125, -5.035343170166016],\n  [317.9674072265625, 415.27899169921875, -0.34057602286338806],\n  [326.77056884765625, 391.82421875, 2.174017906188965],\n  [329.22265625, 390.9358825683594, 2.294630527496338],\n  [331.4928283691406, 389.49554443359375, 2.192715644836426],\n  [339.0069580078125, 384.77569580078125, 2.977928876876831],\n  [367.70367431640625, 366.0517578125, 14.414066314697266],\n  [312.97625732421875, 309.38580322265625, -11.222635269165039],\n  [317.3673400878906, 291.33135986328125, -2.129173994064331],\n  [322.009765625, 293.80670166015625, 0.5677414536476135],\n  [324.796142578125, 390.81390380859375, 2.6979939937591553],\n  [366.18212890625, 388.74053955078125, 24.754619598388672],\n  [310.79144287109375, 289.9751892089844, -10.173527717590332],\n  [321.41802978515625, 426.5231628417969, 3.075554847717285],\n  [307.807373046875, 314.2569885253906, -21.006572723388672],\n  [318.476806640625, 334.8522033691406, -15.173004150390625],\n  [309.13702392578125, 432.0695495605469, -1.2716456651687622],\n  [339.7491149902344, 407.15130615234375, 10.460354804992676],\n  [333.603271484375, 358.87530517578125, -2.1252334117889404],\n  [331.00543212890625, 418.21185302734375, 7.167931079864502],\n  [352.12615966796875, 357.6951599121094, 1.217620849609375],\n  [341.0467529296875, 367.9482421875, 0.2293931543827057],\n  [358.05242919921875, 372.63299560546875, 7.3089141845703125],\n  [311.1943054199219, 444.88116455078125, 0.08458244800567627],\n  [322.95361328125, 339.92236328125, -10.42269515991211],\n  [344.79071044921875, 415.96343994140625, 16.583690643310547],\n  [334.338134765625, 427.4009704589844, 12.199787139892578],\n  [347.4801025390625, 395.11376953125, 10.842185020446777],\n  [373.0355224609375, 377.535400390625, 29.82500648498535],\n  [356.07659912109375, 398.1593933105469, 17.007970809936523],\n  [373.7404479980469, 385.13348388671875, 44.442726135253906],\n  [347.0653991699219, 378.772705078125, 4.24334716796875],\n  [317.87005615234375, 325.85968017578125, -11.319250106811523],\n  [317.9876708984375, 355.0179138183594, -23.249361038208008],\n  [322.93359375, 356.45257568359375, -16.41042709350586],\n  [314.8368835449219, 348.8318176269531, -27.80367660522461],\n  [324.2010498046875, 283.498779296875, -4.098787307739258],\n  [337.25775146484375, 278.7808837890625, -4.839216232299805],\n  [348.373779296875, 277.998291015625, -3.796363115310669],\n  [357.41845703125, 279.5406494140625, -0.7076868414878845],\n  [363.39544677734375, 283.70416259765625, 3.515821933746338],\n  [366.15875244140625, 300.0559997558594, 13.776080131530762],\n  [383.0858154296875, 324.3414306640625, 43.073463439941406],\n  [360.28375244140625, 312.86663818359375, 9.544275283813477],\n  [352.3401184082031, 315.5252990722656, 5.716311931610107],\n  [342.1090087890625, 315.728759765625, 2.8683881759643555],\n  [332.3074645996094, 313.54278564453125, 1.0963972806930542],\n  [324.771484375, 310.1976318359375, 0.4078766107559204],\n  [319.69049072265625, 306.7348937988281, -0.4225405752658844],\n  [380.8294677734375, 324.1416931152344, 65.51505279541016],\n  [322.54266357421875, 358.4033508300781, -13.312748908996582],\n  [313.2991943359375, 328.52197265625, -20.393056869506836],\n  [312.4696350097656, 356.1797180175781, -27.984386444091797],\n  [307.6595458984375, 360.6966552734375, -25.45814323425293],\n  [312.2298583984375, 357.42681884765625, -25.0369873046875],\n  [320.1729431152344, 361.0259094238281, -11.240046501159668],\n  [306.3169860839844, 361.8370056152344, -27.032991409301758],\n  [305.1815490722656, 363.4141845703125, -19.843814849853516],\n  [320.2969055175781, 299.5377197265625, 1.8979803323745728],\n  [315.833740234375, 301.26409912109375, -1.7907793521881104],\n  [313.56158447265625, 302.59619140625, -5.894857406616211],\n  [357.62335205078125, 296.29754638671875, 6.705108642578125],\n  [361.6152038574219, 292.66925048828125, 7.069137096405029]\n]\n\nexport default {\n  debugPoints\n}\n"
  },
  {
    "path": "src/three.js",
    "content": "import * as THREE from 'three'\nimport { OBJLoader } from './vendor/OBJLoader'\nimport simplify from 'simplify-js'\n\nlet camera\nlet scene\nlet renderer\nlet videoTexture\nlet baseMesh\nlet raycaster\nlet currPlane\n\nconst planes = []\nconst planeWidth = 1024\nconst planeHeight = 1024\n\nconst params = {\n  debug: false,\n  color: '#ffffff',\n  thickness: 20,\n  smooth: 1.5\n}\n\nasync function init(video) {\n  // Initialize camera.\n  const width = video ? video.width : 640\n  const height = video ? video.height : 640\n  const ratio = width / height\n  const fov = 50\n  const near = 1\n  const far = 5000\n  camera = new THREE.PerspectiveCamera(fov, ratio, near, far)\n  camera.position.z = height\n  camera.position.x = -width / 2\n  camera.position.y = -height / 2\n\n  // Initialize renderer.\n  renderer = new THREE.WebGLRenderer({ antialias: true, alpha: true })\n  renderer.setPixelRatio(window.devicePixelRatio)\n  renderer.setSize(width, height)\n\n  // Initialize scene.\n  scene = new THREE.Scene()\n  if (video) {\n    addVideoSprite(video)\n  }\n\n  // Init Raycaster.\n  raycaster = new THREE.Raycaster()\n\n  // addDebugMesh()\n  await addFBXMesh()\n\n  return renderer.domElement\n}\n\nfunction alignPlane(plane) {\n  const vertices = baseMesh.geometry.vertices\n  const centroid = new THREE.Vector3()\n  plane.mesh.position.set(0, 0, 0)\n  plane.mesh.lookAt(plane.face.normal)\n  centroid.add(vertices[plane.face.a])\n  centroid.add(vertices[plane.face.b])\n  centroid.add(vertices[plane.face.c])\n  centroid.divideScalar(3)\n  const centroidWithOffset = centroid\n    .clone()\n    .add(plane.face.normal.multiplyScalar(-10))\n  plane.mesh.position.copy(centroidWithOffset)\n  if (params.debug) {\n    plane.debug.position.copy(plane.mesh.position)\n    plane.debug.rotation.copy(plane.mesh.rotation)\n  }\n}\n\nfunction update(facemesh) {\n  // Update the video sprite.\n  if (videoTexture) {\n    videoTexture.needsUpdate = true\n  }\n\n  if (baseMesh) {\n    for (let i = 0; i < facemesh.length; i++) {\n      const [x, y, z] = facemesh[i]\n      baseMesh.geometry.vertices[i].set(x - 640, -y, -z)\n    }\n    baseMesh.geometry.verticesNeedUpdate = true\n    baseMesh.geometry.normalsNeedUpdate = true\n    baseMesh.geometry.computeBoundingSphere()\n    baseMesh.geometry.computeFaceNormals()\n    baseMesh.geometry.computeVertexNormals()\n  }\n\n  for (const plane of planes) {\n    alignPlane(plane)\n  }\n\n  // Render.\n  renderer.render(scene, camera)\n}\n\nfunction addVideoSprite(video) {\n  videoTexture = new THREE.Texture(video)\n  videoTexture.minFilter = THREE.LinearFilter\n  const videoSprite = new THREE.Sprite(\n    new THREE.MeshBasicMaterial({\n      map: videoTexture,\n      depthWrite: false\n    })\n  )\n  const width = video.width\n  const height = video.height\n  videoSprite.center.set(0.5, 0.5)\n  videoSprite.scale.set(width, height, 1)\n  videoSprite.position.copy(camera.position)\n  videoSprite.position.z = 0\n  scene.add(videoSprite)\n}\n\nfunction addFBXMesh() {\n  const loader = new OBJLoader()\n  return new Promise((resolve, reject) => {\n    loader.load('facemesh.obj', obj => {\n      obj.traverse(child => {\n        if (child instanceof THREE.Mesh) {\n          const mat = new THREE.MeshNormalMaterial({\n            side: THREE.DoubleSide\n          })\n          if (!params.debug) {\n            mat.transparent = true\n            mat.opacity = 0\n          }\n          baseMesh = new THREE.Mesh(child.geometry, mat)\n          scene.add(baseMesh)\n          resolve()\n        }\n      })\n    })\n  })\n}\n\nfunction draw(pt) {\n  // Raycase draw point.\n  const x = (pt.x / renderer.domElement.clientWidth) * 2 - 1\n  const y = -(pt.y / renderer.domElement.clientHeight) * 2 + 1\n  raycaster.setFromCamera(new THREE.Vector2(x, y), camera)\n  if (currPlane) {\n    const intersects = raycaster.intersectObject(currPlane.mesh)\n    if (intersects.length) {\n      // Add intersection UV to the list of points.\n      let { x, y } = intersects[0].uv\n      x = x * planeWidth\n      y = (1 - y) * planeHeight\n      currPlane.points.push({ x, y })\n\n      // Simplify path to smooth out the line.\n      const pts = simplify(currPlane.points, params.smooth)\n      // const pts = currPlane.points\n\n      // Draw using Quadratic Curve\n      const ctx = currPlane.ctx\n      ctx.clearRect(0, 0, ctx.canvas.width, ctx.canvas.height)\n\n      // for (let i = 0; i < pts.length - 2; i++) {\n      //   ctx.beginPath()\n      //   ctx.moveTo(pts[i].x, pts[i].y)\n      //   const pct = (i + 1) / pts.length\n      //   ctx.lineWidth = Math.sin(pct * Math.PI) * params.thickness\n      //   ctx.lineTo(pts[i + 1].x, pts[i + 1].y)\n      //   ctx.stroke()\n      // }\n\n      if (currPlane.points.length < 3) {\n        ctx.arc(x, y, params.thickness / 2, 0, Math.PI * 2, !0)\n        ctx.fill()\n        ctx.closePath()\n      } else {\n        ctx.beginPath()\n        ctx.lineWidth = params.thickness\n        let i = 0\n        ctx.moveTo(pts[i].x, pts[i].y)\n        for (i; i < pts.length - 2; i++) {\n          const c = {\n            x: (pts[i].x + pts[i + 1].x) / 2,\n            y: (pts[i].y + pts[i + 1].y) / 2\n          }\n          ctx.quadraticCurveTo(pts[i].x, pts[i].y, c.x, c.y)\n        }\n        ctx.quadraticCurveTo(pts[i].x, pts[i].y, pts[i + 1].x, pts[i + 1].y)\n        ctx.stroke()\n      }\n      currPlane.mesh.material.map.needsUpdate = true\n    }\n  } else {\n    baseMesh.geometry.verticesNeedUpdate = true\n    baseMesh.geometry.normalsNeedUpdate = true\n    baseMesh.geometry.computeBoundingSphere()\n    baseMesh.geometry.computeFaceNormals()\n    baseMesh.geometry.computeVertexNormals()\n\n    const intersects = raycaster.intersectObject(baseMesh)\n    if (intersects.length) {\n      const face = intersects[0].face\n      const position = intersects[0].point\n      const uv = intersects[0].uv\n      const plane = createDrawingPlane(position, face, uv)\n      planes.push(plane)\n      scene.add(plane.mesh)\n      currPlane = plane\n    }\n  }\n}\n\nfunction end() {\n  currPlane = null\n}\n\nfunction undo() {\n  end()\n  if (planes.length) {\n    const plane = planes.pop()\n    scene.remove(plane.mesh)\n    scene.remove(plane.debug)\n  }\n}\n\nfunction clear() {\n  end()\n  for (const plane of planes) {\n    scene.remove(plane.mesh)\n    scene.remove(plane.debug)\n  }\n  planes.splice(0, planes.length)\n}\n\nfunction setDebug(value) {\n  params.debug = value\n  if (params.debug) {\n    baseMesh.material.transparent = false\n    baseMesh.material.opacity = 1\n    for (const plane of planes) {\n      scene.add(plane.debug)\n    }\n  } else {\n    baseMesh.material.transparent = true\n    baseMesh.material.opacity = 0\n    for (const plane of planes) {\n      scene.remove(plane.debug)\n    }\n  }\n}\n\nfunction isOverFace(pt) {\n  // Raycase draw point.\n  const x = (pt.x / renderer.domElement.clientWidth) * 2 - 1\n  const y = -(pt.y / renderer.domElement.clientHeight) * 2 + 1\n  raycaster.setFromCamera(new THREE.Vector2(x, y), camera)\n  const intersects = raycaster.intersectObject(baseMesh)\n  if (intersects.length) {\n    return true\n  }\n  return false\n}\n\nfunction createDrawingPlane(position, face, uv) {\n  const width = planeWidth\n  const height = planeHeight\n  // Create Canvas.\n  const canvas = document.createElement('canvas')\n  canvas.width = width\n  canvas.height = height\n  const ctx = canvas.getContext('2d')\n  ctx.strokeStyle = params.color\n  ctx.lineCap = 'round'\n  ctx.lineJoin = 'round'\n  ctx.lineWidth = params.thickness\n  // Create Texture.\n  const texture = new THREE.CanvasTexture(canvas)\n  // Create Mesh.\n  const geom = new THREE.PlaneGeometry(width / 2, height / 2, 1, 1)\n  const mat = new THREE.MeshBasicMaterial({\n    map: texture,\n    side: THREE.DoubleSide,\n    transparent: true,\n    depthWrite: false\n  })\n  const mesh = new THREE.Mesh(geom, mat)\n\n  // Create an object that will contain some debug helpers.\n  const debugObj = new THREE.Object3D()\n\n  const plane = {\n    mesh,\n    face,\n    ctx,\n    points: [],\n    debug: debugObj\n  }\n  alignPlane(plane)\n\n  // Add Debug Helper.\n  const helper = new THREE.AxesHelper(50)\n  debugObj.add(helper)\n  // Add Debug Grid.\n  const pgeom = new THREE.PlaneGeometry(30, 30, 3, 3)\n  const pmat = new THREE.MeshBasicMaterial({\n    color: '#ffffff',\n    wireframe: true\n  })\n  const debugPlane = new THREE.Mesh(pgeom, pmat)\n  debugObj.add(debugPlane)\n\n  if (params.debug) {\n    debugObj.lookAt(face.normal)\n    debugObj.position.copy(plane.mesh.position)\n    scene.add(debugObj)\n  }\n\n  return plane\n}\n\nexport default {\n  init,\n  update,\n  draw,\n  end,\n  undo,\n  clear,\n  params,\n  isOverFace,\n  setDebug\n}\n"
  },
  {
    "path": "src/triangulation.js",
    "content": "/**\n * @license\n * Copyright 2020 Google LLC. All Rights Reserved.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =============================================================================\n */\n\nexport const TRIANGULATION = [\n    127, 34, 139, 11, 0, 37, 232, 231, 120, 72, 37, 39, 128, 121, 47, 232, 121,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    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,\n    420, 363, 361, 401, 288, 265, 372, 353, 390, 339, 249, 339, 448, 255];"
  },
  {
    "path": "src/vendor/OBJLoader.js",
    "content": "import * as THREE from 'three';\n\nconst OBJLoader = function (manager) {\n\n\tthis.manager = (manager !== undefined) ? manager : THREE.DefaultLoadingManager;\n\n};\n\nOBJLoader.prototype = {\n\n\tconstructor: OBJLoader,\n\n\tload: function (url, onLoad, onProgress, onError) {\n\n\t\tvar scope = this;\n\n\t\tvar loader = new THREE.FileLoader(scope.manager);\n\t\tloader.setCrossOrigin(this.crossOrigin);\n\t\tloader.load(url, function (text) {\n\n\t\t\tonLoad(scope.parse(text));\n\n\t\t});\n\n\t},\n\n\tparse: function (text) {\n\n\t\tfunction vector(x, y, z) {\n\n\t\t\treturn new THREE.Vector3(parseFloat(x), parseFloat(y), parseFloat(z));\n\n\t\t}\n\n\t\tfunction uv(u, v) {\n\n\t\t\treturn new THREE.Vector2(parseFloat(u), parseFloat(v));\n\n\t\t}\n\n\t\tfunction face3(a, b, c, normals) {\n\n\t\t\treturn new THREE.Face3(a, b, c, normals);\n\n\t\t}\n\n\t\tvar object = new THREE.Object3D();\n\t\tvar geometry, material, mesh;\n\n\t\tfunction parseVertexIndex(index) {\n\n\t\t\tindex = parseInt(index);\n\n\t\t\treturn index >= 0 ? index - 1 : index + vertices.length;\n\n\t\t}\n\n\t\tfunction parseNormalIndex(index) {\n\n\t\t\tindex = parseInt(index);\n\n\t\t\treturn index >= 0 ? index - 1 : index + normals.length;\n\n\t\t}\n\n\t\tfunction parseUVIndex(index) {\n\n\t\t\tindex = parseInt(index);\n\n\t\t\treturn index >= 0 ? index - 1 : index + uvs.length;\n\n\t\t}\n\n\t\tfunction add_face(a, b, c, normals_inds) {\n\n\t\t\tif (normals_inds === undefined) {\n\n\t\t\t\tgeometry.faces.push(face3(\n\t\t\t\t\tvertices[parseVertexIndex(a)] - 1,\n\t\t\t\t\tvertices[parseVertexIndex(b)] - 1,\n\t\t\t\t\tvertices[parseVertexIndex(c)] - 1\n\t\t\t\t));\n\n\t\t\t} else {\n\n\t\t\t\tgeometry.faces.push(face3(\n\t\t\t\t\tvertices[parseVertexIndex(a)] - 1,\n\t\t\t\t\tvertices[parseVertexIndex(b)] - 1,\n\t\t\t\t\tvertices[parseVertexIndex(c)] - 1,\n\t\t\t\t\t[\n\t\t\t\t\t\tnormals[parseNormalIndex(normals_inds[0])].clone(),\n\t\t\t\t\t\tnormals[parseNormalIndex(normals_inds[1])].clone(),\n\t\t\t\t\t\tnormals[parseNormalIndex(normals_inds[2])].clone()\n\t\t\t\t\t]\n\t\t\t\t));\n\n\t\t\t}\n\n\t\t}\n\n\t\tfunction add_uvs(a, b, c) {\n\n\t\t\tgeometry.faceVertexUvs[0].push([\n\t\t\t\tuvs[parseUVIndex(a)].clone(),\n\t\t\t\tuvs[parseUVIndex(b)].clone(),\n\t\t\t\tuvs[parseUVIndex(c)].clone()\n\t\t\t]);\n\n\t\t}\n\n\t\tfunction handle_face_line(faces, uvs, normals_inds) {\n\n\t\t\tif (faces[3] === undefined) {\n\n\t\t\t\tadd_face(faces[0], faces[1], faces[2], normals_inds);\n\n\t\t\t\tif (uvs !== undefined && uvs.length > 0) {\n\n\t\t\t\t\tadd_uvs(uvs[0], uvs[1], uvs[2]);\n\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\tif (normals_inds !== undefined && normals_inds.length > 0) {\n\n\t\t\t\t\tadd_face(faces[0], faces[1], faces[3], [normals_inds[0], normals_inds[1], normals_inds[3]]);\n\t\t\t\t\tadd_face(faces[1], faces[2], faces[3], [normals_inds[1], normals_inds[2], normals_inds[3]]);\n\n\t\t\t\t} else {\n\n\t\t\t\t\tadd_face(faces[0], faces[1], faces[3]);\n\t\t\t\t\tadd_face(faces[1], faces[2], faces[3]);\n\n\t\t\t\t}\n\n\t\t\t\tif (uvs !== undefined && uvs.length > 0) {\n\n\t\t\t\t\tadd_uvs(uvs[0], uvs[1], uvs[3]);\n\t\t\t\t\tadd_uvs(uvs[1], uvs[2], uvs[3]);\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t}\n\n\t\t// create mesh if no objects in text\n\n\t\tif (/^o /gm.test(text) === false) {\n\n\t\t\tgeometry = new THREE.Geometry();\n\t\t\tmaterial = new THREE.MeshLambertMaterial();\n\t\t\tmesh = new THREE.Mesh(geometry, material);\n\t\t\tobject.add(mesh);\n\n\t\t}\n\n\t\tvar vertices = [];\n\t\tvar normals = [];\n\t\tvar uvs = [];\n\n\t\t// v float float float\n\n\t\tvar vertex_pattern = /v( +[\\d|\\.|\\+|\\-|e]+)( +[\\d|\\.|\\+|\\-|e]+)( +[\\d|\\.|\\+|\\-|e]+)/;\n\n\t\t// vn float float float\n\n\t\tvar normal_pattern = /vn( +[\\d|\\.|\\+|\\-|e]+)( +[\\d|\\.|\\+|\\-|e]+)( +[\\d|\\.|\\+|\\-|e]+)/;\n\n\t\t// vt float float\n\n\t\tvar uv_pattern = /vt( +[\\d|\\.|\\+|\\-|e]+)( +[\\d|\\.|\\+|\\-|e]+)/;\n\n\t\t// f vertex vertex vertex ...\n\n\t\tvar face_pattern1 = /f( +-?\\d+)( +-?\\d+)( +-?\\d+)( +-?\\d+)?/;\n\n\t\t// f vertex/uv vertex/uv vertex/uv ...\n\n\t\tvar face_pattern2 = /f( +(-?\\d+)\\/(-?\\d+))( +(-?\\d+)\\/(-?\\d+))( +(-?\\d+)\\/(-?\\d+))( +(-?\\d+)\\/(-?\\d+))?/;\n\n\t\t// f vertex/uv/normal vertex/uv/normal vertex/uv/normal ...\n\n\t\tvar face_pattern3 = /f( +(-?\\d+)\\/(-?\\d+)\\/(-?\\d+))( +(-?\\d+)\\/(-?\\d+)\\/(-?\\d+))( +(-?\\d+)\\/(-?\\d+)\\/(-?\\d+))( +(-?\\d+)\\/(-?\\d+)\\/(-?\\d+))?/;\n\n\t\t// f vertex//normal vertex//normal vertex//normal ... \n\n\t\tvar face_pattern4 = /f( +(-?\\d+)\\/\\/(-?\\d+))( +(-?\\d+)\\/\\/(-?\\d+))( +(-?\\d+)\\/\\/(-?\\d+))( +(-?\\d+)\\/\\/(-?\\d+))?/\n\n\t\t// fixes\n\n\t\ttext = text.replace(/\\\\\\r?\\n/g, ''); // handles line continuations \\\n\n\t\tvar lines = text.split('\\n');\n\n\t\tfor (var i = 0; i < lines.length; i++) {\n\n\t\t\tvar line = lines[i];\n\t\t\tline = line.trim();\n\n\t\t\tvar result;\n\n\t\t\tif (line.length === 0 || line.charAt(0) === '#') {\n\n\t\t\t\tcontinue;\n\n\t\t\t} else if ((result = vertex_pattern.exec(line)) !== null) {\n\n\t\t\t\t// [\"v 1.0 2.0 3.0\", \"1.0\", \"2.0\", \"3.0\"]\n\n\t\t\t\tvertices.push(\n\t\t\t\t\tgeometry.vertices.push(\n\t\t\t\t\t\tvector(\n\t\t\t\t\t\t\tresult[1], result[2], result[3]\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t} else if ((result = normal_pattern.exec(line)) !== null) {\n\n\t\t\t\t// [\"vn 1.0 2.0 3.0\", \"1.0\", \"2.0\", \"3.0\"]\n\n\t\t\t\tnormals.push(\n\t\t\t\t\tvector(\n\t\t\t\t\t\tresult[1], result[2], result[3]\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t} else if ((result = uv_pattern.exec(line)) !== null) {\n\n\t\t\t\t// [\"vt 0.1 0.2\", \"0.1\", \"0.2\"]\n\n\t\t\t\tuvs.push(\n\t\t\t\t\tuv(\n\t\t\t\t\t\tresult[1], result[2]\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t} else if ((result = face_pattern1.exec(line)) !== null) {\n\n\t\t\t\t// [\"f 1 2 3\", \"1\", \"2\", \"3\", undefined]\n\n\t\t\t\thandle_face_line(\n\t\t\t\t\t[result[1], result[2], result[3], result[4]]\n\t\t\t\t);\n\n\t\t\t} else if ((result = face_pattern2.exec(line)) !== null) {\n\n\t\t\t\t// [\"f 1/1 2/2 3/3\", \" 1/1\", \"1\", \"1\", \" 2/2\", \"2\", \"2\", \" 3/3\", \"3\", \"3\", undefined, undefined, undefined]\n\n\t\t\t\thandle_face_line(\n\t\t\t\t\t[result[2], result[5], result[8], result[11]], //faces\n\t\t\t\t\t[result[3], result[6], result[9], result[12]] //uv\n\t\t\t\t);\n\n\t\t\t} else if ((result = face_pattern3.exec(line)) !== null) {\n\n\t\t\t\t// [\"f 1/1/1 2/2/2 3/3/3\", \" 1/1/1\", \"1\", \"1\", \"1\", \" 2/2/2\", \"2\", \"2\", \"2\", \" 3/3/3\", \"3\", \"3\", \"3\", undefined, undefined, undefined, undefined]\n\n\t\t\t\thandle_face_line(\n\t\t\t\t\t[result[2], result[6], result[10], result[14]], //faces\n\t\t\t\t\t[result[3], result[7], result[11], result[15]], //uv\n\t\t\t\t\t[result[4], result[8], result[12], result[16]] //normal\n\t\t\t\t);\n\n\t\t\t} else if ((result = face_pattern4.exec(line)) !== null) {\n\n\t\t\t\t// [\"f 1//1 2//2 3//3\", \" 1//1\", \"1\", \"1\", \" 2//2\", \"2\", \"2\", \" 3//3\", \"3\", \"3\", undefined, undefined, undefined]\n\n\t\t\t\thandle_face_line(\n\t\t\t\t\t[result[2], result[5], result[8], result[11]], //faces\n\t\t\t\t\t[], //uv\n\t\t\t\t\t[result[3], result[6], result[9], result[12]] //normal\n\t\t\t\t);\n\n\t\t\t} else if (/^o /.test(line)) {\n\n\t\t\t\tgeometry = new THREE.Geometry();\n\t\t\t\tmaterial = new THREE.MeshLambertMaterial();\n\n\t\t\t\tmesh = new THREE.Mesh(geometry, material);\n\t\t\t\tmesh.name = line.substring(2).trim();\n\t\t\t\tobject.add(mesh);\n\n\t\t\t} else if (/^g /.test(line)) {\n\n\t\t\t\t// group\n\n\t\t\t} else if (/^usemtl /.test(line)) {\n\n\t\t\t\t// material\n\n\t\t\t\tmaterial.name = line.substring(7).trim();\n\n\t\t\t} else if (/^mtllib /.test(line)) {\n\n\t\t\t\t// mtl file\n\n\t\t\t} else if (/^s /.test(line)) {\n\n\t\t\t\t// smooth shading\n\n\t\t\t} else {\n\n\t\t\t\t// console.log( \"THREE.OBJLoader: Unhandled line \" + line );\n\n\t\t\t}\n\n\t\t}\n\n\t\tvar children = object.children;\n\n\t\tfor (var i = 0, l = children.length; i < l; i++) {\n\n\t\t\tvar geometry = children[i].geometry;\n\n\t\t\tgeometry.computeFaceNormals();\n\t\t\tgeometry.computeBoundingSphere();\n\n\t\t}\n\n\t\treturn object;\n\n\t}\n\n};\n\nexport { OBJLoader }"
  },
  {
    "path": "static/facemesh.obj",
    "content": "# Blender v2.82 (sub 7) OBJ File: 'facemesh.blend'\n# www.blender.org\nmtllib facemesh.mtl\no New_Object_Mesh\nv -0.391703 -30.513420 2.929656\nv -0.327589 -13.526743 20.004915\nv -0.277804 -19.081829 4.867016\nv 4.676590 7.354108 12.994000\nv -0.341671 -7.029040 22.194536\nv -0.256098 1.456693 20.194050\nv 0.042588 21.398129 5.349126\nv 40.740379 22.225311 -17.598557\nv 0.153374 35.699390 1.791313\nv 0.168240 44.109463 3.275271\nv 0.305854 75.679169 -1.215682\nv -0.401943 -33.307640 1.980729\nv -0.353038 -35.152973 0.271872\nv -0.298869 -35.372543 -2.202204\nv -0.383511 -43.380497 -4.554055\nv -0.380759 -45.765694 -3.531934\nv -0.375800 -48.769741 -2.175002\nv -0.346630 -52.423962 -2.879055\nv -0.210762 -58.960518 -7.838552\nv -0.312770 -16.804180 16.935862\nv 5.330989 -15.891883 8.959006\nv 59.252075 45.024712 -42.973286\nv 24.303938 17.272987 -12.049582\nv 29.855165 16.900997 -12.405232\nv 35.257412 17.248531 -13.901323\nv 42.839596 20.181641 -18.603035\nv 19.722767 18.600685 -12.644763\nv 32.206211 31.506393 -9.249606\nv 26.232580 31.091812 -9.459580\nv 37.812805 30.680012 -11.180326\nv 41.577534 28.681141 -13.608844\nv 46.852428 16.752567 -21.682589\nv 21.362268 -67.651222 -16.156527\nv 42.811665 23.334782 -19.481913\nv 61.226650 18.545483 -46.896729\nv 52.608521 20.229435 -27.221169\nv 29.815342 -5.982173 -7.366467\nv 8.356757 -29.271130 2.429451\nv 7.673128 -34.688419 -0.667224\nv 17.319040 -29.935246 -1.448414\nv 22.952820 -31.073929 -7.030187\nv 14.271839 -34.198078 -3.557678\nv 19.257126 -33.982254 -8.587597\nv 28.898727 -41.488403 -17.926575\nv 4.481228 -13.266599 19.543421\nv 5.145666 -6.912517 21.565374\nv 49.791157 35.510239 -14.748238\nv 17.507236 8.069736 -6.102351\nv 19.160110 -9.840832 5.476562\nv 19.476845 -6.456553 3.765532\nv 46.812027 -4.392895 -14.950462\nv 4.913116 0.883450 18.439407\nv 36.728039 41.949772 -4.671053\nv 44.525261 39.921650 -9.190274\nv 54.554008 56.340248 -31.316057\nv 12.168645 36.842499 0.139669\nv 21.087973 29.243511 -11.267314\nv 33.790276 -33.987850 -18.535112\nv 54.908672 -38.197388 -65.231491\nv 15.004392 -13.357043 3.031813\nv 9.891405 -15.715839 3.393411\nv 29.438778 -33.590706 -18.662237\nv 26.598118 -33.884201 -17.275576\nv 47.538151 44.221828 -11.741336\nv 19.731133 -11.971386 2.130724\nv 26.163134 41.372887 -1.397717\nv 27.206575 46.849468 0.161694\nv 32.893444 72.052567 -8.644912\nv 50.880817 50.548409 -20.260151\nv 29.385611 60.140594 -4.011586\nv 52.872715 38.334484 -19.436506\nv 55.990223 41.354923 -30.659679\nv 8.145041 -32.573151 1.370785\nv 15.633457 -32.607052 -2.414984\nv 21.087002 -32.570480 -7.420076\nv 13.637033 -14.415978 1.735104\nv 28.108210 -33.636101 -17.931772\nv 24.640327 -37.758896 -14.705924\nv 25.614784 -34.105255 -17.126053\nv 11.325471 -12.454526 11.281258\nv 18.158592 -33.391689 -9.437989\nv 13.113791 -34.052814 -5.823841\nv 7.035420 -34.890533 -3.074133\nv 8.551800 -58.263882 -8.376295\nv 8.117520 -51.452351 -3.529671\nv 7.789455 -47.792210 -2.989572\nv 7.386213 -44.795372 -4.471762\nv 6.853819 -42.781071 -5.394631\nv 18.273136 -39.374020 -11.351515\nv 19.244640 -39.985825 -10.410431\nv 20.545877 -41.436604 -9.717621\nv 21.599977 -43.478828 -10.892609\nv 26.958124 -25.780521 -8.247591\nv 60.547493 -8.602262 -71.708138\nv -0.285215 -17.898754 9.133472\nv 21.623245 -37.560238 -15.056973\nv 23.135502 -37.352428 -14.529606\nv 7.850791 -18.531700 3.377678\nv 18.058542 -15.315192 -2.432274\nv 8.811674 -17.204643 3.581658\nv 23.701252 5.113960 -8.232275\nv 33.219639 1.894928 -9.990783\nv 20.717361 -8.753664 0.313672\nv 46.270363 65.615051 -19.235329\nv 42.495056 57.160217 -11.583475\nv 38.723221 47.277775 -5.392136\nv 23.616018 -48.102921 -14.802400\nv 13.989193 45.362541 2.778713\nv 15.796125 60.751297 0.196890\nv 18.052998 75.101227 -2.592651\nv 40.062183 18.269352 -16.317156\nv 52.394577 12.848121 -25.064829\nv 16.895411 20.034092 -13.330769\nv 47.300411 27.137192 -18.691217\nv 13.305011 11.688559 -3.789199\nv 15.077642 -8.380561 11.280568\nv 57.830547 8.510499 -31.630203\nv 48.881886 9.493465 -20.162457\nv 42.076454 7.699603 -14.991509\nv 31.559713 7.976216 -12.328252\nv 23.547586 9.790773 -10.973671\nv 17.586954 12.272169 -9.283197\nv 5.507946 19.686798 2.973412\nv 57.985950 -3.256486 -30.787766\nv 51.468445 28.257584 -21.158148\nv 2.615532 -16.443922 16.623390\nv 17.341846 2.373301 -3.681009\nv 62.193714 18.698460 -65.600105\nv 13.219665 15.385485 -8.219237\nv 21.440145 -8.843401 -5.797756\nv 44.598610 23.065853 -20.604412\nv 15.345642 -4.180233 9.180137\nv 58.650524 -23.054722 -69.897934\nv 17.130035 22.092831 -14.694052\nv 10.108676 -1.131684 14.953390\nv 44.606174 -51.371353 -37.042763\nv 42.972649 -59.312057 -46.894756\nv 61.575474 -6.646063 -51.200180\nv 51.698292 -43.463940 -43.096886\nv 58.667263 30.770981 -40.297688\nv 21.775030 -74.430191 -19.471718\nv 2.047860 -17.615932 8.766379\nv 22.778292 -1.483693 -5.986648\nv 56.802494 18.945831 -32.953720\nv 34.930332 20.698803 -14.234451\nv 30.001928 20.254974 -12.861559\nv 26.042513 -38.562534 -15.706674\nv 57.748531 -15.702432 -33.405308\nv 11.330700 -83.466934 -20.814280\nv 27.653599 -74.072510 -32.430817\nv 34.637005 -67.794334 -39.003334\nv 0.205507 60.446140 1.429344\nv -0.014131 -84.795830 -19.284725\nv 25.309420 20.515541 -12.693746\nv 20.985510 21.252903 -13.449100\nv 18.346273 21.675690 -14.640030\nv 55.035046 29.571712 -26.796894\nv 21.985285 25.478378 -12.407498\nv 26.717546 26.716942 -11.243027\nv 31.416763 27.014359 -11.427041\nv 36.261787 26.298676 -12.877275\nv 39.443439 25.027885 -14.802340\nv 61.567997 33.234631 -55.508896\nv 38.344521 21.425240 -16.043129\nv -0.283227 -22.835312 2.929769\nv 21.176298 -23.167084 -3.703203\nv 14.966014 -12.749868 5.310005\nv 8.719563 -22.697067 2.334445\nv 0.141385 28.649921 1.406427\nv 36.684841 -59.936714 -32.159046\nv 29.405146 -67.156494 -26.245543\nv 11.850958 -79.286079 -13.768339\nv 49.464115 -50.303288 -56.441460\nv 18.646063 23.506187 -13.736939\nv 9.313857 10.031965 4.312936\nv -0.097555 -80.672401 -12.514790\nv 20.190439 -79.625748 -25.443485\nv 60.050102 -20.083969 -51.129978\nv 13.062889 -41.298908 -8.026192\nv 14.038498 -42.705715 -7.082882\nv 14.884039 -45.073914 -6.204046\nv 15.523176 -48.324768 -7.105758\nv 17.106590 -54.080486 -11.139311\nv 23.890659 -33.588512 -13.247632\nv 25.679350 -32.855568 -13.317421\nv 27.300512 -31.873524 -13.143246\nv 31.815681 -29.103104 -13.590711\nv 51.562771 -18.112133 -21.991924\nv 9.287562 16.009937 -0.840998\nv 12.634535 26.710350 -10.365831\nv 16.145561 25.423695 -12.643601\nv 22.392563 -33.014324 -13.711056\nv 51.360542 -33.508823 -31.886326\nv 7.569176 27.398006 -2.649560\nv 19.395390 -60.430435 -13.869312\nv -0.139347 8.253318 14.962630\nv 5.130049 13.178600 8.537459\nv -0.064695 14.490357 9.914152\nv 13.679506 0.902021 4.023934\nv -0.163536 -74.222153 -9.167343\nv -0.188253 -66.050659 -8.516518\nv 10.018951 -65.199104 -9.808981\nv 32.436947 -45.148766 -20.809521\nv 26.086281 -13.444077 -7.774351\nv 26.408873 -53.656773 -17.879459\nv 39.426929 -12.648893 -10.321648\nv 31.733070 -19.103127 -10.097721\nv 44.333290 -22.059017 -16.155952\nv 11.475121 -73.021126 -10.628958\nv 17.476896 -2.054946 -0.275513\nv 36.032677 -51.575695 -25.823637\nv 28.587585 -59.943913 -21.882406\nv 37.687042 -36.364758 -20.509777\nv 56.274845 -26.450497 -36.194405\nv 44.015095 -39.248489 -25.576450\nv 57.115608 -32.472286 -49.586803\nv 36.741611 -25.418667 -13.993815\nv 13.194196 6.188581 -0.034378\nv 13.161253 -11.368348 12.481596\nv 17.433899 -12.019117 6.038604\nv 10.260014 -7.518275 16.735033\nv 17.056665 31.493172 -8.496260\nv 26.042393 34.655415 -7.290590\nv 33.912411 35.358974 -7.643402\nv 40.502232 34.436863 -10.055379\nv 45.147739 31.819832 -13.748941\nv 47.974079 21.713245 -22.979763\nv 62.015759 6.021857 -49.346500\nv 43.870193 14.550788 -18.856926\nv 38.080006 13.025960 -15.525772\nv 30.738440 12.722532 -13.225120\nv 23.718529 13.741654 -12.144513\nv 18.308809 15.551921 -11.824625\nv 14.674701 17.526020 -11.345362\nv 61.414421 5.051208 -70.530090\nv 17.480141 -13.170094 3.085974\nv 9.293222 4.654150 8.821153\nv 8.690671 -12.167177 16.872761\nv 5.539879 -15.194092 14.321405\nv 8.835292 -13.031940 14.048054\nv 16.073324 -14.847165 0.962954\nv 4.456174 -15.915439 15.850921\nv 3.995910 -17.020542 8.855565\nv 15.081600 21.841644 -13.758110\nv 11.850179 20.770798 -10.312963\nv 9.975327 19.987106 -6.259644\nv 41.349754 24.058044 -16.829649\nv 44.335926 26.411774 -17.067303\nv -4.933437 7.306862 12.832303\nv -39.557358 21.427799 -18.723644\nv -5.759441 -15.948621 8.835617\nv -57.314793 44.416153 -44.996033\nv -23.294079 16.695900 -12.755176\nv -28.838215 16.277988 -13.266344\nv -34.186539 16.668358 -14.919426\nv -41.609428 19.427177 -19.805939\nv -18.727068 18.134312 -13.225418\nv -31.299002 30.783356 -10.185483\nv -25.348385 30.484879 -10.168536\nv -36.856441 29.900997 -12.256269\nv -40.513809 27.823536 -14.816440\nv -45.558876 16.160557 -22.991751\nv -21.236019 -67.629868 -16.730902\nv -41.601208 22.514027 -20.686962\nv -59.369560 18.024475 -48.902332\nv -51.201389 19.594296 -28.745480\nv -29.351946 -6.103733 -8.092149\nv -9.023136 -29.247574 2.196111\nv -8.299863 -34.651318 -0.867335\nv -17.776714 -29.864914 -1.895026\nv -23.290581 -30.914558 -7.624582\nv -14.749841 -34.116322 -3.974968\nv -19.606474 -33.827911 -9.111079\nv -28.894905 -41.387436 -18.665972\nv -5.139418 -13.319161 19.426989\nv -5.754573 -6.967084 21.458084\nv -48.604088 34.580875 -16.200335\nv -16.972008 7.911997 -6.572989\nv -19.245827 -9.834166 4.982230\nv -19.427536 -6.457109 3.261186\nv -45.907448 -4.648933 -16.173428\nv -5.392848 0.844442 18.292828\nv -35.897770 41.033051 -5.626067\nv -43.502777 39.002102 -10.372753\nv -52.859444 55.694847 -33.069000\nv -11.712626 36.487724 -0.135837\nv -20.154068 28.769238 -11.888829\nv -33.750340 -33.838543 -19.396286\nv -52.995476 -38.395267 -67.132385\nv -15.147238 -13.401670 2.667139\nv -10.136940 -15.717710 3.212129\nv -29.571869 -33.349567 -19.422304\nv -26.721500 -33.648884 -17.976484\nv -46.405823 43.231853 -13.084427\nv -19.718687 -11.935544 1.668206\nv -25.499416 40.664646 -2.005397\nv -26.542826 46.144039 -0.487395\nv -31.918697 71.576714 -9.592605\nv -49.478191 49.791859 -21.817379\nv -28.609982 59.584484 -4.746192\nv -51.548882 37.470181 -21.014814\nv -54.353493 40.577595 -32.446762\nv -8.848559 -32.569904 1.171319\nv -16.143618 -32.494175 -2.825132\nv -21.451145 -32.452530 -8.010982\nv -13.756038 -14.412023 1.468066\nv -28.247259 -33.416073 -18.662537\nv -24.925657 -37.594521 -15.343097\nv -25.712385 -33.902946 -17.815462\nv -11.635601 -12.579294 10.933297\nv -18.424841 -33.263954 -9.926016\nv -13.525257 -33.961899 -6.163164\nv -7.548410 -34.822258 -3.273077\nv -8.887934 -58.224354 -8.552992\nv -8.726043 -51.443874 -3.770199\nv -8.500104 -47.772083 -3.232642\nv -8.093838 -44.760731 -4.711023\nv -7.531825 -42.745762 -5.673565\nv -18.653446 -39.255287 -11.808201\nv -19.659336 -39.873890 -10.931899\nv -20.975924 -41.348999 -10.201480\nv -21.973021 -43.383892 -11.415076\nv -27.028786 -25.677513 -8.922566\nv -58.347717 -9.025102 -73.768936\nv -21.845783 -37.416756 -15.637444\nv -23.421255 -37.196758 -15.131150\nv -8.205168 -18.499249 3.217656\nv -18.032061 -15.237701 -2.806179\nv -9.115054 -17.195915 3.404947\nv -23.089077 4.929069 -8.835421\nv -32.524120 1.663303 -10.828115\nv -20.620441 -8.749314 -0.192320\nv -44.947170 64.980270 -20.665092\nv -41.374809 56.400486 -12.802796\nv -37.841049 46.389095 -6.413615\nv -23.704187 -48.030380 -15.416173\nv -13.535759 44.974751 2.455831\nv -15.222555 60.491947 -0.207817\nv -17.316429 74.842575 -3.072198\nv -38.906075 17.591454 -17.469841\nv -51.064823 12.344380 -26.570110\nv -15.926041 19.634270 -13.845269\nv -46.071987 26.319286 -20.042429\nv -12.865487 11.559813 -4.191400\nv -15.312442 -8.435188 10.891084\nv -56.346260 8.046040 -33.412514\nv -47.710503 9.044941 -21.496042\nv -41.096718 7.341463 -16.165649\nv -30.735201 7.667091 -13.178363\nv -22.789608 9.485648 -11.623262\nv -16.894325 12.015253 -9.759981\nv -5.335283 19.615028 2.849476\nv -56.611397 -3.591827 -32.485126\nv -50.163853 27.504608 -22.694008\nv -3.226783 -16.490803 16.527092\nv -16.998390 2.281179 -4.144701\nv -59.907581 18.190147 -67.788582\nv -12.623874 15.172495 -8.587569\nv -21.196543 -8.799633 -6.304061\nv -43.351585 22.224377 -21.879959\nv -15.441827 -4.233854 8.769805\nv -56.554459 -23.386772 -71.938911\nv -16.109531 21.658562 -15.191843\nv -10.396348 -1.159737 14.651482\nv -43.560661 -51.464420 -38.333099\nv -41.675323 -59.341324 -48.293068\nv -59.760590 -7.033219 -53.156292\nv -50.377552 -43.642754 -44.612595\nv -56.921444 30.146595 -42.233101\nv -21.522091 -74.374847 -20.106380\nv -2.616564 -17.607235 8.713786\nv -22.338272 -1.575811 -6.547659\nv -55.289814 18.358158 -34.627491\nv -33.830372 19.986847 -15.209258\nv -28.950985 19.580753 -13.777636\nv -26.290773 -38.418682 -16.368961\nv -56.389957 -15.956049 -35.047909\nv -11.200459 -83.409058 -21.175097\nv -26.954569 -73.994064 -33.328976\nv -33.665581 -67.766304 -40.120533\nv -24.286055 19.882946 -13.391455\nv -19.944052 20.702087 -14.109816\nv -17.310085 21.193329 -15.181563\nv -53.595871 28.873020 -28.484720\nv -20.921028 24.998272 -12.996388\nv -25.646255 26.143505 -11.976130\nv -30.365446 26.372856 -12.309917\nv -35.178154 25.561092 -13.895178\nv -38.317825 24.216946 -15.916949\nv -59.408649 32.684929 -57.656033\nv -37.192719 20.707165 -17.111137\nv -21.281239 -23.029049 -4.222301\nv -15.157898 -12.797924 4.947150\nv -9.188842 -22.659161 2.121181\nv -35.928844 -59.954929 -33.202618\nv -28.896282 -67.064819 -27.091606\nv -11.874543 -79.262939 -14.062256\nv -47.786060 -50.441795 -58.094799\nv -17.613239 23.081791 -14.293269\nv -9.215925 9.966502 4.058419\nv -19.845755 -79.539818 -26.082466\nv -58.342361 -20.394119 -52.992722\nv -13.618283 -41.233158 -8.430911\nv -14.613350 -42.656502 -7.491632\nv -15.431113 -44.992344 -6.601082\nv -16.032204 -48.334381 -7.517800\nv -17.313938 -54.006523 -11.566554\nv -24.116661 -33.394909 -13.839737\nv -25.944876 -32.653660 -13.991773\nv -27.536654 -31.655899 -13.865972\nv -31.810308 -28.984108 -14.376004\nv -50.554882 -18.329090 -23.314131\nv -8.967526 15.892131 -1.069099\nv -11.866599 26.406727 -10.687633\nv -15.234859 25.017143 -13.108602\nv -22.561583 -32.822556 -14.316895\nv -50.284225 -33.662445 -33.268169\nv -7.128628 27.253517 -2.826803\nv -19.365589 -60.383896 -14.342003\nv -5.181956 13.121339 8.383138\nv -13.589266 0.841265 3.660518\nv -10.197321 -65.154373 -10.120326\nv -32.139851 -45.136925 -21.645422\nv -25.793055 -13.417929 -8.384905\nv -26.202562 -53.596958 -18.505630\nv -38.863796 -12.802266 -11.220296\nv -31.457006 -19.114738 -10.842288\nv -43.704163 -22.207359 -17.165840\nv -11.592940 -72.987465 -10.968139\nv -17.278479 -2.092864 -0.720745\nv -35.489304 -51.596691 -26.788641\nv -28.295044 -59.876347 -22.602802\nv -37.320599 -36.349304 -21.458643\nv -54.925629 -26.692108 -37.785477\nv -43.276859 -39.328278 -26.739330\nv -55.539810 -32.776176 -51.381760\nv -36.444962 -25.407291 -14.843914\nv -12.961104 6.102340 -0.409334\nv -13.454464 -11.445515 12.137245\nv -17.564360 -12.059621 5.621463\nv -10.715003 -7.607129 16.467787\nv -16.314608 31.070625 -8.948398\nv -25.258001 34.013256 -7.938076\nv -33.061665 34.584133 -8.522104\nv -39.581573 33.594002 -11.170484\nv -44.058594 30.950245 -15.031268\nv -46.656044 20.958736 -24.395113\nv -60.129742 5.542511 -51.383507\nv -42.681316 13.975063 -20.151581\nv -37.034630 12.552341 -16.581438\nv -29.781696 12.260968 -14.082767\nv -22.818651 13.323147 -12.786913\nv -17.440197 15.195401 -12.294885\nv -13.844924 17.229855 -11.733282\nv -59.130005 4.626853 -72.719711\nv -17.561745 -13.164773 2.671800\nv -9.385215 4.565241 8.507298\nv -9.200927 -12.269557 16.633667\nv -6.023980 -15.282946 14.191987\nv -9.226430 -13.143612 13.793691\nv -16.131813 -14.792025 0.611744\nv -5.001357 -15.981090 15.724745\nv -4.461918 -17.033875 8.776276\nv -14.132870 21.455196 -14.228653\nv -11.076156 20.508572 -10.665399\nv -9.422017 19.810177 -6.498888\nv -40.188858 23.236755 -17.994774\nv -43.177692 25.564831 -18.317093\nvt 0.546087 0.168528\nvt 0.498263 0.164907\nvt 0.498168 0.128287\nvt 0.553316 0.133293\nvt 0.498184 0.193879\nvt 0.543931 0.196208\nvt 0.540329 0.228141\nvt 0.498096 0.226218\nvt 0.535023 0.257739\nvt 0.498062 0.255480\nvt 0.530307 0.290855\nvt 0.497808 0.287865\nvt 0.529673 0.305171\nvt 0.497756 0.302529\nvt 0.530338 0.318594\nvt 0.497680 0.316069\nvt 0.497626 0.327215\nvt 0.529652 0.328153\nvt 0.530148 0.386702\nvt 0.530697 0.399800\nvt 0.497768 0.395548\nvt 0.497633 0.384228\nvt 0.498252 0.425121\nvt 0.533423 0.425093\nvt 0.530369 0.441469\nvt 0.498398 0.440617\nvt 0.505792 0.455007\nvt 0.498616 0.455525\nvt 0.504333 0.475436\nvt 0.498807 0.475445\nvt 0.507276 0.483601\nvt 0.498834 0.483394\nvt 0.508467 0.495095\nvt 0.498778 0.495031\nvt 0.499093 0.510909\nvt 0.510440 0.510869\nvt 0.514257 0.532179\nvt 0.499103 0.531894\nvt 0.499032 0.557867\nvt 0.518707 0.555534\nvt 0.526518 0.588384\nvt 0.499123 0.591527\nvt 0.545399 0.630252\nvt 0.499290 0.635640\nvt 0.560350 0.680967\nvt 0.499421 0.673102\nvt 0.565865 0.723628\nvt 0.499629 0.715845\nvt 0.576943 0.797884\nvt 0.499715 0.796787\nvt 0.592899 0.870759\nvt 0.500116 0.875700\nvt 0.407680 0.869818\nvt 0.423023 0.796796\nvt 0.433757 0.721907\nvt 0.438873 0.679387\nvt 0.453350 0.629551\nvt 0.471960 0.588240\nvt 0.479525 0.555009\nvt 0.483830 0.531985\nvt 0.487639 0.510731\nvt 0.489331 0.494704\nvt 0.490426 0.483461\nvt 0.493316 0.475342\nvt 0.491395 0.455076\nvt 0.467016 0.441744\nvt 0.463382 0.425361\nvt 0.465330 0.400044\nvt 0.465660 0.387008\nvt 0.465013 0.318854\nvt 0.465664 0.328564\nvt 0.465835 0.305345\nvt 0.465510 0.290960\nvt 0.461360 0.257998\nvt 0.456420 0.228306\nvt 0.453025 0.196271\nvt 0.451024 0.168653\nvt 0.443401 0.133284\nvt 0.675079 0.852096\nvt 0.646003 0.792826\nvt 0.760225 0.814904\nvt 0.717401 0.773979\nvt 0.830747 0.762860\nvt 0.772036 0.738348\nvt 0.887010 0.698852\nvt 0.822261 0.688868\nvt 0.941279 0.630144\nvt 0.863002 0.630429\nvt 0.978435 0.548917\nvt 0.886985 0.565455\nvt 0.888184 0.503683\nvt 0.988333 0.476334\nvt 0.883788 0.443324\nvt 0.977270 0.408328\nvt 0.866882 0.382640\nvt 0.948001 0.341249\nvt 0.901032 0.276056\nvt 0.841509 0.328845\nvt 0.836943 0.231680\nvt 0.792454 0.288035\nvt 0.771086 0.203489\nvt 0.744606 0.258325\nvt 0.696957 0.223505\nvt 0.708345 0.174128\nvt 0.647980 0.198625\nvt 0.656479 0.155030\nvt 0.596399 0.178227\nvt 0.602649 0.142874\nvt 0.325446 0.850452\nvt 0.354382 0.790500\nvt 0.239773 0.812694\nvt 0.283123 0.771008\nvt 0.168659 0.760491\nvt 0.228054 0.735392\nvt 0.373507 0.727579\nvt 0.376186 0.702008\nvt 0.317479 0.725787\nvt 0.328122 0.702815\nvt 0.111383 0.696393\nvt 0.177175 0.685603\nvt 0.056428 0.627843\nvt 0.135586 0.627728\nvt 0.018834 0.546744\nvt 0.111279 0.563145\nvt 0.008510 0.474549\nvt 0.109831 0.501427\nvt 0.019771 0.406585\nvt 0.114204 0.441384\nvt 0.048391 0.339677\nvt 0.130954 0.380903\nvt 0.094921 0.274782\nvt 0.155834 0.327033\nvt 0.159381 0.230220\nvt 0.205225 0.286878\nvt 0.225532 0.202359\nvt 0.253052 0.257398\nvt 0.288474 0.173291\nvt 0.300440 0.222976\nvt 0.340377 0.154562\nvt 0.349193 0.198607\nvt 0.394125 0.142805\nvt 0.400838 0.178190\nvt 0.404750 0.210366\nvt 0.359140 0.235998\nvt 0.317321 0.269141\nvt 0.285656 0.326700\nvt 0.239626 0.345585\nvt 0.206198 0.371396\nvt 0.204261 0.420429\nvt 0.204010 0.475882\nvt 0.193013 0.527420\nvt 0.183036 0.576215\nvt 0.204980 0.632477\nvt 0.233430 0.678008\nvt 0.271577 0.707991\nvt 0.290445 0.691467\nvt 0.259833 0.669042\nvt 0.237591 0.631470\nvt 0.217571 0.586887\nvt 0.230428 0.552154\nvt 0.411913 0.242902\nvt 0.373770 0.267210\nvt 0.341127 0.302120\nvt 0.320128 0.342814\nvt 0.259495 0.539761\nvt 0.287084 0.482487\nvt 0.297585 0.536236\nvt 0.343279 0.516102\nvt 0.343754 0.544724\nvt 0.381567 0.535208\nvt 0.376400 0.556680\nvt 0.407056 0.549364\nvt 0.400157 0.568392\nvt 0.425924 0.562888\nvt 0.415825 0.581352\nvt 0.447125 0.577088\nvt 0.431255 0.597840\nvt 0.258568 0.574476\nvt 0.248092 0.596583\nvt 0.278466 0.566233\nvt 0.309883 0.563056\nvt 0.344199 0.565430\nvt 0.373608 0.572780\nvt 0.347504 0.583353\nvt 0.370625 0.586365\nvt 0.366141 0.599611\nvt 0.345946 0.597903\nvt 0.322773 0.583337\nvt 0.298014 0.585156\nvt 0.280737 0.591914\nvt 0.260510 0.626962\nvt 0.279801 0.652748\nvt 0.304743 0.666334\nvt 0.335625 0.670553\nvt 0.369088 0.663914\nvt 0.403623 0.644487\nvt 0.414329 0.621493\nvt 0.415433 0.601659\nvt 0.405827 0.590922\nvt 0.393697 0.582390\nvt 0.322654 0.598596\nvt 0.304235 0.600661\nvt 0.387845 0.593092\nvt 0.396867 0.599054\nvt 0.401345 0.605502\nvt 0.400072 0.617256\nvt 0.385111 0.633837\nvt 0.365746 0.646393\nvt 0.340429 0.651332\nvt 0.314030 0.647709\nvt 0.294410 0.637543\nvt 0.276117 0.624321\nvt 0.267400 0.603810\nvt 0.290315 0.602772\nvt 0.276895 0.605727\nvt 0.289186 0.612442\nvt 0.301513 0.618795\nvt 0.318539 0.625793\nvt 0.341426 0.629243\nvt 0.361825 0.626776\nvt 0.380348 0.619499\nvt 0.391585 0.610826\nvt 0.395416 0.605514\nvt 0.392307 0.604430\nvt 0.383347 0.602973\nvt 0.626827 0.730532\nvt 0.683138 0.729420\nvt 0.729120 0.712026\nvt 0.766788 0.681663\nvt 0.794629 0.635546\nvt 0.816456 0.578760\nvt 0.806064 0.529551\nvt 0.795180 0.477666\nvt 0.794823 0.422091\nvt 0.792653 0.373371\nvt 0.759465 0.346755\nvt 0.712933 0.327262\nvt 0.680258 0.269474\nvt 0.638095 0.235844\nvt 0.592477 0.210382\nvt 0.551502 0.577529\nvt 0.567532 0.598613\nvt 0.584757 0.622870\nvt 0.595663 0.646385\nvt 0.583478 0.602695\nvt 0.623910 0.704882\nvt 0.672369 0.706540\nvt 0.710338 0.695172\nvt 0.740638 0.672935\nvt 0.762427 0.634738\nvt 0.782298 0.589612\nvt 0.769413 0.554361\nvt 0.630731 0.666483\nvt 0.664526 0.673604\nvt 0.695411 0.669706\nvt 0.720532 0.656316\nvt 0.739762 0.630366\nvt 0.751893 0.599827\nvt 0.741713 0.576936\nvt 0.740587 0.541772\nvt 0.721548 0.568565\nvt 0.702266 0.537784\nvt 0.690114 0.564909\nvt 0.655782 0.545856\nvt 0.655708 0.567104\nvt 0.622888 0.557614\nvt 0.626096 0.574165\nvt 0.598950 0.569174\nvt 0.605795 0.583554\nvt 0.582947 0.582110\nvt 0.593407 0.591942\nvt 0.572717 0.563235\nvt 0.591878 0.549787\nvt 0.617631 0.535795\nvt 0.656242 0.517099\nvt 0.597939 0.606991\nvt 0.599268 0.618954\nvt 0.602667 0.600425\nvt 0.612037 0.594685\nvt 0.629520 0.588425\nvt 0.652712 0.585741\nvt 0.677472 0.585601\nvt 0.702283 0.587885\nvt 0.719650 0.595009\nvt 0.732735 0.607327\nvt 0.724141 0.627779\nvt 0.705794 0.641100\nvt 0.686063 0.650882\nvt 0.659630 0.654333\nvt 0.634171 0.648883\nvt 0.614665 0.635966\nvt 0.604143 0.607097\nvt 0.608124 0.612524\nvt 0.607335 0.606133\nvt 0.616611 0.604955\nvt 0.633933 0.601988\nvt 0.654273 0.600545\nvt 0.677765 0.601449\nvt 0.696182 0.603565\nvt 0.710088 0.606036\nvt 0.723305 0.609122\nvt 0.711128 0.615825\nvt 0.698890 0.622135\nvt 0.681925 0.628799\nvt 0.659011 0.631835\nvt 0.638631 0.629091\nvt 0.619774 0.621416\nvt 0.541776 0.550039\nvt 0.564574 0.539998\nvt 0.585679 0.526437\nvt 0.607250 0.507606\nvt 0.635452 0.485422\nvt 0.456684 0.549709\nvt 0.433887 0.539747\nvt 0.412904 0.526252\nvt 0.391664 0.507390\nvt 0.363598 0.484925\nvt 0.260829 0.421329\nvt 0.301082 0.410450\nvt 0.325922 0.453221\nvt 0.333854 0.398342\nvt 0.357750 0.428609\nvt 0.380936 0.455487\nvt 0.399589 0.477284\nvt 0.422724 0.507740\nvt 0.442560 0.518574\nvt 0.463878 0.528208\nvt 0.534215 0.528479\nvt 0.555864 0.518741\nvt 0.575788 0.507766\nvt 0.598751 0.476913\nvt 0.617628 0.455328\nvt 0.712848 0.483873\nvt 0.738949 0.422659\nvt 0.698436 0.411254\nvt 0.673658 0.454145\nvt 0.640627 0.428566\nvt 0.664438 0.398300\nvt 0.677640 0.342844\nvt 0.656173 0.302220\nvt 0.623605 0.267024\nvt 0.585238 0.242723\nvt 0.587116 0.418150\nvt 0.566956 0.394556\nvt 0.595796 0.384579\nvt 0.615594 0.403264\nvt 0.643007 0.382556\nvt 0.658038 0.353469\nvt 0.636922 0.319746\nvt 0.608904 0.292890\nvt 0.574607 0.271581\nvt 0.563553 0.299165\nvt 0.594068 0.314602\nvt 0.621094 0.332727\nvt 0.639331 0.352644\nvt 0.622679 0.371438\nvt 0.561913 0.383072\nvt 0.589797 0.377274\nvt 0.616716 0.366539\nvt 0.633445 0.352878\nvt 0.614171 0.336189\nvt 0.588962 0.323133\nvt 0.561179 0.312735\nvt 0.421863 0.271901\nvt 0.387526 0.293085\nvt 0.359579 0.320071\nvt 0.338562 0.354122\nvt 0.354039 0.383117\nvt 0.381617 0.403754\nvt 0.410343 0.418843\nvt 0.429607 0.394966\nvt 0.400603 0.385323\nvt 0.373403 0.372382\nvt 0.356655 0.353634\nvt 0.374782 0.333239\nvt 0.401922 0.315005\nvt 0.432275 0.299240\nvt 0.434370 0.383683\nvt 0.406401 0.377819\nvt 0.379288 0.367513\nvt 0.362588 0.353802\nvt 0.381628 0.336769\nvt 0.406957 0.323503\nvt 0.434532 0.313196\nvt 0.434774 0.323971\nvt 0.529913 0.375128\nvt 0.497680 0.374389\nvt 0.558656 0.374341\nvt 0.529908 0.364516\nvt 0.558776 0.364158\nvt 0.497684 0.364532\nvt 0.465900 0.375599\nvt 0.465974 0.365006\nvt 0.437562 0.374762\nvt 0.437534 0.364743\nvt 0.369451 0.353316\nvt 0.385979 0.363940\nvt 0.410445 0.368790\nvt 0.412332 0.362938\nvt 0.390318 0.359146\nvt 0.374080 0.352708\nvt 0.387000 0.339697\nvt 0.392092 0.343148\nvt 0.408807 0.331174\nvt 0.410176 0.336901\nvt 0.436164 0.332025\nvt 0.560697 0.323601\nvt 0.586941 0.330631\nvt 0.559220 0.331533\nvt 0.585683 0.336451\nvt 0.608809 0.339120\nvt 0.603877 0.342475\nvt 0.626726 0.352368\nvt 0.622217 0.351840\nvt 0.610229 0.362946\nvt 0.605878 0.358401\nvt 0.585706 0.368118\nvt 0.583979 0.362368\nvt 0.473063 0.507172\nvt 0.476296 0.492164\nvt 0.480611 0.482833\nvt 0.489265 0.474957\nvt 0.485745 0.457207\nvt 0.463813 0.446801\nvt 0.422222 0.451193\nvt 0.438425 0.455897\nvt 0.453305 0.498702\nvt 0.434399 0.489695\nvt 0.423171 0.480597\nvt 0.432574 0.471631\nvt 0.439934 0.466983\nvt 0.440781 0.480412\nvt 0.459374 0.487641\nvt 0.446372 0.474369\nvt 0.466258 0.480852\nvt 0.460122 0.451958\nvt 0.481205 0.459967\nvt 0.447622 0.456140\nvt 0.446138 0.462146\nvt 0.450344 0.468030\nvt 0.468407 0.474935\nvt 0.477575 0.477092\nvt 0.485519 0.473230\nvt 0.525102 0.507282\nvt 0.521724 0.492516\nvt 0.517304 0.483105\nvt 0.508504 0.475062\nvt 0.511790 0.457148\nvt 0.533774 0.446606\nvt 0.575892 0.450669\nvt 0.575167 0.480582\nvt 0.565709 0.471563\nvt 0.563926 0.489733\nvt 0.544989 0.498891\nvt 0.538832 0.487879\nvt 0.557423 0.480480\nvt 0.559633 0.455604\nvt 0.558198 0.466921\nvt 0.551860 0.474490\nvt 0.531909 0.481137\nvt 0.512344 0.473331\nvt 0.520434 0.477399\nvt 0.516472 0.460005\nvt 0.537633 0.451780\nvt 0.550306 0.455966\nvt 0.551754 0.462142\nvt 0.547644 0.468060\nvt 0.529593 0.475315\nvn 0.1592 -0.8484 0.5049\nvn 0.1504 -0.4451 0.8827\nvn 0.1320 -0.0787 0.9881\nvn 0.1062 -0.1369 0.9849\nvn 0.1121 -0.5852 0.8031\nvn 0.1054 -0.1617 0.9812\nvn 0.0467 0.4298 0.9017\nvn 0.0650 0.4101 0.9097\nvn 0.0966 -0.3145 0.9443\nvn 0.0612 0.0046 0.9981\nvn 0.1271 -0.3372 0.9328\nvn 0.1258 -0.9510 0.2825\nvn 0.1376 -0.9809 0.1372\nvn 0.1265 -0.6940 0.7088\nvn 0.1114 -0.3146 0.9427\nvn 0.2206 0.2947 0.9298\nvn 0.3574 0.5875 0.7260\nvn 0.3711 0.5647 0.7372\nvn 0.4116 0.5396 0.7345\nvn 0.4805 0.4221 0.7687\nvn 0.2711 -0.2544 0.9283\nvn 0.1029 -0.2459 0.9638\nvn 0.0510 0.1351 0.9895\nvn 0.0783 0.1741 0.9816\nvn -0.1076 0.1750 0.9787\nvn -0.0790 0.1357 0.9876\nvn -0.1192 -0.2448 0.9622\nvn -0.2889 -0.2554 0.9227\nvn -0.5062 0.4266 0.7495\nvn -0.4382 0.5400 0.7186\nvn -0.3989 0.5640 0.7230\nvn -0.3814 0.5902 0.7114\nvn -0.2461 0.2990 0.9220\nvn -0.1292 -0.3152 0.9402\nvn -0.1370 -0.6946 0.7062\nvn -0.1343 -0.9819 0.1335\nvn -0.1375 -0.9499 0.2805\nvn -0.1509 -0.3374 0.9292\nvn -0.0872 0.0049 0.9962\nvn -0.1214 -0.3078 0.9437\nvn -0.0934 0.4192 0.9031\nvn -0.0729 0.4292 0.9003\nvn -0.1348 -0.1620 0.9775\nvn -0.1342 -0.5849 0.7999\nvn -0.1343 -0.1447 0.9803\nvn -0.1639 -0.0780 0.9834\nvn -0.1772 -0.4421 0.8793\nvn -0.1778 -0.8497 0.4964\nvn 0.3544 0.1815 0.9173\nvn 0.6057 0.2409 0.7584\nvn 0.8361 0.2217 0.5018\nvn 0.9411 0.1043 0.3215\nvn 0.9758 0.0010 0.2187\nvn 0.9921 0.0453 0.1166\nvn 1.0000 -0.0022 0.0092\nvn 0.9983 -0.0455 -0.0358\nvn 0.9911 -0.1247 -0.0456\nvn 0.9690 -0.2440 -0.0399\nvn 0.9133 -0.4057 0.0359\nvn 0.8420 -0.5074 0.1829\nvn 0.7936 -0.5195 0.3166\nvn 0.7869 -0.5094 0.3482\nvn 0.7683 -0.5463 0.3335\nvn 0.5616 -0.7118 0.4219\nvn -0.3849 0.1857 0.9041\nvn -0.6354 0.2407 0.7337\nvn -0.8523 0.2182 0.4754\nvn -0.2659 0.1914 0.9448\nvn -0.2287 -0.3177 0.9202\nvn -0.4009 -0.1712 0.9000\nvn -0.5090 0.2521 0.8230\nvn -0.9492 0.1060 0.2963\nvn -0.9811 0.0104 0.1935\nvn -0.9944 0.0522 0.0918\nvn -0.9999 0.0026 -0.0115\nvn -0.9978 -0.0379 -0.0548\nvn -0.9907 -0.1194 -0.0651\nvn -0.9690 -0.2395 -0.0615\nvn -0.9140 -0.4056 0.0117\nvn -0.8482 -0.5065 0.1551\nvn -0.8051 -0.5200 0.2854\nvn -0.7971 -0.5124 0.3194\nvn -0.7822 -0.5428 0.3058\nvn -0.5796 -0.7096 0.4007\nvn -0.6140 -0.3296 0.7172\nvn -0.7816 -0.2681 0.5632\nvn -0.7631 -0.3361 0.5521\nvn -0.7436 -0.4263 0.5150\nvn -0.8025 -0.4229 0.4209\nvn -0.9067 -0.3425 0.2463\nvn -0.9723 -0.1863 0.1413\nvn -0.9863 -0.0765 0.1459\nvn -0.9840 -0.0104 0.1781\nvn -0.9708 0.0645 0.2311\nvn -0.9661 0.0317 0.2564\nvn -0.9707 0.0182 0.2395\nvn -0.9187 0.1774 0.3528\nvn -0.7389 0.2691 0.6177\nvn -0.5780 0.0057 0.8160\nvn -0.7965 -0.0153 0.6044\nvn -0.8731 -0.1965 0.4461\nvn -0.8200 -0.2264 0.5257\nvn -0.8260 0.1482 0.5438\nvn -0.4995 -0.0770 0.8629\nvn -0.6761 -0.1480 0.7218\nvn -0.6752 -0.2218 0.7035\nvn -0.5310 -0.3357 0.7780\nvn -0.8106 0.0661 0.5819\nvn -0.7636 0.1441 0.6294\nvn -0.3830 0.2560 0.8875\nvn -0.3056 0.4648 0.8310\nvn -0.4798 0.5123 0.7123\nvn -0.6602 0.5402 0.5218\nvn -0.8221 0.4431 0.3574\nvn -0.8950 0.2061 0.3956\nvn -0.6591 0.1513 0.7367\nvn -0.6129 0.3357 0.7153\nvn -0.4853 0.3622 0.7958\nvn -0.2868 0.2704 0.9190\nvn -0.2290 0.2555 0.9393\nvn -0.0975 0.1572 0.9827\nvn -0.1300 -0.1049 0.9859\nvn -0.3167 -0.1383 0.9384\nvn -0.5147 -0.0402 0.8564\nvn -0.6467 0.0790 0.7586\nvn -0.5488 -0.4732 0.6891\nvn -0.5653 -0.4839 0.6680\nvn -0.4772 -0.4152 0.7745\nvn -0.3369 -0.4497 0.8272\nvn -0.2117 -0.5799 0.7867\nvn -0.2480 -0.7125 0.6564\nvn -0.6063 -0.5706 0.5540\nvn -0.8825 -0.0290 0.4694\nvn -0.7865 0.4085 0.4632\nvn -0.5084 0.5485 0.6638\nvn -0.3389 0.4168 0.8435\nvn -0.2775 0.1254 0.9525\nvn -0.4564 0.1374 0.8791\nvn -0.0450 0.1285 0.9907\nvn -0.2040 0.3841 0.9005\nvn -0.5524 0.3957 0.7337\nvn -0.6576 -0.2153 0.7220\nvn -0.2760 -0.5773 0.7685\nvn -0.0622 -0.6385 0.7671\nvn -0.0686 -0.4802 0.8745\nvn -0.2586 -0.4654 0.8465\nvn -0.3774 -0.4503 0.8092\nvn -0.5139 -0.5065 0.6924\nvn -0.4224 -0.5896 0.6885\nvn -0.6527 0.0999 0.7510\nvn -0.5491 0.1739 0.8174\nvn -0.5956 0.2219 0.7720\nvn -0.4719 -0.6799 0.5613\nvn -0.4898 -0.5197 0.7000\nvn -0.3333 -0.4484 0.8293\nvn -0.2331 -0.4421 0.8661\nvn -0.0503 -0.4123 0.9096\nvn 0.1536 -0.3520 0.9233\nvn 0.0195 -0.3819 0.9240\nvn -0.2344 -0.4676 0.8523\nvn -0.2851 0.5128 0.8098\nvn 0.0794 0.5107 0.8561\nvn 0.0581 0.2758 0.9594\nvn 0.2363 0.1915 0.9526\nvn 0.4753 0.2546 0.8422\nvn 0.7151 0.2709 0.6444\nvn 0.9087 0.1738 0.3796\nvn 0.9643 0.0086 0.2647\nvn 0.9590 0.0240 0.2822\nvn 0.9645 0.0638 0.2565\nvn 0.9790 -0.0198 0.2027\nvn 0.9821 -0.0835 0.1687\nvn 0.9677 -0.1931 0.1623\nvn 0.8963 -0.3510 0.2709\nvn 0.7862 -0.4264 0.4473\nvn 0.7216 -0.4287 0.5436\nvn 0.7413 -0.3311 0.5838\nvn 0.7614 -0.2592 0.5943\nvn 0.5886 -0.3297 0.7381\nvn 0.8792 0.2013 0.4319\nvn 0.5957 -0.5648 0.5711\nvn 0.8611 -0.0306 0.5075\nvn 0.2118 -0.3203 0.9233\nvn 0.3723 -0.1754 0.9114\nvn 0.5474 -0.0003 0.8369\nvn 0.7738 -0.0185 0.6332\nvn 0.8584 -0.2003 0.4723\nvn 0.8034 -0.2336 0.5477\nvn 0.8104 0.1478 0.5670\nvn 0.1963 -0.5732 0.7955\nvn 0.2455 -0.7046 0.6658\nvn 0.3133 -0.4442 0.8394\nvn 0.4484 -0.4119 0.7933\nvn 0.5208 -0.4754 0.7091\nvn 0.6405 0.1419 0.7547\nvn 0.5986 0.3210 0.7339\nvn 0.4627 0.3406 0.8185\nvn 0.2585 0.2560 0.9315\nvn 0.1993 0.2407 0.9499\nvn 0.3052 0.4048 0.8619\nvn 0.4758 0.5371 0.6965\nvn 0.7622 0.3936 0.5139\nvn 0.8071 0.4408 0.3928\nvn 0.6382 0.5344 0.5542\nvn 0.4546 0.4968 0.7392\nvn 0.2794 0.4480 0.8492\nvn 0.6294 -0.2057 0.7493\nvn 0.5150 0.3808 0.7680\nvn 0.1601 0.3594 0.9193\nvn 0.1004 -0.1134 0.9885\nvn 0.2893 -0.1476 0.9458\nvn 0.4858 -0.0519 0.8725\nvn 0.6290 0.0802 0.7733\nvn 0.6297 0.0931 0.7713\nvn 0.3881 -0.5902 0.7078\nvn 0.4913 -0.5079 0.7075\nvn 0.3569 -0.4416 0.8232\nvn 0.2420 -0.4486 0.8603\nvn 0.0464 -0.4607 0.8864\nvn 0.0546 -0.6233 0.7801\nvn 0.2544 -0.5714 0.7803\nvn 0.2125 -0.4659 0.8589\nvn 0.2478 0.5151 0.8205\nvn 0.0064 0.1076 0.9942\nvn -0.1243 0.5003 0.8569\nvn -0.0834 0.2680 0.9598\nvn 0.0599 0.1541 0.9862\nvn 0.2573 0.1181 0.9591\nvn 0.4288 0.1407 0.8924\nvn 0.5239 0.1799 0.8326\nvn 0.5676 0.2257 0.7917\nvn 0.4596 -0.6779 0.5738\nvn 0.4756 -0.5185 0.7106\nvn 0.3152 -0.4459 0.8378\nvn 0.2175 -0.4382 0.8722\nvn 0.0250 -0.4084 0.9124\nvn -0.1647 -0.3581 0.9191\nvn -0.0337 -0.3830 0.9231\nvn 0.7979 0.3795 0.4683\nvn 0.8060 0.3592 0.4705\nvn 0.7225 0.3202 0.6128\nvn 0.4787 0.2742 0.8340\nvn 0.2832 0.2287 0.9314\nvn -0.8137 0.3822 0.4379\nvn -0.8232 0.3651 0.4347\nvn -0.7424 0.3336 0.5810\nvn -0.5032 0.2868 0.8152\nvn -0.3108 0.2384 0.9201\nvn -0.8628 -0.0411 0.5038\nvn -0.8728 -0.2594 0.4135\nvn -0.7521 -0.3516 0.5575\nvn -0.6837 -0.1264 0.7187\nvn -0.4215 0.1605 0.8925\nvn -0.4533 -0.4399 0.7752\nvn -0.3691 -0.3215 0.8720\nvn -0.2165 -0.1682 0.9617\nvn -0.2388 -0.0805 0.9677\nvn -0.7395 0.1524 0.6557\nvn -0.8064 0.4086 0.4276\nvn -0.8332 0.3819 0.4000\nvn -0.7762 0.3885 0.4966\nvn 0.7580 0.3877 0.5245\nvn 0.8209 0.3790 0.4273\nvn 0.7957 0.4001 0.4546\nvn 0.7195 0.1343 0.6813\nvn 0.2120 -0.0869 0.9734\nvn 0.3518 0.2421 0.9042\nvn 0.7895 0.0569 0.6112\nvn 0.7434 0.1351 0.6551\nvn 0.8453 -0.0505 0.5319\nvn 0.8557 -0.2693 0.4420\nvn 0.7267 -0.3588 0.5858\nvn 0.6521 -0.1423 0.7447\nvn 0.3916 0.1465 0.9084\nvn 0.1947 -0.1725 0.9656\nvn 0.3465 -0.3258 0.8796\nvn 0.4259 -0.4387 0.7913\nvn 0.4993 -0.3336 0.7996\nvn 0.6488 -0.2216 0.7280\nvn 0.6545 -0.1447 0.7421\nvn 0.4749 -0.0731 0.8770\nvn 0.4211 0.0265 0.9066\nvn 0.6181 -0.1828 0.7645\nvn 0.2932 -0.5246 0.7993\nvn 0.3951 -0.2292 0.8896\nvn 0.5854 -0.1167 0.8023\nvn 0.5851 -0.1399 0.7988\nvn 0.4202 -0.1610 0.8930\nvn 0.4992 -0.4452 0.7434\nvn 0.6624 -0.2967 0.6879\nvn 0.7053 -0.1130 0.6998\nvn 0.3068 0.0675 0.9494\nvn 0.2298 -0.7798 0.5823\nvn 0.5871 -0.4868 0.6469\nvn 0.4935 -0.2832 0.8224\nvn 0.5170 0.0037 0.8560\nvn 0.3726 -0.4019 0.8364\nvn 0.5059 -0.6246 0.5949\nvn 0.4777 -0.7688 0.4250\nvn 0.3670 -0.8512 0.3752\nvn 0.5569 0.1365 0.8193\nvn 0.7136 0.0843 0.6954\nvn 0.5878 -0.1255 0.7992\nvn 0.4601 -0.1192 0.8798\nvn -0.4488 -0.1728 0.8768\nvn -0.6128 -0.1477 0.7763\nvn -0.6169 -0.1258 0.7769\nvn -0.4294 -0.2348 0.8720\nvn -0.3123 -0.5267 0.7906\nvn -0.5179 -0.2719 0.8111\nvn -0.5405 0.0176 0.8412\nvn -0.4487 0.0371 0.8929\nvn -0.6420 -0.1600 0.7499\nvn -0.6105 -0.4733 0.6351\nvn -0.2354 -0.7843 0.5740\nvn -0.3440 0.0592 0.9371\nvn -0.7349 -0.1318 0.6653\nvn -0.6877 -0.3110 0.6560\nvn -0.5216 -0.4525 0.7233\nvn -0.4030 -0.3938 0.8261\nvn -0.5266 -0.6219 0.5795\nvn -0.4996 -0.7600 0.4158\nvn -0.3883 -0.8450 0.3676\nvn -0.5752 0.1442 0.8052\nvn -0.7357 0.0811 0.6725\nvn -0.6082 -0.1295 0.7832\nvn -0.4838 -0.1226 0.8665\nvn -0.2372 0.4384 0.8669\nvn 0.1167 -0.6891 0.7152\nvn 0.3229 -0.7033 0.6333\nvn 0.0936 -0.9953 -0.0239\nvn 0.0704 -0.9945 0.0775\nvn -0.1365 -0.6947 0.7062\nvn -0.0785 -0.9947 0.0666\nvn -0.0939 -0.9949 -0.0368\nvn -0.3481 -0.7098 0.6124\nvn -0.3329 -0.8976 0.2891\nvn 0.0664 -0.9811 -0.1815\nvn -0.4464 -0.7932 0.4142\nvn -0.4080 -0.8533 0.3246\nvn 0.1318 -0.9886 0.0734\nvn 0.2353 -0.9207 -0.3114\nvn -0.2768 0.4431 0.8527\nvn 0.2193 0.7035 0.6760\nvn 0.0902 0.8994 0.4277\nvn -0.1194 0.7225 0.6810\nvn -0.2025 0.5426 0.8152\nvn -0.2524 0.4950 0.8314\nvn -0.3030 0.6495 0.6974\nvn 0.2180 0.4352 0.8736\nvn 0.2457 0.4838 0.8400\nvn 0.1883 0.5330 0.8249\nvn 0.1049 0.7308 0.6745\nvn -0.1011 0.9022 0.4192\nvn 0.2961 0.6437 0.7057\nvn -0.2231 0.7070 0.6711\nvn 0.2605 0.4387 0.8600\nvn 0.3329 -0.8909 0.3088\nvn -0.1487 -0.9867 0.0654\nvn -0.2463 -0.9137 -0.3233\nvn -0.0701 -0.9810 -0.1809\nvn 0.4332 -0.7917 0.4307\nvn 0.4005 -0.8504 0.3412\nvn -0.6831 0.5452 0.4860\nvn -0.6703 0.2731 0.6901\nvn -0.6394 -0.2469 0.7281\nvn -0.4956 -0.7139 0.4948\nvn -0.3062 -0.9450 0.1150\nvn -0.4558 -0.7358 0.5009\nvn -0.4922 -0.0087 0.8704\nvn -0.5600 0.1232 0.8193\nvn -0.4962 -0.7198 0.4855\nvn -0.7748 0.5430 0.3239\nvn -0.7571 0.5904 0.2797\nvn -0.8906 0.4515 0.0542\nvn -0.9254 -0.3783 0.0227\nvn -0.5223 -0.7818 0.3407\nvn -0.9674 -0.0220 0.2524\nvn -0.8327 0.2228 0.5069\nvn -0.7818 0.2284 0.5802\nvn -0.7043 -0.6091 0.3647\nvn -0.7700 -0.3222 0.5507\nvn -0.7353 -0.2042 0.6462\nvn -0.6442 -0.5555 0.5257\nvn -0.4021 -0.0337 0.9150\nvn -0.0798 -0.8075 0.5844\nvn -0.1470 -0.9403 0.3069\nvn -0.2999 -0.9221 0.2445\nvn -0.4402 -0.8666 0.2351\nvn -0.6030 -0.7782 0.1758\nvn -0.6342 -0.7704 0.0662\nvn 0.6630 0.5433 0.5149\nvn 0.6453 0.2654 0.7164\nvn 0.6146 -0.2527 0.7473\nvn 0.4815 -0.7137 0.5087\nvn 0.3027 -0.9450 0.1239\nvn 0.4372 -0.7396 0.5117\nvn 0.4648 -0.0163 0.8853\nvn 0.5321 0.1129 0.8391\nvn 0.9194 -0.3909 0.0439\nvn 0.8952 0.4395 0.0741\nvn 0.7659 0.5390 0.3505\nvn 0.7542 0.5836 0.3011\nvn 0.7636 0.2149 0.6089\nvn 0.8210 0.2045 0.5330\nvn 0.9589 -0.0391 0.2810\nvn 0.4722 -0.7278 0.4974\nvn 0.5036 -0.7861 0.3584\nvn 0.6778 -0.6227 0.3909\nvn 0.7505 -0.3348 0.5697\nvn 0.7110 -0.2067 0.6721\nvn 0.5938 -0.7810 0.1932\nvn 0.6342 -0.7692 0.0779\nvn 0.6263 -0.5602 0.5421\nvn 0.3685 -0.0223 0.9294\nvn 0.0480 -0.7986 0.6000\nvn 0.1241 -0.9399 0.3179\nvn 0.2798 -0.9272 0.2490\nvn 0.4239 -0.8721 0.2446\nvn 0.5364 -0.4849 0.6908\nvn -0.7302 -0.4589 0.5062\nvn -0.5746 -0.4394 0.6904\nvn -0.4590 -0.3504 0.8164\nvn -0.2759 -0.2692 0.9227\nvn -0.0727 -0.2298 0.9705\nvn 0.1782 -0.1917 0.9651\nvn 0.3111 -0.2337 0.9212\nvn 0.1622 -0.3986 0.9027\nvn -0.1807 -0.4112 0.8935\nvn -0.3287 -0.2241 0.9175\nvn -0.1940 -0.1855 0.9633\nvn 0.0374 -0.2249 0.9737\nvn 0.2605 -0.2674 0.9277\nvn 0.4395 -0.3497 0.8274\nvn 0.5655 -0.4365 0.6998\nvn 0.7197 -0.4582 0.5216\nusemtl None\ns off\nf 172/1/1 176/2/1 153/3/1 149/4/1\nf 200/5/2 176/2/2 172/1/2 209/6/2\nf 200/5/3 209/6/3 202/7/3 201/8/3\nf 201/8/4 202/7/4 84/9/4 19/10/4\nf 19/10/5 84/9/5 85/11/5 18/12/5\nf 18/12/6 85/11/6 86/13/6 17/14/6\nf 17/14/7 86/13/7 87/15/7 16/16/7\nf 15/17/8 16/16/8 87/15/8 88/18/8\nf 73/19/9 38/20/9 1/21/9 12/22/9\nf 165/23/10 1/21/10 38/20/10 168/24/10\nf 165/23/11 168/24/11 98/25/11 3/26/11\nf 3/26/12 98/25/12 142/27/12 95/28/12\nf 126/29/13 20/30/13 95/28/13 142/27/13\nf 45/31/14 2/32/14 20/30/14 126/29/14\nf 46/33/15 5/34/15 2/32/15 45/31/15\nf 6/35/16 5/34/16 46/33/16 52/36/16\nf 6/35/17 52/36/17 4/37/17 196/38/17\nf 198/39/18 196/38/18 4/37/18 197/40/18\nf 123/41/19 7/42/19 198/39/19 197/40/19\nf 194/43/20 169/44/20 7/42/20 123/41/20\nf 194/43/21 56/45/21 9/46/21 169/44/21\nf 108/47/22 10/48/22 9/46/22 56/45/22\nf 109/49/23 152/50/23 10/48/23 108/47/23\nf 110/51/24 11/52/24 152/50/24 109/49/24\nf 11/52/25 339/53/25 338/54/25 152/50/25\nf 338/54/26 337/55/26 10/48/26 152/50/26\nf 337/55/27 286/56/27 9/46/27 10/48/27\nf 418/57/28 169/44/28 9/46/28 286/56/28\nf 418/57/29 352/58/29 7/42/29 169/44/29\nf 352/58/30 420/59/30 198/39/30 7/42/30\nf 249/60/31 196/38/31 198/39/31 420/59/31\nf 249/60/32 282/61/32 6/35/32 196/38/32\nf 276/62/33 5/34/33 6/35/33 282/61/33\nf 276/62/34 275/63/34 2/32/34 5/34/34\nf 275/63/35 355/64/35 20/30/35 2/32/35\nf 371/65/36 95/28/36 20/30/36 355/64/36\nf 327/66/37 3/26/37 95/28/37 371/65/37\nf 394/67/38 165/23/38 3/26/38 327/66/38\nf 268/68/39 1/21/39 165/23/39 394/67/39\nf 303/69/40 12/22/40 1/21/40 268/68/40\nf 317/70/41 16/16/41 15/17/41 318/71/41\nf 317/70/42 316/72/42 17/14/42 16/16/42\nf 316/72/43 315/73/43 18/12/43 17/14/43\nf 314/74/44 19/10/44 18/12/44 315/73/44\nf 422/75/45 201/8/45 19/10/45 314/74/45\nf 429/76/46 200/5/46 201/8/46 422/75/46\nf 397/77/47 176/2/47 200/5/47 429/76/47\nf 378/78/48 153/3/48 176/2/48 397/77/48\nf 68/79/49 110/51/49 109/49/49 70/80/49\nf 104/81/50 68/79/50 70/80/50 105/82/50\nf 55/83/51 104/81/51 105/82/51 69/84/51\nf 22/85/52 55/83/52 69/84/52 72/86/52\nf 163/87/53 22/85/53 72/86/53 140/88/53\nf 128/89/54 163/87/54 140/88/54 35/90/54\nf 228/91/55 235/92/55 128/89/55 35/90/55\nf 235/92/56 228/91/56 138/93/56 94/94/56\nf 94/94/57 138/93/57 178/95/57 133/96/57\nf 59/97/58 133/96/58 178/95/58 216/98/58\nf 173/99/59 59/97/59 216/98/59 139/100/59\nf 137/101/60 173/99/60 139/100/60 136/102/60\nf 137/101/61 136/102/61 170/103/61 151/104/61\nf 151/104/62 170/103/62 171/105/62 150/106/62\nf 150/106/63 171/105/63 141/107/63 177/108/63\nf 149/4/64 177/108/64 141/107/64 172/1/64\nf 339/53/65 298/109/65 300/110/65 338/54/65\nf 298/109/66 333/111/66 334/112/66 300/110/66\nf 333/111/67 285/113/67 299/114/67 334/112/67\nf 300/110/68 297/115/68 337/55/68 338/54/68\nf 297/115/69 296/116/69 286/56/69 337/55/69\nf 297/115/70 335/117/70 283/118/70 296/116/70\nf 334/112/71 335/117/71 297/115/71 300/110/71\nf 285/113/72 252/119/72 302/120/72 299/114/72\nf 252/119/73 390/121/73 369/122/73 302/120/73\nf 390/121/74 357/123/74 265/124/74 369/122/74\nf 455/125/75 448/126/75 265/124/75 357/123/75\nf 455/125/76 324/127/76 367/128/76 448/126/76\nf 367/128/77 324/127/77 362/129/77 402/130/77\nf 362/129/78 289/131/78 436/132/78 402/130/78\nf 289/131/79 398/133/79 368/134/79 436/132/79\nf 398/133/80 366/135/80 365/136/80 368/134/80\nf 365/136/81 366/135/81 380/137/81 395/138/81\nf 395/138/82 380/137/82 379/139/82 396/140/82\nf 396/140/83 379/139/83 401/141/83 370/142/83\nf 378/78/84 397/77/84 370/142/84 401/141/84\nf 263/143/85 370/142/85 397/77/85 429/76/85\nf 263/143/86 432/144/86 396/140/86 370/142/86\nf 432/144/87 431/145/87 395/138/87 396/140/87\nf 431/145/88 435/146/88 365/136/88 395/138/88\nf 435/146/89 417/147/89 368/134/89 365/136/89\nf 417/147/90 434/148/90 436/132/90 368/134/90\nf 434/148/91 377/149/91 402/130/91 436/132/91\nf 377/149/92 353/150/92 367/128/92 402/130/92\nf 346/151/93 448/126/93 367/128/93 353/150/93\nf 346/151/94 373/152/94 265/124/94 448/126/94\nf 384/153/95 369/122/95 265/124/95 373/152/95\nf 301/154/96 302/120/96 369/122/96 384/153/96\nf 294/155/97 299/114/97 302/120/97 301/154/97\nf 299/114/98 294/155/98 335/117/98 334/112/98\nf 284/156/99 283/118/99 335/117/99 294/155/99\nf 277/157/100 284/156/100 294/155/100 301/154/100\nf 354/158/101 277/157/101 301/154/101 384/153/101\nf 266/159/102 354/158/102 384/153/102 373/152/102\nf 341/160/103 266/159/103 373/152/103 346/151/103\nf 419/161/104 263/143/104 429/76/104 422/75/104\nf 419/161/105 425/162/105 432/144/105 263/143/105\nf 425/162/106 423/163/106 431/145/106 432/144/106\nf 423/163/107 433/164/107 435/146/107 431/145/107\nf 347/165/108 341/160/108 346/151/108 353/150/108\nf 353/150/109 281/166/109 348/167/109 347/165/109\nf 348/167/110 281/166/110 331/168/110 349/169/110\nf 331/168/111 330/170/111 350/171/111 349/169/111\nf 330/170/112 278/172/112 351/173/112 350/171/112\nf 278/172/113 344/174/113 358/175/113 351/173/113\nf 413/176/114 466/177/114 358/175/114 344/174/114\nf 418/57/115 466/177/115 413/176/115 352/58/115\nf 266/159/116 341/160/116 262/178/116 447/179/116\nf 262/178/117 341/160/117 347/165/117 449/180/117\nf 450/181/118 449/180/118 347/165/118 348/167/118\nf 450/181/119 348/167/119 349/169/119 451/182/119\nf 452/183/120 451/182/120 349/169/120 350/171/120\nf 254/184/121 253/185/121 381/186/121 375/187/121\nf 452/183/122 253/185/122 254/184/122 451/182/122\nf 255/188/123 450/181/123 451/182/123 254/184/123\nf 340/189/124 449/180/124 450/181/124 255/188/124\nf 256/190/125 262/178/125 449/180/125 340/189/125\nf 343/191/126 354/158/126 266/159/126 447/179/126\nf 446/192/127 277/157/127 354/158/127 343/191/127\nf 445/193/128 284/156/128 277/157/128 446/192/128\nf 444/194/129 283/118/129 284/156/129 445/193/129\nf 443/195/130 296/116/130 283/118/130 444/194/130\nf 442/196/131 286/56/131 296/116/131 443/195/131\nf 442/196/132 414/197/132 418/57/132 286/56/132\nf 465/198/133 466/177/133 418/57/133 414/197/133\nf 454/199/134 358/175/134 466/177/134 465/198/134\nf 454/199/135 453/200/135 351/173/135 358/175/135\nf 351/173/136 453/200/136 452/183/136 350/171/136\nf 255/188/137 254/184/137 375/187/137 374/201/137\nf 374/201/138 391/202/138 340/189/138 255/188/138\nf 257/203/139 253/185/139 452/183/139 453/200/139\nf 342/204/140 257/203/140 453/200/140 454/199/140\nf 464/205/141 342/204/141 454/199/141 465/198/141\nf 415/206/142 464/205/142 465/198/142 414/197/142\nf 287/207/143 415/206/143 414/197/143 442/196/143\nf 259/208/144 287/207/144 442/196/144 443/195/144\nf 258/209/145 259/208/145 443/195/145 444/194/145\nf 260/210/146 258/209/146 444/194/146 445/193/146\nf 261/211/147 260/210/147 445/193/147 446/192/147\nf 468/212/148 261/211/148 446/192/148 343/191/148\nf 360/213/149 468/212/149 343/191/149 447/179/149\nf 447/179/150 262/178/150 256/190/150 360/213/150\nf 391/202/151 250/214/151 256/190/151 340/189/151\nf 264/215/152 360/213/152 256/190/152 250/214/152\nf 467/216/153 468/212/153 360/213/153 264/215/153\nf 261/211/154 468/212/154 467/216/154 389/217/154\nf 388/218/155 260/210/155 261/211/155 389/217/155\nf 387/219/156 258/209/156 260/210/156 388/218/156\nf 386/220/157 259/208/157 258/209/157 387/219/157\nf 385/221/158 287/207/158 259/208/158 386/220/158\nf 399/222/159 415/206/159 287/207/159 385/221/159\nf 363/223/160 464/205/160 415/206/160 399/222/160\nf 383/224/161 342/204/161 464/205/161 363/223/161\nf 382/225/162 257/203/162 342/204/162 383/224/162\nf 253/185/163 257/203/163 382/225/163 381/186/163\nf 67/226/164 70/80/164 109/49/164 108/47/164\nf 67/226/165 106/227/165 105/82/165 70/80/165\nf 106/227/166 64/228/166 69/84/166 105/82/166\nf 64/228/167 71/229/167 72/86/167 69/84/167\nf 71/229/168 157/230/168 140/88/168 72/86/168\nf 157/230/169 144/231/169 35/90/169 140/88/169\nf 117/232/170 228/91/170 35/90/170 144/231/170\nf 124/233/171 138/93/171 228/91/171 117/232/171\nf 148/234/172 178/95/172 138/93/172 124/233/172\nf 214/235/173 216/98/173 178/95/173 148/234/173\nf 193/236/174 139/100/174 216/98/174 214/235/174\nf 215/237/175 136/102/175 139/100/175 193/236/175\nf 211/238/176 170/103/176 136/102/176 215/237/176\nf 212/239/177 171/105/177 170/103/177 211/238/177\nf 33/240/178 141/107/178 171/105/178 212/239/178\nf 172/1/179 141/107/179 33/240/179 209/6/179\nf 194/43/180 123/41/180 189/241/180 246/242/180\nf 56/45/181 194/43/181 190/243/181 222/244/181\nf 245/245/182 190/243/182 194/43/182 246/242/182\nf 66/246/183 67/226/183 108/47/183 56/45/183\nf 66/246/184 53/247/184 106/227/184 67/226/184\nf 53/247/185 54/248/185 64/228/185 106/227/185\nf 54/248/186 47/249/186 71/229/186 64/228/186\nf 47/249/187 125/250/187 157/230/187 71/229/187\nf 125/250/188 36/251/188 144/231/188 157/230/188\nf 36/251/189 112/252/189 117/232/189 144/231/189\nf 53/247/190 66/246/190 223/253/190 224/254/190\nf 56/45/191 222/244/191 223/253/191 66/246/191\nf 224/254/192 225/255/192 54/248/192 53/247/192\nf 225/255/193 226/256/193 47/249/193 54/248/193\nf 114/257/194 227/258/194 36/251/194 125/250/194\nf 227/258/195 32/259/195 112/252/195 36/251/195\nf 118/260/196 112/252/196 32/259/196 229/261/196\nf 119/262/197 118/260/197 229/261/197 230/263/197\nf 120/264/198 119/262/198 230/263/198 231/265/198\nf 121/266/199 120/264/199 231/265/199 232/267/199\nf 122/268/200 121/266/200 232/267/200 233/269/200\nf 129/270/201 122/268/201 233/269/201 234/271/201\nf 246/242/202 129/270/202 234/271/202 245/245/202\nf 115/272/203 129/270/203 246/242/203 189/241/203\nf 48/273/204 122/268/204 129/270/204 115/272/204\nf 101/274/205 121/266/205 122/268/205 48/273/205\nf 102/275/206 120/264/206 121/266/206 101/274/206\nf 190/243/207 245/245/207 244/276/207 191/277/207\nf 113/278/208 244/276/208 245/245/208 234/271/208\nf 113/278/209 234/271/209 233/269/209 27/279/209\nf 23/280/210 232/267/210 231/265/210 24/281/210\nf 24/281/211 231/265/211 230/263/211 25/282/211\nf 25/282/212 230/263/212 229/261/212 111/283/212\nf 111/283/213 229/261/213 32/259/213 26/284/213\nf 131/285/214 26/284/214 32/259/214 227/258/214\nf 248/286/215 131/285/215 227/258/215 114/257/215\nf 248/286/216 114/257/216 226/256/216 31/287/216\nf 30/288/217 31/287/217 226/256/217 225/255/217\nf 28/289/218 30/288/218 225/255/218 224/254/218\nf 29/290/219 28/289/219 224/254/219 223/253/219\nf 29/290/220 223/253/220 222/244/220 57/291/220\nf 222/244/221 190/243/221 191/277/221 57/291/221\nf 191/277/222 244/276/222 134/292/222 174/293/222\nf 134/292/223 244/276/223 113/278/223 156/294/223\nf 232/267/224 23/280/224 27/279/224 233/269/224\nf 156/294/225 113/278/225 27/279/225 155/295/225\nf 154/296/226 155/295/226 27/279/226 23/280/226\nf 154/296/227 23/280/227 24/281/227 146/297/227\nf 146/297/228 24/281/228 25/282/228 145/298/228\nf 145/298/229 25/282/229 111/283/229 164/299/229\nf 164/299/230 111/283/230 26/284/230 8/300/230\nf 8/300/231 26/284/231 131/285/231 34/301/231\nf 34/301/232 131/285/232 248/286/232 247/302/232\nf 247/302/233 248/286/233 31/287/233 162/303/233\nf 162/303/234 31/287/234 30/288/234 161/304/234\nf 161/304/235 30/288/235 28/289/235 160/305/235\nf 160/305/236 28/289/236 29/290/236 159/306/236\nf 159/306/237 29/290/237 57/291/237 158/307/237\nf 57/291/238 191/277/238 174/293/238 158/307/238\nf 175/308/239 189/241/239 123/41/239 197/40/239\nf 175/308/240 218/309/240 115/272/240 189/241/240\nf 218/309/241 127/310/241 48/273/241 115/272/241\nf 127/310/242 143/311/242 101/274/242 48/273/242\nf 143/311/243 37/312/243 102/275/243 101/274/243\nf 413/176/244 400/313/244 420/59/244 352/58/244\nf 400/313/245 413/176/245 344/174/245 438/314/245\nf 356/315/246 438/314/246 344/174/246 278/172/246\nf 372/316/247 356/315/247 278/172/247 330/170/247\nf 267/317/248 372/316/248 330/170/248 331/168/248\nf 412/318/249 281/166/249 353/150/249 377/149/249\nf 434/148/250 417/147/250 412/318/250 377/149/250\nf 428/319/251 412/318/251 417/147/251 435/146/251\nf 426/320/252 281/166/252 412/318/252 428/319/252\nf 281/166/253 426/320/253 267/317/253 331/168/253\nf 428/319/254 435/146/254 433/164/254 437/321/254\nf 437/321/255 427/322/255 426/320/255 428/319/255\nf 427/322/256 424/323/256 267/317/256 426/320/256\nf 359/324/257 372/316/257 267/317/257 424/323/257\nf 430/325/258 356/315/258 372/316/258 359/324/258\nf 421/326/259 438/314/259 356/315/259 430/325/259\nf 457/327/260 400/313/260 438/314/260 421/326/260\nf 420/59/261 400/313/261 457/327/261 249/60/261\nf 175/308/262 197/40/262 4/37/262 237/328/262\nf 237/328/263 199/329/263 218/309/263 175/308/263\nf 199/329/264 210/330/264 127/310/264 218/309/264\nf 210/330/265 130/331/265 143/311/265 127/310/265\nf 130/331/266 204/332/266 37/312/266 143/311/266\nf 51/333/267 119/262/267 120/264/267 102/275/267\nf 117/232/268 112/252/268 118/260/268 124/233/268\nf 118/260/269 119/262/269 51/333/269 124/233/269\nf 51/333/270 188/334/270 148/234/270 124/233/270\nf 148/234/271 188/334/271 193/236/271 214/235/271\nf 188/334/272 208/335/272 215/237/272 193/236/272\nf 206/336/273 208/335/273 188/334/273 51/333/273\nf 102/275/274 37/312/274 206/336/274 51/333/274\nf 206/336/275 37/312/275 204/332/275 207/337/275\nf 217/338/276 208/335/276 206/336/276 207/337/276\nf 213/339/277 215/237/277 208/335/277 217/338/277\nf 213/339/278 203/340/278 211/238/278 215/237/278\nf 203/340/279 205/341/279 212/239/279 211/238/279\nf 205/341/280 195/342/280 33/240/280 212/239/280\nf 209/6/281 33/240/281 195/342/281 202/7/281\nf 166/343/282 168/24/282 38/20/282 40/344/282\nf 166/343/283 40/344/283 41/345/283 93/346/283\nf 213/339/284 217/338/284 187/347/284 58/348/284\nf 58/348/285 44/349/285 203/340/285 213/339/285\nf 44/349/286 107/350/286 205/341/286 203/340/286\nf 107/350/287 183/351/287 195/342/287 205/341/287\nf 202/7/288 195/342/288 183/351/288 84/9/288\nf 182/352/289 85/11/289 84/9/289 183/351/289\nf 92/353/290 182/352/290 183/351/290 107/350/290\nf 147/354/291 92/353/291 107/350/291 44/349/291\nf 62/355/292 147/354/292 44/349/292 58/348/292\nf 186/356/293 62/355/293 58/348/293 187/347/293\nf 93/346/294 41/345/294 186/356/294 187/347/294\nf 217/338/295 207/337/295 93/346/295 187/347/295\nf 204/332/296 166/343/296 93/346/296 207/337/296\nf 40/344/297 38/20/297 73/19/297 74/357/297\nf 75/358/298 41/345/298 40/344/298 74/357/298\nf 185/359/299 186/356/299 41/345/299 75/358/299\nf 77/360/300 62/355/300 186/356/300 185/359/300\nf 78/361/301 147/354/301 62/355/301 77/360/301\nf 91/362/302 92/353/302 147/354/302 78/361/302\nf 181/363/303 182/352/303 92/353/303 91/362/303\nf 85/11/304 182/352/304 181/363/304 86/13/304\nf 407/364/305 419/161/305 422/75/305 314/74/305\nf 407/364/306 336/365/306 425/162/306 419/161/306\nf 336/365/307 274/366/307 423/163/307 425/162/307\nf 274/366/308 288/367/308 433/164/308 423/163/308\nf 288/367/309 411/368/309 437/321/309 433/164/309\nf 411/368/310 323/369/310 427/322/310 437/321/310\nf 323/369/311 392/370/311 424/323/311 427/322/311\nf 394/67/312 392/370/312 270/371/312 268/68/312\nf 271/372/313 270/371/313 392/370/313 323/369/313\nf 410/373/314 271/372/314 323/369/314 411/368/314\nf 292/374/315 410/373/315 411/368/315 288/367/315\nf 376/375/316 292/374/316 288/367/316 274/366/316\nf 322/376/317 376/375/317 274/366/317 336/365/317\nf 406/377/318 322/376/318 336/365/318 407/364/318\nf 314/74/319 315/73/319 406/377/319 407/364/319\nf 270/371/320 304/378/320 303/69/320 268/68/320\nf 304/378/321 270/371/321 271/372/321 305/379/321\nf 305/379/322 271/372/322 410/373/322 409/380/322\nf 409/380/323 410/373/323 292/374/323 307/381/323\nf 307/381/324 292/374/324 376/375/324 308/382/324\nf 308/382/325 376/375/325 322/376/325 321/383/325\nf 321/383/326 322/376/326 406/377/326 405/384/326\nf 315/73/327 316/72/327 405/384/327 406/377/327\nf 404/385/328 405/384/328 316/72/328 317/70/328\nf 39/386/329 73/19/329 12/22/329 13/387/329\nf 39/386/330 42/388/330 74/357/330 73/19/330\nf 42/388/331 39/386/331 83/389/331 82/390/331\nf 14/391/332 83/389/332 39/386/332 13/387/332\nf 12/22/333 303/69/333 269/392/333 13/387/333\nf 13/387/334 269/392/334 313/393/334 14/391/334\nf 269/392/335 272/394/335 312/395/335 313/393/335\nf 303/69/336 304/378/336 272/394/336 269/392/336\nf 409/380/337 307/381/337 293/396/337 408/397/337\nf 312/395/338 272/394/338 273/398/338 311/399/338\nf 305/379/339 273/398/339 272/394/339 304/378/339\nf 305/379/340 409/380/340 408/397/340 273/398/340\nf 416/400/341 408/397/341 293/396/341 309/401/341\nf 311/399/342 273/398/342 408/397/342 416/400/342\nf 293/396/343 307/381/343 308/382/343 326/402/343\nf 326/402/344 325/403/344 309/401/344 293/396/344\nf 326/402/345 320/404/345 319/405/345 325/403/345\nf 404/385/346 403/406/346 319/405/346 320/404/346\nf 317/70/347 318/71/347 403/406/347 404/385/347\nf 321/383/348 405/384/348 404/385/348 320/404/348\nf 308/382/349 321/383/349 320/404/349 326/402/349\nf 181/363/350 180/407/350 87/15/350 86/13/350\nf 90/408/351 180/407/351 181/363/351 91/362/351\nf 179/409/352 88/18/352 87/15/352 180/407/352\nf 179/409/353 180/407/353 90/408/353 89/410/353\nf 90/408/354 97/411/354 96/412/354 89/410/354\nf 78/361/355 97/411/355 90/408/355 91/362/355\nf 96/412/356 97/411/356 63/413/356 79/414/356\nf 78/361/357 77/360/357 63/413/357 97/411/357\nf 184/415/358 63/413/358 77/360/358 185/359/358\nf 184/415/359 192/416/359 79/414/359 63/413/359\nf 184/415/360 43/417/360 81/418/360 192/416/360\nf 42/388/361 82/390/361 81/418/361 43/417/361\nf 75/358/362 74/357/362 42/388/362 43/417/362\nf 185/359/363 75/358/363 43/417/363 184/415/363\nf 457/327/364 364/419/364 282/61/364 249/60/364\nf 364/419/365 441/420/365 276/62/365 282/61/365\nf 441/420/366 458/421/366 275/63/366 276/62/366\nf 458/421/367 462/422/367 355/64/367 275/63/367\nf 462/422/368 463/423/368 371/65/368 355/64/368\nf 463/423/369 329/424/369 327/66/369 371/65/369\nf 328/425/370 392/370/370 394/67/370 327/66/370\nf 424/323/371 392/370/371 328/425/371 359/324/371\nf 328/425/372 327/66/372 329/424/372 461/426/372\nf 361/427/373 364/419/373 457/327/373 421/326/373\nf 280/428/374 361/427/374 421/326/374 430/325/374\nf 332/429/375 280/428/375 430/325/375 359/324/375\nf 295/430/376 332/429/376 359/324/376 328/425/376\nf 295/430/377 328/425/377 461/426/377 456/431/377\nf 279/432/378 280/428/378 332/429/378 295/430/378\nf 345/433/379 361/427/379 280/428/379 279/432/379\nf 364/419/380 361/427/380 345/433/380 441/420/380\nf 279/432/381 295/430/381 456/431/381 440/434/381\nf 440/434/382 439/435/382 345/433/382 279/432/382\nf 441/420/383 345/433/383 439/435/383 458/421/383\nf 291/436/384 329/424/384 463/423/384 251/437/384\nf 291/436/385 306/438/385 461/426/385 329/424/385\nf 306/438/386 290/439/386 456/431/386 461/426/386\nf 290/439/387 393/440/387 440/434/387 456/431/387\nf 393/440/388 310/441/388 439/435/388 440/434/388\nf 310/441/389 460/442/389 458/421/389 439/435/389\nf 460/442/390 459/443/390 462/422/390 458/421/390\nf 462/422/391 459/443/391 251/437/391 463/423/391\nf 135/444/392 237/328/392 4/37/392 52/36/392\nf 135/444/393 52/36/393 46/33/393 221/445/393\nf 238/446/394 221/445/394 46/33/394 45/31/394\nf 242/447/395 238/446/395 45/31/395 126/29/395\nf 242/447/396 126/29/396 142/27/396 243/448/396\nf 243/448/397 142/27/397 98/25/397 100/449/397\nf 99/450/398 98/25/398 168/24/398 166/343/398\nf 204/332/399 130/331/399 99/450/399 166/343/399\nf 99/450/400 130/331/400 103/451/400 65/452/400\nf 50/453/401 103/451/401 130/331/401 210/330/401\nf 135/444/402 132/454/402 199/329/402 237/328/402\nf 199/329/403 132/454/403 50/453/403 210/330/403\nf 132/454/404 135/444/404 221/445/404 116/455/404\nf 116/455/405 49/456/405 50/453/405 132/454/405\nf 103/451/406 50/453/406 49/456/406 65/452/406\nf 99/450/407 241/457/407 100/449/407 98/25/407\nf 241/457/408 99/450/408 65/452/408 236/458/408\nf 220/459/409 236/458/409 65/452/409 49/456/409\nf 219/460/410 220/459/410 49/456/410 116/455/410\nf 221/445/411 238/446/411 219/460/411 116/455/411\nf 238/446/412 242/447/412 239/461/412 240/462/412\nf 239/461/413 242/447/413 243/448/413 21/463/413\nf 21/463/414 243/448/414 100/449/414 61/464/414\nf 61/464/415 100/449/415 241/457/415 76/465/415\nf 76/465/416 241/457/416 236/458/416 60/466/416\nf 60/466/417 236/458/417 220/459/417 167/467/417\nf 167/467/418 220/459/418 219/460/418 80/468/418\nf 219/460/419 238/446/419 240/462/419 80/468/419\nf 125/250/420 47/249/420 226/256/420 114/257/420\nf 264/215/421 250/214/421 467/216/421\nf 391/202/422 389/217/422 467/216/422 250/214/422\nf 391/202/423 374/201/423 388/218/423 389/217/423\nf 374/201/424 375/187/424 387/219/424 388/218/424\nf 375/187/425 381/186/425 386/220/425 387/219/425\nf 385/221/426 386/220/426 381/186/426 382/225/426\nf 399/222/427 385/221/427 382/225/427 383/224/427\nf 363/223/428 399/222/428 383/224/428\nf 134/292/429 156/294/429 174/293/429\nf 155/295/430 158/307/430 174/293/430 156/294/430\nf 154/296/431 159/306/431 158/307/431 155/295/431\nf 146/297/432 160/305/432 159/306/432 154/296/432\nf 145/298/433 161/304/433 160/305/433 146/297/433\nf 164/299/434 162/303/434 161/304/434 145/298/434\nf 8/300/435 247/302/435 162/303/435 164/299/435\nf 34/301/436 247/302/436 8/300/436"
  },
  {
    "path": "style/main.scss",
    "content": "@use \"@material/theme\" with (\n  $primary: blue,\n  $secondary: #000000,\n  $background: #fff,\n);\n@use \"@material/icon-button\";\n@use \"@material/slider\";\n\n@include slider.core-styles;\n@include icon-button.core-styles;\n\nhtml,\nbody {\n  margin: 0;\n  padding: 0;\n  background: #f5f5f5;\n  width: 100%;\n  height: 100%;\n  overflow: hidden;\n  font-family: 'Poppins', 'Roboto', 'Helvetica', 'Arial', sans-serif;\n}\n\nbody.loading::before {\n  content: ' ';\n  display: block;\n  width: 100%;\n  height: 100%;\n  position: absolute;\n  background: url(../assets/spinner.svg) no-repeat center center;\n}\n\n.ui .mdc-icon-button.material-icons-outlined {\n  @include icon-button.icon-size(24px, 24px, 14px);\n}\n\n.container {\n  position: relative;\n  width: 100%;\n  height: 100%;\n  display: flex;\n  justify-content: center;\n  align-items: center;\n  flex-direction: column;\n  opacity: 1;\n  transition: opacity 0.5s;\n  overflow: hidden;\n}\n\n.loading .container {\n  opacity: 0;\n}\n\n.info {\n  display: none;\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  align-items: flex-start;\n  justify-content: center;\n  z-index: 8;\n}\n\n.info.show {\n  display: flex;\n}\n\n.info-content {\n  background: #00000070;\n  padding: 1em;\n  width: 100%;\n  height: 100%;\n  padding-bottom: 3em;\n  color: white;\n  font-size: 28px;\n  padding: 1em 1.5em;\n  max-width: 800px;\n\n  h1 {\n    margin: 0;\n    line-height: 72px;\n  }\n  a {\n    color: white;\n  }\n}\n\n.alt-bts {\n  position: absolute;\n  top: 0.5em;\n  right: 0.5em;\n  z-index: 9;\n  display: flex;\n  flex-direction: column;\n  \n  > * {\n    margin: 0.5em;\n  }\n}\n\n#bt-info {\n  background: white;\n  border-radius: 5em;\n  box-shadow: 0 0px 1px rgba(0, 0, 0, 0.1), 0 2px 15px rgba(0, 0, 0, 0.05);\n}\n\n/** Canvas **/\n\n.three-canvas {\n  transform: scale(-1, 1);\n  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.15);\n  border-radius: 2em;\n}\n\n.paused .three-canvas {\n  opacity: 0.5;\n}\n\n/** UI **/\n\n.ui {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  border-radius: 9em;\n  padding: 0 .5em;\n  box-shadow: 0 0px 1px rgba(0, 0, 0, 0.1), 0 2px 15px rgba(0, 0, 0, 0.05);\n  background: white;\n  margin-top: 1.25em;\n}\n\n/** Color picker **/\n\n.picker .a-color-picker {\n  border-radius: 15px;\n  overflow: hidden;\n  box-shadow: 0 2px 15px rgba(0, 0, 0, 0.15);\n}\n\n.color {\n  position: relative;\n  display: inline-block;\n}\n\n.picker {\n  position: absolute;\n  z-index: 3;\n  bottom: 65px;\n  left: -100px;\n  display: none;\n}\n\n.close-color {\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  left: 0;\n  top: 0;\n  z-index: 2;\n}\n\n#bt-picker {\n  border-radius: 1em;\n}\n\n/** Slider **/\n\n.slider {\n  width: 150px;\n  display: inline-block;\n  margin: 0.5em 1em;\n}\n\n.mdc-slider__track-container {\n  position: absolute;\n  top: calc(1em + 5px);\n  width: 100%;\n  height: 10px;\n  overflow: hidden;\n  border-radius: 7em;\n}\n\n.mdc-slider__track-marker-container {\n  display: none;\n}\n\n.mdc-slider--discrete.mdc-slider--active .mdc-slider__pin {\n  transform: rotate(-45deg) scale(1) translate(30px, -30px);\n}\n\n.mdc-slider:not(.mdc-slider--disabled) .mdc-slider__track-container::after {\n  opacity: 0.1;\n}\n\n/** CURSOR **/\n\n$cursorSize : 12px;\n\n.cursor {\n  display: none;\n  position: absolute;\n  z-index: 999;\n  width: $cursorSize;\n  height: $cursorSize;\n  border-radius: 75px;\n  background: white;\n  pointer-events: none;\n  opacity: 0.8;\n  transform: translate(-50%, -50%);\n}\n\n.hover-face .container {\n  cursor:none;\n}\n\n.hover-face .cursor {\n  display: block;\n}\n\n/** LAPTOP **/\n\n@media only screen and (max-height: 800px) and (min-width: 600px) {\n  body {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n  }\n\n  .container {\n    position: relative;\n    width: 640px;\n    height: 640px;\n    border-radius: 2em;\n  }\n\n  .three-canvas {\n    border-radius: 0;\n  }\n\n  .ui {\n    position: absolute;\n    bottom: 1em;\n  }\n}\n\n/** MOBILE **/\n\n@media only screen and (max-width: 600px) {\n  .ui {\n    position: absolute;\n    bottom: 1em;\n  }\n\n  .picker {\n    left: -20px;\n  }\n}\n"
  }
]