{
  "type": "Program",
  "start": 0,
  "end": 5227,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 129,
      "column": 0
    }
  },
  "sourceType": "module",
  "body": [
    {
      "type": "ImportDeclaration",
      "start": 0,
      "end": 26,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 26
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 7,
          "end": 12,
          "loc": {
            "start": {
              "line": 1,
              "column": 7
            },
            "end": {
              "line": 1,
              "column": 12
            }
          },
          "local": {
            "type": "Identifier",
            "start": 7,
            "end": 12,
            "loc": {
              "start": {
                "line": 1,
                "column": 7
              },
              "end": {
                "line": 1,
                "column": 12
              }
            },
            "name": "THREE"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 18,
        "end": 25,
        "loc": {
          "start": {
            "line": 1,
            "column": 18
          },
          "end": {
            "line": 1,
            "column": 25
          }
        },
        "value": "three",
        "rawValue": "three",
        "raw": "'three'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 27,
      "end": 44,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 17
        }
      },
      "specifiers": [],
      "source": {
        "type": "Literal",
        "start": 34,
        "end": 43,
        "loc": {
          "start": {
            "line": 2,
            "column": 7
          },
          "end": {
            "line": 2,
            "column": 16
          }
        },
        "value": "perfnow",
        "rawValue": "perfnow",
        "raw": "'perfnow'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 45,
      "end": 88,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 43
        }
      },
      "specifiers": [
        {
          "type": "ImportNamespaceSpecifier",
          "start": 52,
          "end": 64,
          "loc": {
            "start": {
              "line": 3,
              "column": 7
            },
            "end": {
              "line": 3,
              "column": 19
            }
          },
          "local": {
            "type": "Identifier",
            "start": 57,
            "end": 64,
            "loc": {
              "start": {
                "line": 3,
                "column": 12
              },
              "end": {
                "line": 3,
                "column": 19
              }
            },
            "name": "Helpers"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 70,
        "end": 87,
        "loc": {
          "start": {
            "line": 3,
            "column": 25
          },
          "end": {
            "line": 3,
            "column": 42
          }
        },
        "value": "../core/helpers",
        "rawValue": "../core/helpers",
        "raw": "'../core/helpers'"
      }
    },
    {
      "type": "ImportDeclaration",
      "start": 89,
      "end": 128,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 39
        }
      },
      "specifiers": [
        {
          "type": "ImportDefaultSpecifier",
          "start": 96,
          "end": 101,
          "loc": {
            "start": {
              "line": 4,
              "column": 7
            },
            "end": {
              "line": 4,
              "column": 12
            }
          },
          "local": {
            "type": "Identifier",
            "start": 96,
            "end": 101,
            "loc": {
              "start": {
                "line": 4,
                "column": 7
              },
              "end": {
                "line": 4,
                "column": 12
              }
            },
            "name": "Tween"
          }
        }
      ],
      "importKind": "value",
      "source": {
        "type": "Literal",
        "start": 107,
        "end": 127,
        "loc": {
          "start": {
            "line": 4,
            "column": 18
          },
          "end": {
            "line": 4,
            "column": 38
          }
        },
        "value": "../animation/tween",
        "rawValue": "../animation/tween",
        "raw": "'../animation/tween'"
      }
    },
    {
      "type": "ExportDefaultDeclaration",
      "start": 130,
      "end": 5226,
      "loc": {
        "start": {
          "line": 6,
          "column": 0
        },
        "end": {
          "line": 128,
          "column": 1
        }
      },
      "declaration": {
        "type": "ClassDeclaration",
        "start": 145,
        "end": 5226,
        "loc": {
          "start": {
            "line": 6,
            "column": 15
          },
          "end": {
            "line": 128,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 151,
          "end": 159,
          "loc": {
            "start": {
              "line": 6,
              "column": 21
            },
            "end": {
              "line": 6,
              "column": 29
            }
          },
          "name": "Renderer"
        },
        "superClass": null,
        "body": {
          "type": "ClassBody",
          "start": 160,
          "end": 5226,
          "loc": {
            "start": {
              "line": 6,
              "column": 30
            },
            "end": {
              "line": 128,
              "column": 1
            }
          },
          "body": [
            {
              "type": "MethodDefinition",
              "start": 166,
              "end": 4593,
              "loc": {
                "start": {
                  "line": 7,
                  "column": 4
                },
                "end": {
                  "line": 104,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 166,
                "end": 177,
                "loc": {
                  "start": {
                    "line": 7,
                    "column": 4
                  },
                  "end": {
                    "line": 7,
                    "column": 15
                  }
                },
                "name": "constructor"
              },
              "static": false,
              "kind": "constructor",
              "value": {
                "type": "FunctionExpression",
                "start": 177,
                "end": 4593,
                "loc": {
                  "start": {
                    "line": 7,
                    "column": 15
                  },
                  "end": {
                    "line": 104,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "AssignmentPattern",
                    "start": 178,
                    "end": 238,
                    "loc": {
                      "start": {
                        "line": 7,
                        "column": 16
                      },
                      "end": {
                        "line": 7,
                        "column": 76
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 178,
                      "end": 184,
                      "loc": {
                        "start": {
                          "line": 7,
                          "column": 16
                        },
                        "end": {
                          "line": 7,
                          "column": 22
                        }
                      },
                      "name": "canvas"
                    },
                    "right": {
                      "type": "CallExpression",
                      "start": 187,
                      "end": 238,
                      "loc": {
                        "start": {
                          "line": 7,
                          "column": 25
                        },
                        "end": {
                          "line": 7,
                          "column": 76
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 187,
                        "end": 196,
                        "loc": {
                          "start": {
                            "line": 7,
                            "column": 25
                          },
                          "end": {
                            "line": 7,
                            "column": 34
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 187,
                          "end": 192,
                          "loc": {
                            "start": {
                              "line": 7,
                              "column": 25
                            },
                            "end": {
                              "line": 7,
                              "column": 30
                            }
                          },
                          "name": "Error"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 193,
                          "end": 196,
                          "loc": {
                            "start": {
                              "line": 7,
                              "column": 31
                            },
                            "end": {
                              "line": 7,
                              "column": 34
                            }
                          },
                          "name": "log"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Literal",
                          "start": 197,
                          "end": 237,
                          "loc": {
                            "start": {
                              "line": 7,
                              "column": 35
                            },
                            "end": {
                              "line": 7,
                              "column": 75
                            }
                          },
                          "value": "Factory was initialized without canvas",
                          "rawValue": "Factory was initialized without canvas",
                          "raw": "'Factory was initialized without canvas'"
                        }
                      ]
                    }
                  },
                  {
                    "type": "AssignmentPattern",
                    "start": 240,
                    "end": 252,
                    "loc": {
                      "start": {
                        "line": 7,
                        "column": 78
                      },
                      "end": {
                        "line": 7,
                        "column": 90
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 240,
                      "end": 247,
                      "loc": {
                        "start": {
                          "line": 7,
                          "column": 78
                        },
                        "end": {
                          "line": 7,
                          "column": 85
                        }
                      },
                      "name": "options"
                    },
                    "right": {
                      "type": "ObjectExpression",
                      "start": 250,
                      "end": 252,
                      "loc": {
                        "start": {
                          "line": 7,
                          "column": 88
                        },
                        "end": {
                          "line": 7,
                          "column": 90
                        }
                      },
                      "properties": []
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 254,
                  "end": 4593,
                  "loc": {
                    "start": {
                      "line": 7,
                      "column": 92
                    },
                    "end": {
                      "line": 104,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 264,
                      "end": 285,
                      "loc": {
                        "start": {
                          "line": 8,
                          "column": 8
                        },
                        "end": {
                          "line": 8,
                          "column": 29
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 264,
                        "end": 284,
                        "loc": {
                          "start": {
                            "line": 8,
                            "column": 8
                          },
                          "end": {
                            "line": 8,
                            "column": 28
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 264,
                          "end": 275,
                          "loc": {
                            "start": {
                              "line": 8,
                              "column": 8
                            },
                            "end": {
                              "line": 8,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 264,
                            "end": 268,
                            "loc": {
                              "start": {
                                "line": 8,
                                "column": 8
                              },
                              "end": {
                                "line": 8,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 269,
                            "end": 275,
                            "loc": {
                              "start": {
                                "line": 8,
                                "column": 13
                              },
                              "end": {
                                "line": 8,
                                "column": 19
                              }
                            },
                            "name": "canvas"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 278,
                          "end": 284,
                          "loc": {
                            "start": {
                              "line": 8,
                              "column": 22
                            },
                            "end": {
                              "line": 8,
                              "column": 28
                            }
                          },
                          "name": "canvas"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 294,
                      "end": 377,
                      "loc": {
                        "start": {
                          "line": 9,
                          "column": 8
                        },
                        "end": {
                          "line": 9,
                          "column": 91
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 294,
                        "end": 376,
                        "loc": {
                          "start": {
                            "line": 9,
                            "column": 8
                          },
                          "end": {
                            "line": 9,
                            "column": 90
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 294,
                          "end": 309,
                          "loc": {
                            "start": {
                              "line": 9,
                              "column": 8
                            },
                            "end": {
                              "line": 9,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 294,
                            "end": 298,
                            "loc": {
                              "start": {
                                "line": 9,
                                "column": 8
                              },
                              "end": {
                                "line": 9,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 299,
                            "end": 309,
                            "loc": {
                              "start": {
                                "line": 9,
                                "column": 13
                              },
                              "end": {
                                "line": 9,
                                "column": 23
                              }
                            },
                            "name": "resolution"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "LogicalExpression",
                          "start": 312,
                          "end": 376,
                          "loc": {
                            "start": {
                              "line": 9,
                              "column": 26
                            },
                            "end": {
                              "line": 9,
                              "column": 90
                            }
                          },
                          "left": {
                            "type": "LogicalExpression",
                            "start": 312,
                            "end": 371,
                            "loc": {
                              "start": {
                                "line": 9,
                                "column": 26
                              },
                              "end": {
                                "line": 9,
                                "column": 85
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 312,
                              "end": 330,
                              "loc": {
                                "start": {
                                  "line": 9,
                                  "column": 26
                                },
                                "end": {
                                  "line": 9,
                                  "column": 44
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 312,
                                "end": 319,
                                "loc": {
                                  "start": {
                                    "line": 9,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 9,
                                    "column": 33
                                  }
                                },
                                "name": "options"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 320,
                                "end": 330,
                                "loc": {
                                  "start": {
                                    "line": 9,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 9,
                                    "column": 44
                                  }
                                },
                                "name": "resolution"
                              },
                              "computed": false
                            },
                            "operator": "||",
                            "right": {
                              "type": "CallExpression",
                              "start": 334,
                              "end": 371,
                              "loc": {
                                "start": {
                                  "line": 9,
                                  "column": 48
                                },
                                "end": {
                                  "line": 9,
                                  "column": 85
                                }
                              },
                              "callee": {
                                "type": "Identifier",
                                "start": 334,
                                "end": 344,
                                "loc": {
                                  "start": {
                                    "line": 9,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 9,
                                    "column": 58
                                  }
                                },
                                "name": "parseFloat"
                              },
                              "arguments": [
                                {
                                  "type": "CallExpression",
                                  "start": 345,
                                  "end": 370,
                                  "loc": {
                                    "start": {
                                      "line": 9,
                                      "column": 59
                                    },
                                    "end": {
                                      "line": 9,
                                      "column": 84
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 345,
                                    "end": 356,
                                    "loc": {
                                      "start": {
                                        "line": 9,
                                        "column": 59
                                      },
                                      "end": {
                                        "line": 9,
                                        "column": 70
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 345,
                                      "end": 352,
                                      "loc": {
                                        "start": {
                                          "line": 9,
                                          "column": 59
                                        },
                                        "end": {
                                          "line": 9,
                                          "column": 66
                                        }
                                      },
                                      "name": "Helpers"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 353,
                                      "end": 356,
                                      "loc": {
                                        "start": {
                                          "line": 9,
                                          "column": 67
                                        },
                                        "end": {
                                          "line": 9,
                                          "column": 70
                                        }
                                      },
                                      "name": "url"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Literal",
                                      "start": 357,
                                      "end": 369,
                                      "loc": {
                                        "start": {
                                          "line": 9,
                                          "column": 71
                                        },
                                        "end": {
                                          "line": 9,
                                          "column": 83
                                        }
                                      },
                                      "value": "resolution",
                                      "rawValue": "resolution",
                                      "raw": "'resolution'"
                                    }
                                  ]
                                }
                              ]
                            }
                          },
                          "operator": "||",
                          "right": {
                            "type": "Literal",
                            "start": 375,
                            "end": 376,
                            "loc": {
                              "start": {
                                "line": 9,
                                "column": 89
                              },
                              "end": {
                                "line": 9,
                                "column": 90
                              }
                            },
                            "value": 1,
                            "rawValue": 1,
                            "raw": "1"
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 386,
                      "end": 445,
                      "loc": {
                        "start": {
                          "line": 10,
                          "column": 8
                        },
                        "end": {
                          "line": 10,
                          "column": 67
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 386,
                        "end": 444,
                        "loc": {
                          "start": {
                            "line": 10,
                            "column": 8
                          },
                          "end": {
                            "line": 10,
                            "column": 66
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 386,
                          "end": 401,
                          "loc": {
                            "start": {
                              "line": 10,
                              "column": 8
                            },
                            "end": {
                              "line": 10,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 386,
                            "end": 390,
                            "loc": {
                              "start": {
                                "line": 10,
                                "column": 8
                              },
                              "end": {
                                "line": 10,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 391,
                            "end": 401,
                            "loc": {
                              "start": {
                                "line": 10,
                                "column": 13
                              },
                              "end": {
                                "line": 10,
                                "column": 23
                              }
                            },
                            "name": "clearColor"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "LogicalExpression",
                          "start": 404,
                          "end": 444,
                          "loc": {
                            "start": {
                              "line": 10,
                              "column": 26
                            },
                            "end": {
                              "line": 10,
                              "column": 66
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 404,
                            "end": 422,
                            "loc": {
                              "start": {
                                "line": 10,
                                "column": 26
                              },
                              "end": {
                                "line": 10,
                                "column": 44
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 404,
                              "end": 411,
                              "loc": {
                                "start": {
                                  "line": 10,
                                  "column": 26
                                },
                                "end": {
                                  "line": 10,
                                  "column": 33
                                }
                              },
                              "name": "options"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 412,
                              "end": 422,
                              "loc": {
                                "start": {
                                  "line": 10,
                                  "column": 34
                                },
                                "end": {
                                  "line": 10,
                                  "column": 44
                                }
                              },
                              "name": "clearColor"
                            },
                            "computed": false
                          },
                          "operator": "||",
                          "right": {
                            "type": "NewExpression",
                            "start": 426,
                            "end": 444,
                            "loc": {
                              "start": {
                                "line": 10,
                                "column": 48
                              },
                              "end": {
                                "line": 10,
                                "column": 66
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 430,
                              "end": 441,
                              "loc": {
                                "start": {
                                  "line": 10,
                                  "column": 52
                                },
                                "end": {
                                  "line": 10,
                                  "column": 63
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 430,
                                "end": 435,
                                "loc": {
                                  "start": {
                                    "line": 10,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 10,
                                    "column": 57
                                  }
                                },
                                "name": "THREE"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 436,
                                "end": 441,
                                "loc": {
                                  "start": {
                                    "line": 10,
                                    "column": 58
                                  },
                                  "end": {
                                    "line": 10,
                                    "column": 63
                                  }
                                },
                                "name": "Color"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Literal",
                                "start": 442,
                                "end": 443,
                                "loc": {
                                  "start": {
                                    "line": 10,
                                    "column": 64
                                  },
                                  "end": {
                                    "line": 10,
                                    "column": 65
                                  }
                                },
                                "value": 0,
                                "rawValue": 0,
                                "raw": "0"
                              }
                            ]
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 454,
                      "end": 492,
                      "loc": {
                        "start": {
                          "line": 11,
                          "column": 8
                        },
                        "end": {
                          "line": 11,
                          "column": 46
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 454,
                        "end": 491,
                        "loc": {
                          "start": {
                            "line": 11,
                            "column": 8
                          },
                          "end": {
                            "line": 11,
                            "column": 45
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 454,
                          "end": 464,
                          "loc": {
                            "start": {
                              "line": 11,
                              "column": 8
                            },
                            "end": {
                              "line": 11,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 454,
                            "end": 458,
                            "loc": {
                              "start": {
                                "line": 11,
                                "column": 8
                              },
                              "end": {
                                "line": 11,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 459,
                            "end": 464,
                            "loc": {
                              "start": {
                                "line": 11,
                                "column": 13
                              },
                              "end": {
                                "line": 11,
                                "column": 18
                              }
                            },
                            "name": "place"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "LogicalExpression",
                          "start": 467,
                          "end": 491,
                          "loc": {
                            "start": {
                              "line": 11,
                              "column": 21
                            },
                            "end": {
                              "line": 11,
                              "column": 45
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 467,
                            "end": 480,
                            "loc": {
                              "start": {
                                "line": 11,
                                "column": 21
                              },
                              "end": {
                                "line": 11,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 467,
                              "end": 474,
                              "loc": {
                                "start": {
                                  "line": 11,
                                  "column": 21
                                },
                                "end": {
                                  "line": 11,
                                  "column": 28
                                }
                              },
                              "name": "options"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 475,
                              "end": 480,
                              "loc": {
                                "start": {
                                  "line": 11,
                                  "column": 29
                                },
                                "end": {
                                  "line": 11,
                                  "column": 34
                                }
                              },
                              "name": "place"
                            },
                            "computed": false
                          },
                          "operator": "||",
                          "right": {
                            "type": "Literal",
                            "start": 484,
                            "end": 491,
                            "loc": {
                              "start": {
                                "line": 11,
                                "column": 38
                              },
                              "end": {
                                "line": 11,
                                "column": 45
                              }
                            },
                            "value": "first",
                            "rawValue": "first",
                            "raw": "'first'"
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 501,
                      "end": 607,
                      "loc": {
                        "start": {
                          "line": 12,
                          "column": 8
                        },
                        "end": {
                          "line": 12,
                          "column": 114
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 501,
                        "end": 606,
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 8
                          },
                          "end": {
                            "line": 12,
                            "column": 113
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 501,
                          "end": 522,
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 8
                            },
                            "end": {
                              "line": 12,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 501,
                            "end": 505,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 8
                              },
                              "end": {
                                "line": 12,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 506,
                            "end": 522,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 13
                              },
                              "end": {
                                "line": 12,
                                "column": 29
                              }
                            },
                            "name": "startImmediately"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "ConditionalExpression",
                          "start": 525,
                          "end": 606,
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 32
                            },
                            "end": {
                              "line": 12,
                              "column": 113
                            }
                          },
                          "test": {
                            "type": "BinaryExpression",
                            "start": 525,
                            "end": 572,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 32
                              },
                              "end": {
                                "line": 12,
                                "column": 79
                              }
                            },
                            "left": {
                              "type": "UnaryExpression",
                              "start": 525,
                              "end": 556,
                              "loc": {
                                "start": {
                                  "line": 12,
                                  "column": 32
                                },
                                "end": {
                                  "line": 12,
                                  "column": 63
                                }
                              },
                              "operator": "typeof",
                              "prefix": true,
                              "argument": {
                                "type": "MemberExpression",
                                "start": 532,
                                "end": 556,
                                "loc": {
                                  "start": {
                                    "line": 12,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 12,
                                    "column": 63
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 532,
                                  "end": 539,
                                  "loc": {
                                    "start": {
                                      "line": 12,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 12,
                                      "column": 46
                                    }
                                  },
                                  "name": "options"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 540,
                                  "end": 556,
                                  "loc": {
                                    "start": {
                                      "line": 12,
                                      "column": 47
                                    },
                                    "end": {
                                      "line": 12,
                                      "column": 63
                                    }
                                  },
                                  "name": "startImmediately"
                                },
                                "computed": false
                              }
                            },
                            "operator": "!==",
                            "right": {
                              "type": "Literal",
                              "start": 561,
                              "end": 572,
                              "loc": {
                                "start": {
                                  "line": 12,
                                  "column": 68
                                },
                                "end": {
                                  "line": 12,
                                  "column": 79
                                }
                              },
                              "value": "undefined",
                              "rawValue": "undefined",
                              "raw": "'undefined'"
                            }
                          },
                          "consequent": {
                            "type": "MemberExpression",
                            "start": 575,
                            "end": 599,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 82
                              },
                              "end": {
                                "line": 12,
                                "column": 106
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 575,
                              "end": 582,
                              "loc": {
                                "start": {
                                  "line": 12,
                                  "column": 82
                                },
                                "end": {
                                  "line": 12,
                                  "column": 89
                                }
                              },
                              "name": "options"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 583,
                              "end": 599,
                              "loc": {
                                "start": {
                                  "line": 12,
                                  "column": 90
                                },
                                "end": {
                                  "line": 12,
                                  "column": 106
                                }
                              },
                              "name": "startImmediately"
                            },
                            "computed": false
                          },
                          "alternate": {
                            "type": "Literal",
                            "start": 602,
                            "end": 606,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 109
                              },
                              "end": {
                                "line": 12,
                                "column": 113
                              }
                            },
                            "value": true,
                            "rawValue": true,
                            "raw": "true"
                          }
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 617,
                      "end": 1433,
                      "loc": {
                        "start": {
                          "line": 14,
                          "column": 8
                        },
                        "end": {
                          "line": 23,
                          "column": 11
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 617,
                        "end": 1432,
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 8
                          },
                          "end": {
                            "line": 23,
                            "column": 10
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 617,
                          "end": 624,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 8
                            },
                            "end": {
                              "line": 14,
                              "column": 15
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 617,
                            "end": 621,
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 8
                              },
                              "end": {
                                "line": 14,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 622,
                            "end": 624,
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 13
                              },
                              "end": {
                                "line": 14,
                                "column": 15
                              }
                            },
                            "name": "gl"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 627,
                          "end": 1432,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 18
                            },
                            "end": {
                              "line": 23,
                              "column": 10
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 631,
                            "end": 650,
                            "loc": {
                              "start": {
                                "line": 14,
                                "column": 22
                              },
                              "end": {
                                "line": 14,
                                "column": 41
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 631,
                              "end": 636,
                              "loc": {
                                "start": {
                                  "line": 14,
                                  "column": 22
                                },
                                "end": {
                                  "line": 14,
                                  "column": 27
                                }
                              },
                              "name": "THREE"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 637,
                              "end": 650,
                              "loc": {
                                "start": {
                                  "line": 14,
                                  "column": 28
                                },
                                "end": {
                                  "line": 14,
                                  "column": 41
                                }
                              },
                              "name": "WebGLRenderer"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ObjectExpression",
                              "start": 651,
                              "end": 1431,
                              "loc": {
                                "start": {
                                  "line": 14,
                                  "column": 42
                                },
                                "end": {
                                  "line": 23,
                                  "column": 9
                                }
                              },
                              "properties": [
                                {
                                  "type": "Property",
                                  "start": 665,
                                  "end": 704,
                                  "loc": {
                                    "start": {
                                      "line": 15,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 15,
                                      "column": 51
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 665,
                                    "end": 674,
                                    "loc": {
                                      "start": {
                                        "line": 15,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 15,
                                        "column": 21
                                      }
                                    },
                                    "name": "precision"
                                  },
                                  "value": {
                                    "type": "LogicalExpression",
                                    "start": 676,
                                    "end": 704,
                                    "loc": {
                                      "start": {
                                        "line": 15,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 15,
                                        "column": 51
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 676,
                                      "end": 693,
                                      "loc": {
                                        "start": {
                                          "line": 15,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 15,
                                          "column": 40
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 676,
                                        "end": 683,
                                        "loc": {
                                          "start": {
                                            "line": 15,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 15,
                                            "column": 30
                                          }
                                        },
                                        "name": "options"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 684,
                                        "end": 693,
                                        "loc": {
                                          "start": {
                                            "line": 15,
                                            "column": 31
                                          },
                                          "end": {
                                            "line": 15,
                                            "column": 40
                                          }
                                        },
                                        "name": "precision"
                                      },
                                      "computed": false
                                    },
                                    "operator": "||",
                                    "right": {
                                      "type": "Literal",
                                      "start": 697,
                                      "end": 704,
                                      "loc": {
                                        "start": {
                                          "line": 15,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 15,
                                          "column": 51
                                        }
                                      },
                                      "value": "highp",
                                      "rawValue": "highp",
                                      "raw": "'highp'"
                                    }
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 718,
                                  "end": 823,
                                  "loc": {
                                    "start": {
                                      "line": 16,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 16,
                                      "column": 117
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 718,
                                    "end": 736,
                                    "loc": {
                                      "start": {
                                        "line": 16,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 16,
                                        "column": 30
                                      }
                                    },
                                    "name": "premultipliedAlpha"
                                  },
                                  "value": {
                                    "type": "ConditionalExpression",
                                    "start": 738,
                                    "end": 823,
                                    "loc": {
                                      "start": {
                                        "line": 16,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 16,
                                        "column": 117
                                      }
                                    },
                                    "test": {
                                      "type": "BinaryExpression",
                                      "start": 738,
                                      "end": 787,
                                      "loc": {
                                        "start": {
                                          "line": 16,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 16,
                                          "column": 81
                                        }
                                      },
                                      "left": {
                                        "type": "UnaryExpression",
                                        "start": 738,
                                        "end": 771,
                                        "loc": {
                                          "start": {
                                            "line": 16,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 16,
                                            "column": 65
                                          }
                                        },
                                        "operator": "typeof",
                                        "prefix": true,
                                        "argument": {
                                          "type": "MemberExpression",
                                          "start": 745,
                                          "end": 771,
                                          "loc": {
                                            "start": {
                                              "line": 16,
                                              "column": 39
                                            },
                                            "end": {
                                              "line": 16,
                                              "column": 65
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 745,
                                            "end": 752,
                                            "loc": {
                                              "start": {
                                                "line": 16,
                                                "column": 39
                                              },
                                              "end": {
                                                "line": 16,
                                                "column": 46
                                              }
                                            },
                                            "name": "options"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 753,
                                            "end": 771,
                                            "loc": {
                                              "start": {
                                                "line": 16,
                                                "column": 47
                                              },
                                              "end": {
                                                "line": 16,
                                                "column": 65
                                              }
                                            },
                                            "name": "premultipliedAlpha"
                                          },
                                          "computed": false
                                        }
                                      },
                                      "operator": "!==",
                                      "right": {
                                        "type": "Literal",
                                        "start": 776,
                                        "end": 787,
                                        "loc": {
                                          "start": {
                                            "line": 16,
                                            "column": 70
                                          },
                                          "end": {
                                            "line": 16,
                                            "column": 81
                                          }
                                        },
                                        "value": "undefined",
                                        "rawValue": "undefined",
                                        "raw": "'undefined'"
                                      }
                                    },
                                    "consequent": {
                                      "type": "MemberExpression",
                                      "start": 790,
                                      "end": 816,
                                      "loc": {
                                        "start": {
                                          "line": 16,
                                          "column": 84
                                        },
                                        "end": {
                                          "line": 16,
                                          "column": 110
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 790,
                                        "end": 797,
                                        "loc": {
                                          "start": {
                                            "line": 16,
                                            "column": 84
                                          },
                                          "end": {
                                            "line": 16,
                                            "column": 91
                                          }
                                        },
                                        "name": "options"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 798,
                                        "end": 816,
                                        "loc": {
                                          "start": {
                                            "line": 16,
                                            "column": 92
                                          },
                                          "end": {
                                            "line": 16,
                                            "column": 110
                                          }
                                        },
                                        "name": "premultipliedAlpha"
                                      },
                                      "computed": false
                                    },
                                    "alternate": {
                                      "type": "Literal",
                                      "start": 819,
                                      "end": 823,
                                      "loc": {
                                        "start": {
                                          "line": 16,
                                          "column": 113
                                        },
                                        "end": {
                                          "line": 16,
                                          "column": 117
                                        }
                                      },
                                      "value": true,
                                      "rawValue": true,
                                      "raw": "true"
                                    }
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 837,
                                  "end": 909,
                                  "loc": {
                                    "start": {
                                      "line": 17,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 17,
                                      "column": 84
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 837,
                                    "end": 844,
                                    "loc": {
                                      "start": {
                                        "line": 17,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 17,
                                        "column": 19
                                      }
                                    },
                                    "name": "stencil"
                                  },
                                  "value": {
                                    "type": "ConditionalExpression",
                                    "start": 846,
                                    "end": 909,
                                    "loc": {
                                      "start": {
                                        "line": 17,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 17,
                                        "column": 84
                                      }
                                    },
                                    "test": {
                                      "type": "BinaryExpression",
                                      "start": 846,
                                      "end": 884,
                                      "loc": {
                                        "start": {
                                          "line": 17,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 17,
                                          "column": 59
                                        }
                                      },
                                      "left": {
                                        "type": "UnaryExpression",
                                        "start": 846,
                                        "end": 868,
                                        "loc": {
                                          "start": {
                                            "line": 17,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 17,
                                            "column": 43
                                          }
                                        },
                                        "operator": "typeof",
                                        "prefix": true,
                                        "argument": {
                                          "type": "MemberExpression",
                                          "start": 853,
                                          "end": 868,
                                          "loc": {
                                            "start": {
                                              "line": 17,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 17,
                                              "column": 43
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 853,
                                            "end": 860,
                                            "loc": {
                                              "start": {
                                                "line": 17,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 17,
                                                "column": 35
                                              }
                                            },
                                            "name": "options"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 861,
                                            "end": 868,
                                            "loc": {
                                              "start": {
                                                "line": 17,
                                                "column": 36
                                              },
                                              "end": {
                                                "line": 17,
                                                "column": 43
                                              }
                                            },
                                            "name": "stencil"
                                          },
                                          "computed": false
                                        }
                                      },
                                      "operator": "!==",
                                      "right": {
                                        "type": "Literal",
                                        "start": 873,
                                        "end": 884,
                                        "loc": {
                                          "start": {
                                            "line": 17,
                                            "column": 48
                                          },
                                          "end": {
                                            "line": 17,
                                            "column": 59
                                          }
                                        },
                                        "value": "undefined",
                                        "rawValue": "undefined",
                                        "raw": "'undefined'"
                                      }
                                    },
                                    "consequent": {
                                      "type": "MemberExpression",
                                      "start": 887,
                                      "end": 902,
                                      "loc": {
                                        "start": {
                                          "line": 17,
                                          "column": 62
                                        },
                                        "end": {
                                          "line": 17,
                                          "column": 77
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 887,
                                        "end": 894,
                                        "loc": {
                                          "start": {
                                            "line": 17,
                                            "column": 62
                                          },
                                          "end": {
                                            "line": 17,
                                            "column": 69
                                          }
                                        },
                                        "name": "options"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 895,
                                        "end": 902,
                                        "loc": {
                                          "start": {
                                            "line": 17,
                                            "column": 70
                                          },
                                          "end": {
                                            "line": 17,
                                            "column": 77
                                          }
                                        },
                                        "name": "stencil"
                                      },
                                      "computed": false
                                    },
                                    "alternate": {
                                      "type": "Literal",
                                      "start": 905,
                                      "end": 909,
                                      "loc": {
                                        "start": {
                                          "line": 17,
                                          "column": 80
                                        },
                                        "end": {
                                          "line": 17,
                                          "column": 84
                                        }
                                      },
                                      "value": true,
                                      "rawValue": true,
                                      "raw": "true"
                                    }
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 923,
                                  "end": 989,
                                  "loc": {
                                    "start": {
                                      "line": 18,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 18,
                                      "column": 78
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 923,
                                    "end": 928,
                                    "loc": {
                                      "start": {
                                        "line": 18,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 18,
                                        "column": 17
                                      }
                                    },
                                    "name": "depth"
                                  },
                                  "value": {
                                    "type": "ConditionalExpression",
                                    "start": 930,
                                    "end": 989,
                                    "loc": {
                                      "start": {
                                        "line": 18,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 18,
                                        "column": 78
                                      }
                                    },
                                    "test": {
                                      "type": "BinaryExpression",
                                      "start": 930,
                                      "end": 966,
                                      "loc": {
                                        "start": {
                                          "line": 18,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 18,
                                          "column": 55
                                        }
                                      },
                                      "left": {
                                        "type": "UnaryExpression",
                                        "start": 930,
                                        "end": 950,
                                        "loc": {
                                          "start": {
                                            "line": 18,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 18,
                                            "column": 39
                                          }
                                        },
                                        "operator": "typeof",
                                        "prefix": true,
                                        "argument": {
                                          "type": "MemberExpression",
                                          "start": 937,
                                          "end": 950,
                                          "loc": {
                                            "start": {
                                              "line": 18,
                                              "column": 26
                                            },
                                            "end": {
                                              "line": 18,
                                              "column": 39
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 937,
                                            "end": 944,
                                            "loc": {
                                              "start": {
                                                "line": 18,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 18,
                                                "column": 33
                                              }
                                            },
                                            "name": "options"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 945,
                                            "end": 950,
                                            "loc": {
                                              "start": {
                                                "line": 18,
                                                "column": 34
                                              },
                                              "end": {
                                                "line": 18,
                                                "column": 39
                                              }
                                            },
                                            "name": "depth"
                                          },
                                          "computed": false
                                        }
                                      },
                                      "operator": "!==",
                                      "right": {
                                        "type": "Literal",
                                        "start": 955,
                                        "end": 966,
                                        "loc": {
                                          "start": {
                                            "line": 18,
                                            "column": 44
                                          },
                                          "end": {
                                            "line": 18,
                                            "column": 55
                                          }
                                        },
                                        "value": "undefined",
                                        "rawValue": "undefined",
                                        "raw": "'undefined'"
                                      }
                                    },
                                    "consequent": {
                                      "type": "MemberExpression",
                                      "start": 969,
                                      "end": 982,
                                      "loc": {
                                        "start": {
                                          "line": 18,
                                          "column": 58
                                        },
                                        "end": {
                                          "line": 18,
                                          "column": 71
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 969,
                                        "end": 976,
                                        "loc": {
                                          "start": {
                                            "line": 18,
                                            "column": 58
                                          },
                                          "end": {
                                            "line": 18,
                                            "column": 65
                                          }
                                        },
                                        "name": "options"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 977,
                                        "end": 982,
                                        "loc": {
                                          "start": {
                                            "line": 18,
                                            "column": 66
                                          },
                                          "end": {
                                            "line": 18,
                                            "column": 71
                                          }
                                        },
                                        "name": "depth"
                                      },
                                      "computed": false
                                    },
                                    "alternate": {
                                      "type": "Literal",
                                      "start": 985,
                                      "end": 989,
                                      "loc": {
                                        "start": {
                                          "line": 18,
                                          "column": 74
                                        },
                                        "end": {
                                          "line": 18,
                                          "column": 78
                                        }
                                      },
                                      "value": true,
                                      "rawValue": true,
                                      "raw": "true"
                                    }
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 1003,
                                  "end": 1117,
                                  "loc": {
                                    "start": {
                                      "line": 19,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 19,
                                      "column": 126
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 1003,
                                    "end": 1024,
                                    "loc": {
                                      "start": {
                                        "line": 19,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 19,
                                        "column": 33
                                      }
                                    },
                                    "name": "preserveDrawingBuffer"
                                  },
                                  "value": {
                                    "type": "ConditionalExpression",
                                    "start": 1026,
                                    "end": 1117,
                                    "loc": {
                                      "start": {
                                        "line": 19,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 19,
                                        "column": 126
                                      }
                                    },
                                    "test": {
                                      "type": "BinaryExpression",
                                      "start": 1026,
                                      "end": 1078,
                                      "loc": {
                                        "start": {
                                          "line": 19,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 19,
                                          "column": 87
                                        }
                                      },
                                      "left": {
                                        "type": "UnaryExpression",
                                        "start": 1026,
                                        "end": 1062,
                                        "loc": {
                                          "start": {
                                            "line": 19,
                                            "column": 35
                                          },
                                          "end": {
                                            "line": 19,
                                            "column": 71
                                          }
                                        },
                                        "operator": "typeof",
                                        "prefix": true,
                                        "argument": {
                                          "type": "MemberExpression",
                                          "start": 1033,
                                          "end": 1062,
                                          "loc": {
                                            "start": {
                                              "line": 19,
                                              "column": 42
                                            },
                                            "end": {
                                              "line": 19,
                                              "column": 71
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 1033,
                                            "end": 1040,
                                            "loc": {
                                              "start": {
                                                "line": 19,
                                                "column": 42
                                              },
                                              "end": {
                                                "line": 19,
                                                "column": 49
                                              }
                                            },
                                            "name": "options"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 1041,
                                            "end": 1062,
                                            "loc": {
                                              "start": {
                                                "line": 19,
                                                "column": 50
                                              },
                                              "end": {
                                                "line": 19,
                                                "column": 71
                                              }
                                            },
                                            "name": "preserveDrawingBuffer"
                                          },
                                          "computed": false
                                        }
                                      },
                                      "operator": "!==",
                                      "right": {
                                        "type": "Literal",
                                        "start": 1067,
                                        "end": 1078,
                                        "loc": {
                                          "start": {
                                            "line": 19,
                                            "column": 76
                                          },
                                          "end": {
                                            "line": 19,
                                            "column": 87
                                          }
                                        },
                                        "value": "undefined",
                                        "rawValue": "undefined",
                                        "raw": "'undefined'"
                                      }
                                    },
                                    "consequent": {
                                      "type": "MemberExpression",
                                      "start": 1081,
                                      "end": 1110,
                                      "loc": {
                                        "start": {
                                          "line": 19,
                                          "column": 90
                                        },
                                        "end": {
                                          "line": 19,
                                          "column": 119
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 1081,
                                        "end": 1088,
                                        "loc": {
                                          "start": {
                                            "line": 19,
                                            "column": 90
                                          },
                                          "end": {
                                            "line": 19,
                                            "column": 97
                                          }
                                        },
                                        "name": "options"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1089,
                                        "end": 1110,
                                        "loc": {
                                          "start": {
                                            "line": 19,
                                            "column": 98
                                          },
                                          "end": {
                                            "line": 19,
                                            "column": 119
                                          }
                                        },
                                        "name": "preserveDrawingBuffer"
                                      },
                                      "computed": false
                                    },
                                    "alternate": {
                                      "type": "Literal",
                                      "start": 1113,
                                      "end": 1117,
                                      "loc": {
                                        "start": {
                                          "line": 19,
                                          "column": 122
                                        },
                                        "end": {
                                          "line": 19,
                                          "column": 126
                                        }
                                      },
                                      "value": true,
                                      "rawValue": true,
                                      "raw": "true"
                                    }
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 1131,
                                  "end": 1197,
                                  "loc": {
                                    "start": {
                                      "line": 20,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 20,
                                      "column": 78
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 1131,
                                    "end": 1136,
                                    "loc": {
                                      "start": {
                                        "line": 20,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 20,
                                        "column": 17
                                      }
                                    },
                                    "name": "alpha"
                                  },
                                  "value": {
                                    "type": "ConditionalExpression",
                                    "start": 1138,
                                    "end": 1197,
                                    "loc": {
                                      "start": {
                                        "line": 20,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 20,
                                        "column": 78
                                      }
                                    },
                                    "test": {
                                      "type": "BinaryExpression",
                                      "start": 1138,
                                      "end": 1174,
                                      "loc": {
                                        "start": {
                                          "line": 20,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 20,
                                          "column": 55
                                        }
                                      },
                                      "left": {
                                        "type": "UnaryExpression",
                                        "start": 1138,
                                        "end": 1158,
                                        "loc": {
                                          "start": {
                                            "line": 20,
                                            "column": 19
                                          },
                                          "end": {
                                            "line": 20,
                                            "column": 39
                                          }
                                        },
                                        "operator": "typeof",
                                        "prefix": true,
                                        "argument": {
                                          "type": "MemberExpression",
                                          "start": 1145,
                                          "end": 1158,
                                          "loc": {
                                            "start": {
                                              "line": 20,
                                              "column": 26
                                            },
                                            "end": {
                                              "line": 20,
                                              "column": 39
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 1145,
                                            "end": 1152,
                                            "loc": {
                                              "start": {
                                                "line": 20,
                                                "column": 26
                                              },
                                              "end": {
                                                "line": 20,
                                                "column": 33
                                              }
                                            },
                                            "name": "options"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 1153,
                                            "end": 1158,
                                            "loc": {
                                              "start": {
                                                "line": 20,
                                                "column": 34
                                              },
                                              "end": {
                                                "line": 20,
                                                "column": 39
                                              }
                                            },
                                            "name": "alpha"
                                          },
                                          "computed": false
                                        }
                                      },
                                      "operator": "!==",
                                      "right": {
                                        "type": "Literal",
                                        "start": 1163,
                                        "end": 1174,
                                        "loc": {
                                          "start": {
                                            "line": 20,
                                            "column": 44
                                          },
                                          "end": {
                                            "line": 20,
                                            "column": 55
                                          }
                                        },
                                        "value": "undefined",
                                        "rawValue": "undefined",
                                        "raw": "'undefined'"
                                      }
                                    },
                                    "consequent": {
                                      "type": "MemberExpression",
                                      "start": 1177,
                                      "end": 1190,
                                      "loc": {
                                        "start": {
                                          "line": 20,
                                          "column": 58
                                        },
                                        "end": {
                                          "line": 20,
                                          "column": 71
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 1177,
                                        "end": 1184,
                                        "loc": {
                                          "start": {
                                            "line": 20,
                                            "column": 58
                                          },
                                          "end": {
                                            "line": 20,
                                            "column": 65
                                          }
                                        },
                                        "name": "options"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1185,
                                        "end": 1190,
                                        "loc": {
                                          "start": {
                                            "line": 20,
                                            "column": 66
                                          },
                                          "end": {
                                            "line": 20,
                                            "column": 71
                                          }
                                        },
                                        "name": "alpha"
                                      },
                                      "computed": false
                                    },
                                    "alternate": {
                                      "type": "Literal",
                                      "start": 1193,
                                      "end": 1197,
                                      "loc": {
                                        "start": {
                                          "line": 20,
                                          "column": 74
                                        },
                                        "end": {
                                          "line": 20,
                                          "column": 78
                                        }
                                      },
                                      "value": true,
                                      "rawValue": true,
                                      "raw": "true"
                                    }
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 1211,
                                  "end": 1289,
                                  "loc": {
                                    "start": {
                                      "line": 21,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 21,
                                      "column": 90
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 1211,
                                    "end": 1220,
                                    "loc": {
                                      "start": {
                                        "line": 21,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 21,
                                        "column": 21
                                      }
                                    },
                                    "name": "antialias"
                                  },
                                  "value": {
                                    "type": "ConditionalExpression",
                                    "start": 1222,
                                    "end": 1289,
                                    "loc": {
                                      "start": {
                                        "line": 21,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 21,
                                        "column": 90
                                      }
                                    },
                                    "test": {
                                      "type": "BinaryExpression",
                                      "start": 1222,
                                      "end": 1262,
                                      "loc": {
                                        "start": {
                                          "line": 21,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 21,
                                          "column": 63
                                        }
                                      },
                                      "left": {
                                        "type": "UnaryExpression",
                                        "start": 1222,
                                        "end": 1246,
                                        "loc": {
                                          "start": {
                                            "line": 21,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 21,
                                            "column": 47
                                          }
                                        },
                                        "operator": "typeof",
                                        "prefix": true,
                                        "argument": {
                                          "type": "MemberExpression",
                                          "start": 1229,
                                          "end": 1246,
                                          "loc": {
                                            "start": {
                                              "line": 21,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 21,
                                              "column": 47
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 1229,
                                            "end": 1236,
                                            "loc": {
                                              "start": {
                                                "line": 21,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 21,
                                                "column": 37
                                              }
                                            },
                                            "name": "options"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 1237,
                                            "end": 1246,
                                            "loc": {
                                              "start": {
                                                "line": 21,
                                                "column": 38
                                              },
                                              "end": {
                                                "line": 21,
                                                "column": 47
                                              }
                                            },
                                            "name": "antialias"
                                          },
                                          "computed": false
                                        }
                                      },
                                      "operator": "!==",
                                      "right": {
                                        "type": "Literal",
                                        "start": 1251,
                                        "end": 1262,
                                        "loc": {
                                          "start": {
                                            "line": 21,
                                            "column": 52
                                          },
                                          "end": {
                                            "line": 21,
                                            "column": 63
                                          }
                                        },
                                        "value": "undefined",
                                        "rawValue": "undefined",
                                        "raw": "'undefined'"
                                      }
                                    },
                                    "consequent": {
                                      "type": "MemberExpression",
                                      "start": 1265,
                                      "end": 1282,
                                      "loc": {
                                        "start": {
                                          "line": 21,
                                          "column": 66
                                        },
                                        "end": {
                                          "line": 21,
                                          "column": 83
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 1265,
                                        "end": 1272,
                                        "loc": {
                                          "start": {
                                            "line": 21,
                                            "column": 66
                                          },
                                          "end": {
                                            "line": 21,
                                            "column": 73
                                          }
                                        },
                                        "name": "options"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1273,
                                        "end": 1282,
                                        "loc": {
                                          "start": {
                                            "line": 21,
                                            "column": 74
                                          },
                                          "end": {
                                            "line": 21,
                                            "column": 83
                                          }
                                        },
                                        "name": "antialias"
                                      },
                                      "computed": false
                                    },
                                    "alternate": {
                                      "type": "Literal",
                                      "start": 1285,
                                      "end": 1289,
                                      "loc": {
                                        "start": {
                                          "line": 21,
                                          "column": 86
                                        },
                                        "end": {
                                          "line": 21,
                                          "column": 90
                                        }
                                      },
                                      "value": true,
                                      "rawValue": true,
                                      "raw": "true"
                                    }
                                  },
                                  "kind": "init"
                                },
                                {
                                  "type": "Property",
                                  "start": 1303,
                                  "end": 1421,
                                  "loc": {
                                    "start": {
                                      "line": 22,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 22,
                                      "column": 130
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 1303,
                                    "end": 1325,
                                    "loc": {
                                      "start": {
                                        "line": 22,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 22,
                                        "column": 34
                                      }
                                    },
                                    "name": "logarithmicDepthBuffer"
                                  },
                                  "value": {
                                    "type": "ConditionalExpression",
                                    "start": 1327,
                                    "end": 1421,
                                    "loc": {
                                      "start": {
                                        "line": 22,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 22,
                                        "column": 130
                                      }
                                    },
                                    "test": {
                                      "type": "BinaryExpression",
                                      "start": 1327,
                                      "end": 1380,
                                      "loc": {
                                        "start": {
                                          "line": 22,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 22,
                                          "column": 89
                                        }
                                      },
                                      "left": {
                                        "type": "UnaryExpression",
                                        "start": 1327,
                                        "end": 1364,
                                        "loc": {
                                          "start": {
                                            "line": 22,
                                            "column": 36
                                          },
                                          "end": {
                                            "line": 22,
                                            "column": 73
                                          }
                                        },
                                        "operator": "typeof",
                                        "prefix": true,
                                        "argument": {
                                          "type": "MemberExpression",
                                          "start": 1334,
                                          "end": 1364,
                                          "loc": {
                                            "start": {
                                              "line": 22,
                                              "column": 43
                                            },
                                            "end": {
                                              "line": 22,
                                              "column": 73
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 1334,
                                            "end": 1341,
                                            "loc": {
                                              "start": {
                                                "line": 22,
                                                "column": 43
                                              },
                                              "end": {
                                                "line": 22,
                                                "column": 50
                                              }
                                            },
                                            "name": "options"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 1342,
                                            "end": 1364,
                                            "loc": {
                                              "start": {
                                                "line": 22,
                                                "column": 51
                                              },
                                              "end": {
                                                "line": 22,
                                                "column": 73
                                              }
                                            },
                                            "name": "logarithmicDepthBuffer"
                                          },
                                          "computed": false
                                        }
                                      },
                                      "operator": "!==",
                                      "right": {
                                        "type": "Literal",
                                        "start": 1369,
                                        "end": 1380,
                                        "loc": {
                                          "start": {
                                            "line": 22,
                                            "column": 78
                                          },
                                          "end": {
                                            "line": 22,
                                            "column": 89
                                          }
                                        },
                                        "value": "undefined",
                                        "rawValue": "undefined",
                                        "raw": "'undefined'"
                                      }
                                    },
                                    "consequent": {
                                      "type": "MemberExpression",
                                      "start": 1383,
                                      "end": 1413,
                                      "loc": {
                                        "start": {
                                          "line": 22,
                                          "column": 92
                                        },
                                        "end": {
                                          "line": 22,
                                          "column": 122
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 1383,
                                        "end": 1390,
                                        "loc": {
                                          "start": {
                                            "line": 22,
                                            "column": 92
                                          },
                                          "end": {
                                            "line": 22,
                                            "column": 99
                                          }
                                        },
                                        "name": "options"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1391,
                                        "end": 1413,
                                        "loc": {
                                          "start": {
                                            "line": 22,
                                            "column": 100
                                          },
                                          "end": {
                                            "line": 22,
                                            "column": 122
                                          }
                                        },
                                        "name": "logarithmicDepthBuffer"
                                      },
                                      "computed": false
                                    },
                                    "alternate": {
                                      "type": "Literal",
                                      "start": 1416,
                                      "end": 1421,
                                      "loc": {
                                        "start": {
                                          "line": 22,
                                          "column": 125
                                        },
                                        "end": {
                                          "line": 22,
                                          "column": 130
                                        }
                                      },
                                      "value": false,
                                      "rawValue": false,
                                      "raw": "false"
                                    }
                                  },
                                  "kind": "init"
                                }
                              ]
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1443,
                      "end": 1477,
                      "loc": {
                        "start": {
                          "line": 25,
                          "column": 8
                        },
                        "end": {
                          "line": 25,
                          "column": 42
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1443,
                        "end": 1476,
                        "loc": {
                          "start": {
                            "line": 25,
                            "column": 8
                          },
                          "end": {
                            "line": 25,
                            "column": 41
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1443,
                          "end": 1455,
                          "loc": {
                            "start": {
                              "line": 25,
                              "column": 8
                            },
                            "end": {
                              "line": 25,
                              "column": 20
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 1443,
                            "end": 1447,
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 8
                              },
                              "end": {
                                "line": 25,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1448,
                            "end": 1455,
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 13
                              },
                              "end": {
                                "line": 25,
                                "column": 20
                              }
                            },
                            "name": "context"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 1458,
                          "end": 1476,
                          "loc": {
                            "start": {
                              "line": 25,
                              "column": 23
                            },
                            "end": {
                              "line": 25,
                              "column": 41
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1458,
                            "end": 1465,
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 23
                              },
                              "end": {
                                "line": 25,
                                "column": 30
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1458,
                              "end": 1462,
                              "loc": {
                                "start": {
                                  "line": 25,
                                  "column": 23
                                },
                                "end": {
                                  "line": 25,
                                  "column": 27
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1463,
                              "end": 1465,
                              "loc": {
                                "start": {
                                  "line": 25,
                                  "column": 28
                                },
                                "end": {
                                  "line": 25,
                                  "column": 30
                                }
                              },
                              "name": "gl"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1466,
                            "end": 1476,
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 31
                              },
                              "end": {
                                "line": 25,
                                "column": 41
                              }
                            },
                            "name": "domElement"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1486,
                      "end": 1610,
                      "loc": {
                        "start": {
                          "line": 26,
                          "column": 8
                        },
                        "end": {
                          "line": 26,
                          "column": 132
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1486,
                        "end": 1609,
                        "loc": {
                          "start": {
                            "line": 26,
                            "column": 8
                          },
                          "end": {
                            "line": 26,
                            "column": 131
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1486,
                          "end": 1511,
                          "loc": {
                            "start": {
                              "line": 26,
                              "column": 8
                            },
                            "end": {
                              "line": 26,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1486,
                            "end": 1498,
                            "loc": {
                              "start": {
                                "line": 26,
                                "column": 8
                              },
                              "end": {
                                "line": 26,
                                "column": 20
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1486,
                              "end": 1490,
                              "loc": {
                                "start": {
                                  "line": 26,
                                  "column": 8
                                },
                                "end": {
                                  "line": 26,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1491,
                              "end": 1498,
                              "loc": {
                                "start": {
                                  "line": 26,
                                  "column": 13
                                },
                                "end": {
                                  "line": 26,
                                  "column": 20
                                }
                              },
                              "name": "context"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1499,
                            "end": 1511,
                            "loc": {
                              "start": {
                                "line": 26,
                                "column": 21
                              },
                              "end": {
                                "line": 26,
                                "column": 33
                              }
                            },
                            "name": "setAttribute"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 1512,
                            "end": 1519,
                            "loc": {
                              "start": {
                                "line": 26,
                                "column": 34
                              },
                              "end": {
                                "line": 26,
                                "column": 41
                              }
                            },
                            "value": "style",
                            "rawValue": "style",
                            "raw": "'style'"
                          },
                          {
                            "type": "Literal",
                            "start": 1521,
                            "end": 1608,
                            "loc": {
                              "start": {
                                "line": 26,
                                "column": 43
                              },
                              "end": {
                                "line": 26,
                                "column": 130
                              }
                            },
                            "value": "position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none;",
                            "rawValue": "position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none;",
                            "raw": "'position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none;'"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1619,
                      "end": 1646,
                      "loc": {
                        "start": {
                          "line": 27,
                          "column": 8
                        },
                        "end": {
                          "line": 27,
                          "column": 35
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1619,
                        "end": 1645,
                        "loc": {
                          "start": {
                            "line": 27,
                            "column": 8
                          },
                          "end": {
                            "line": 27,
                            "column": 34
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1619,
                          "end": 1638,
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 8
                            },
                            "end": {
                              "line": 27,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1619,
                            "end": 1626,
                            "loc": {
                              "start": {
                                "line": 27,
                                "column": 8
                              },
                              "end": {
                                "line": 27,
                                "column": 15
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1619,
                              "end": 1623,
                              "loc": {
                                "start": {
                                  "line": 27,
                                  "column": 8
                                },
                                "end": {
                                  "line": 27,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1624,
                              "end": 1626,
                              "loc": {
                                "start": {
                                  "line": 27,
                                  "column": 13
                                },
                                "end": {
                                  "line": 27,
                                  "column": 15
                                }
                              },
                              "name": "gl"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1627,
                            "end": 1638,
                            "loc": {
                              "start": {
                                "line": 27,
                                "column": 16
                              },
                              "end": {
                                "line": 27,
                                "column": 27
                              }
                            },
                            "name": "sortObjects"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 1641,
                          "end": 1645,
                          "loc": {
                            "start": {
                              "line": 27,
                              "column": 30
                            },
                            "end": {
                              "line": 27,
                              "column": 34
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1655,
                      "end": 1681,
                      "loc": {
                        "start": {
                          "line": 28,
                          "column": 8
                        },
                        "end": {
                          "line": 28,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1655,
                        "end": 1680,
                        "loc": {
                          "start": {
                            "line": 28,
                            "column": 8
                          },
                          "end": {
                            "line": 28,
                            "column": 33
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1655,
                          "end": 1672,
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 8
                            },
                            "end": {
                              "line": 28,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1655,
                            "end": 1662,
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 8
                              },
                              "end": {
                                "line": 28,
                                "column": 15
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1655,
                              "end": 1659,
                              "loc": {
                                "start": {
                                  "line": 28,
                                  "column": 8
                                },
                                "end": {
                                  "line": 28,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1660,
                              "end": 1662,
                              "loc": {
                                "start": {
                                  "line": 28,
                                  "column": 13
                                },
                                "end": {
                                  "line": 28,
                                  "column": 15
                                }
                              },
                              "name": "gl"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1663,
                            "end": 1672,
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 16
                              },
                              "end": {
                                "line": 28,
                                "column": 25
                              }
                            },
                            "name": "autoClear"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 1675,
                          "end": 1680,
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 28
                            },
                            "end": {
                              "line": 28,
                              "column": 33
                            }
                          },
                          "value": false,
                          "rawValue": false,
                          "raw": "false"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1690,
                      "end": 1723,
                      "loc": {
                        "start": {
                          "line": 29,
                          "column": 8
                        },
                        "end": {
                          "line": 29,
                          "column": 41
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1690,
                        "end": 1722,
                        "loc": {
                          "start": {
                            "line": 29,
                            "column": 8
                          },
                          "end": {
                            "line": 29,
                            "column": 40
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1690,
                          "end": 1715,
                          "loc": {
                            "start": {
                              "line": 29,
                              "column": 8
                            },
                            "end": {
                              "line": 29,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1690,
                            "end": 1707,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 8
                              },
                              "end": {
                                "line": 29,
                                "column": 25
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 1690,
                              "end": 1697,
                              "loc": {
                                "start": {
                                  "line": 29,
                                  "column": 8
                                },
                                "end": {
                                  "line": 29,
                                  "column": 15
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1690,
                                "end": 1694,
                                "loc": {
                                  "start": {
                                    "line": 29,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 29,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1695,
                                "end": 1697,
                                "loc": {
                                  "start": {
                                    "line": 29,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 29,
                                    "column": 15
                                  }
                                },
                                "name": "gl"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1698,
                              "end": 1707,
                              "loc": {
                                "start": {
                                  "line": 29,
                                  "column": 16
                                },
                                "end": {
                                  "line": 29,
                                  "column": 25
                                }
                              },
                              "name": "shadowMap"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1708,
                            "end": 1715,
                            "loc": {
                              "start": {
                                "line": 29,
                                "column": 26
                              },
                              "end": {
                                "line": 29,
                                "column": 33
                              }
                            },
                            "name": "enabled"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 1718,
                          "end": 1722,
                          "loc": {
                            "start": {
                              "line": 29,
                              "column": 36
                            },
                            "end": {
                              "line": 29,
                              "column": 40
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1732,
                      "end": 1776,
                      "loc": {
                        "start": {
                          "line": 30,
                          "column": 8
                        },
                        "end": {
                          "line": 30,
                          "column": 52
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1732,
                        "end": 1775,
                        "loc": {
                          "start": {
                            "line": 30,
                            "column": 8
                          },
                          "end": {
                            "line": 30,
                            "column": 51
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1732,
                          "end": 1754,
                          "loc": {
                            "start": {
                              "line": 30,
                              "column": 8
                            },
                            "end": {
                              "line": 30,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1732,
                            "end": 1749,
                            "loc": {
                              "start": {
                                "line": 30,
                                "column": 8
                              },
                              "end": {
                                "line": 30,
                                "column": 25
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 1732,
                              "end": 1739,
                              "loc": {
                                "start": {
                                  "line": 30,
                                  "column": 8
                                },
                                "end": {
                                  "line": 30,
                                  "column": 15
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1732,
                                "end": 1736,
                                "loc": {
                                  "start": {
                                    "line": 30,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 30,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1737,
                                "end": 1739,
                                "loc": {
                                  "start": {
                                    "line": 30,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 30,
                                    "column": 15
                                  }
                                },
                                "name": "gl"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1740,
                              "end": 1749,
                              "loc": {
                                "start": {
                                  "line": 30,
                                  "column": 16
                                },
                                "end": {
                                  "line": 30,
                                  "column": 25
                                }
                              },
                              "name": "shadowMap"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1750,
                            "end": 1754,
                            "loc": {
                              "start": {
                                "line": 30,
                                "column": 26
                              },
                              "end": {
                                "line": 30,
                                "column": 30
                              }
                            },
                            "name": "type"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "MemberExpression",
                          "start": 1757,
                          "end": 1775,
                          "loc": {
                            "start": {
                              "line": 30,
                              "column": 33
                            },
                            "end": {
                              "line": 30,
                              "column": 51
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1757,
                            "end": 1762,
                            "loc": {
                              "start": {
                                "line": 30,
                                "column": 33
                              },
                              "end": {
                                "line": 30,
                                "column": 38
                              }
                            },
                            "name": "THREE"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1763,
                            "end": 1775,
                            "loc": {
                              "start": {
                                "line": 30,
                                "column": 39
                              },
                              "end": {
                                "line": 30,
                                "column": 51
                              }
                            },
                            "name": "PCFShadowMap"
                          },
                          "computed": false
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 1786,
                      "end": 1952,
                      "loc": {
                        "start": {
                          "line": 32,
                          "column": 8
                        },
                        "end": {
                          "line": 35,
                          "column": 73
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 1790,
                        "end": 1814,
                        "loc": {
                          "start": {
                            "line": 32,
                            "column": 12
                          },
                          "end": {
                            "line": 32,
                            "column": 36
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 1790,
                          "end": 1803,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 12
                            },
                            "end": {
                              "line": 32,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1790,
                            "end": 1797,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 12
                              },
                              "end": {
                                "line": 32,
                                "column": 19
                              }
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1798,
                            "end": 1803,
                            "loc": {
                              "start": {
                                "line": 32,
                                "column": 20
                              },
                              "end": {
                                "line": 32,
                                "column": 25
                              }
                            },
                            "name": "place"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "Literal",
                          "start": 1808,
                          "end": 1814,
                          "loc": {
                            "start": {
                              "line": 32,
                              "column": 30
                            },
                            "end": {
                              "line": 32,
                              "column": 36
                            }
                          },
                          "value": "last",
                          "rawValue": "last",
                          "raw": "'last'"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 1828,
                        "end": 1865,
                        "loc": {
                          "start": {
                            "line": 33,
                            "column": 12
                          },
                          "end": {
                            "line": 33,
                            "column": 49
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 1828,
                          "end": 1864,
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 12
                            },
                            "end": {
                              "line": 33,
                              "column": 48
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1828,
                            "end": 1850,
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 12
                              },
                              "end": {
                                "line": 33,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 1828,
                              "end": 1838,
                              "loc": {
                                "start": {
                                  "line": 33,
                                  "column": 12
                                },
                                "end": {
                                  "line": 33,
                                  "column": 22
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1828,
                                "end": 1834,
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 33,
                                    "column": 18
                                  }
                                },
                                "name": "canvas"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1835,
                                "end": 1838,
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 33,
                                    "column": 22
                                  }
                                },
                                "name": "dom"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1839,
                              "end": 1850,
                              "loc": {
                                "start": {
                                  "line": 33,
                                  "column": 23
                                },
                                "end": {
                                  "line": 33,
                                  "column": 34
                                }
                              },
                              "name": "appendChild"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 1851,
                              "end": 1863,
                              "loc": {
                                "start": {
                                  "line": 33,
                                  "column": 35
                                },
                                "end": {
                                  "line": 33,
                                  "column": 47
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1851,
                                "end": 1855,
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 33,
                                    "column": 39
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1856,
                                "end": 1863,
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 33,
                                    "column": 47
                                  }
                                },
                                "name": "context"
                              },
                              "computed": false
                            }
                          ]
                        }
                      },
                      "alternate": {
                        "type": "ExpressionStatement",
                        "start": 1891,
                        "end": 1952,
                        "loc": {
                          "start": {
                            "line": 35,
                            "column": 12
                          },
                          "end": {
                            "line": 35,
                            "column": 73
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 1891,
                          "end": 1951,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 12
                            },
                            "end": {
                              "line": 35,
                              "column": 72
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1891,
                            "end": 1914,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 12
                              },
                              "end": {
                                "line": 35,
                                "column": 35
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 1891,
                              "end": 1901,
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 12
                                },
                                "end": {
                                  "line": 35,
                                  "column": 22
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1891,
                                "end": 1897,
                                "loc": {
                                  "start": {
                                    "line": 35,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 35,
                                    "column": 18
                                  }
                                },
                                "name": "canvas"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1898,
                                "end": 1901,
                                "loc": {
                                  "start": {
                                    "line": 35,
                                    "column": 19
                                  },
                                  "end": {
                                    "line": 35,
                                    "column": 22
                                  }
                                },
                                "name": "dom"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1902,
                              "end": 1914,
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 23
                                },
                                "end": {
                                  "line": 35,
                                  "column": 35
                                }
                              },
                              "name": "insertBefore"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "MemberExpression",
                              "start": 1915,
                              "end": 1927,
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 36
                                },
                                "end": {
                                  "line": 35,
                                  "column": 48
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1915,
                                "end": 1919,
                                "loc": {
                                  "start": {
                                    "line": 35,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 35,
                                    "column": 40
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1920,
                                "end": 1927,
                                "loc": {
                                  "start": {
                                    "line": 35,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 35,
                                    "column": 48
                                  }
                                },
                                "name": "context"
                              },
                              "computed": false
                            },
                            {
                              "type": "MemberExpression",
                              "start": 1929,
                              "end": 1950,
                              "loc": {
                                "start": {
                                  "line": 35,
                                  "column": 50
                                },
                                "end": {
                                  "line": 35,
                                  "column": 71
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 1929,
                                "end": 1939,
                                "loc": {
                                  "start": {
                                    "line": 35,
                                    "column": 50
                                  },
                                  "end": {
                                    "line": 35,
                                    "column": 60
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1929,
                                  "end": 1935,
                                  "loc": {
                                    "start": {
                                      "line": 35,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 35,
                                      "column": 56
                                    }
                                  },
                                  "name": "canvas"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1936,
                                  "end": 1939,
                                  "loc": {
                                    "start": {
                                      "line": 35,
                                      "column": 57
                                    },
                                    "end": {
                                      "line": 35,
                                      "column": 60
                                    }
                                  },
                                  "name": "dom"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1940,
                                "end": 1950,
                                "loc": {
                                  "start": {
                                    "line": 35,
                                    "column": 61
                                  },
                                  "end": {
                                    "line": 35,
                                    "column": 71
                                  }
                                },
                                "name": "firstChild"
                              },
                              "computed": false
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1962,
                      "end": 2024,
                      "loc": {
                        "start": {
                          "line": 37,
                          "column": 8
                        },
                        "end": {
                          "line": 37,
                          "column": 70
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1962,
                        "end": 2023,
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 8
                          },
                          "end": {
                            "line": 37,
                            "column": 69
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1962,
                          "end": 1985,
                          "loc": {
                            "start": {
                              "line": 37,
                              "column": 8
                            },
                            "end": {
                              "line": 37,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1962,
                            "end": 1968,
                            "loc": {
                              "start": {
                                "line": 37,
                                "column": 8
                              },
                              "end": {
                                "line": 37,
                                "column": 14
                              }
                            },
                            "name": "window"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1969,
                            "end": 1985,
                            "loc": {
                              "start": {
                                "line": 37,
                                "column": 15
                              },
                              "end": {
                                "line": 37,
                                "column": 31
                              }
                            },
                            "name": "addEventListener"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 1986,
                            "end": 1994,
                            "loc": {
                              "start": {
                                "line": 37,
                                "column": 32
                              },
                              "end": {
                                "line": 37,
                                "column": 40
                              }
                            },
                            "value": "resize",
                            "rawValue": "resize",
                            "raw": "'resize'"
                          },
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 1996,
                            "end": 2015,
                            "loc": {
                              "start": {
                                "line": 37,
                                "column": 42
                              },
                              "end": {
                                "line": 37,
                                "column": 61
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [],
                            "body": {
                              "type": "CallExpression",
                              "start": 2002,
                              "end": 2015,
                              "loc": {
                                "start": {
                                  "line": 37,
                                  "column": 48
                                },
                                "end": {
                                  "line": 37,
                                  "column": 61
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 2002,
                                "end": 2013,
                                "loc": {
                                  "start": {
                                    "line": 37,
                                    "column": 48
                                  },
                                  "end": {
                                    "line": 37,
                                    "column": 59
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 2002,
                                  "end": 2006,
                                  "loc": {
                                    "start": {
                                      "line": 37,
                                      "column": 48
                                    },
                                    "end": {
                                      "line": 37,
                                      "column": 52
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2007,
                                  "end": 2013,
                                  "loc": {
                                    "start": {
                                      "line": 37,
                                      "column": 53
                                    },
                                    "end": {
                                      "line": 37,
                                      "column": 59
                                    }
                                  },
                                  "name": "resize"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 2017,
                            "end": 2022,
                            "loc": {
                              "start": {
                                "line": 37,
                                "column": 63
                              },
                              "end": {
                                "line": 37,
                                "column": 68
                              }
                            },
                            "value": false,
                            "rawValue": false,
                            "raw": "false"
                          }
                        ]
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " View frameworks can sometimes swallow resize events",
                          "start": 2034,
                          "end": 2088,
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 8
                            },
                            "end": {
                              "line": 39,
                              "column": 62
                            }
                          },
                          "range": [
                            2034,
                            2088
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2097,
                      "end": 2110,
                      "loc": {
                        "start": {
                          "line": 40,
                          "column": 8
                        },
                        "end": {
                          "line": 40,
                          "column": 21
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2097,
                        "end": 2110,
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 8
                          },
                          "end": {
                            "line": 40,
                            "column": 21
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2097,
                          "end": 2108,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 8
                            },
                            "end": {
                              "line": 40,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2097,
                            "end": 2101,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 8
                              },
                              "end": {
                                "line": 40,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2102,
                            "end": 2108,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 13
                              },
                              "end": {
                                "line": 40,
                                "column": 19
                              }
                            },
                            "name": "resize"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "arguments": [],
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " View frameworks can sometimes swallow resize events",
                          "start": 2034,
                          "end": 2088,
                          "loc": {
                            "start": {
                              "line": 39,
                              "column": 8
                            },
                            "end": {
                              "line": 39,
                              "column": 62
                            }
                          },
                          "range": [
                            2034,
                            2088
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2119,
                      "end": 2154,
                      "loc": {
                        "start": {
                          "line": 41,
                          "column": 8
                        },
                        "end": {
                          "line": 41,
                          "column": 43
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2119,
                        "end": 2153,
                        "loc": {
                          "start": {
                            "line": 41,
                            "column": 8
                          },
                          "end": {
                            "line": 41,
                            "column": 42
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 2119,
                          "end": 2129,
                          "loc": {
                            "start": {
                              "line": 41,
                              "column": 8
                            },
                            "end": {
                              "line": 41,
                              "column": 18
                            }
                          },
                          "name": "setTimeout"
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 2130,
                            "end": 2149,
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 19
                              },
                              "end": {
                                "line": 41,
                                "column": 38
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [],
                            "body": {
                              "type": "CallExpression",
                              "start": 2136,
                              "end": 2149,
                              "loc": {
                                "start": {
                                  "line": 41,
                                  "column": 25
                                },
                                "end": {
                                  "line": 41,
                                  "column": 38
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 2136,
                                "end": 2147,
                                "loc": {
                                  "start": {
                                    "line": 41,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 41,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 2136,
                                  "end": 2140,
                                  "loc": {
                                    "start": {
                                      "line": 41,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 41,
                                      "column": 29
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2141,
                                  "end": 2147,
                                  "loc": {
                                    "start": {
                                      "line": 41,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 41,
                                      "column": 36
                                    }
                                  },
                                  "name": "resize"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 2151,
                            "end": 2152,
                            "loc": {
                              "start": {
                                "line": 41,
                                "column": 40
                              },
                              "end": {
                                "line": 41,
                                "column": 41
                              }
                            },
                            "value": 1,
                            "rawValue": 1,
                            "raw": "1"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2163,
                      "end": 2200,
                      "loc": {
                        "start": {
                          "line": 42,
                          "column": 8
                        },
                        "end": {
                          "line": 42,
                          "column": 45
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2163,
                        "end": 2199,
                        "loc": {
                          "start": {
                            "line": 42,
                            "column": 8
                          },
                          "end": {
                            "line": 42,
                            "column": 44
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 2163,
                          "end": 2173,
                          "loc": {
                            "start": {
                              "line": 42,
                              "column": 8
                            },
                            "end": {
                              "line": 42,
                              "column": 18
                            }
                          },
                          "name": "setTimeout"
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 2174,
                            "end": 2193,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 19
                              },
                              "end": {
                                "line": 42,
                                "column": 38
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [],
                            "body": {
                              "type": "CallExpression",
                              "start": 2180,
                              "end": 2193,
                              "loc": {
                                "start": {
                                  "line": 42,
                                  "column": 25
                                },
                                "end": {
                                  "line": 42,
                                  "column": 38
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 2180,
                                "end": 2191,
                                "loc": {
                                  "start": {
                                    "line": 42,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 42,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 2180,
                                  "end": 2184,
                                  "loc": {
                                    "start": {
                                      "line": 42,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 42,
                                      "column": 29
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2185,
                                  "end": 2191,
                                  "loc": {
                                    "start": {
                                      "line": 42,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 42,
                                      "column": 36
                                    }
                                  },
                                  "name": "resize"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 2195,
                            "end": 2198,
                            "loc": {
                              "start": {
                                "line": 42,
                                "column": 40
                              },
                              "end": {
                                "line": 42,
                                "column": 43
                              }
                            },
                            "value": 100,
                            "rawValue": 100,
                            "raw": "100"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2209,
                      "end": 2246,
                      "loc": {
                        "start": {
                          "line": 43,
                          "column": 8
                        },
                        "end": {
                          "line": 43,
                          "column": 45
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2209,
                        "end": 2245,
                        "loc": {
                          "start": {
                            "line": 43,
                            "column": 8
                          },
                          "end": {
                            "line": 43,
                            "column": 44
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 2209,
                          "end": 2219,
                          "loc": {
                            "start": {
                              "line": 43,
                              "column": 8
                            },
                            "end": {
                              "line": 43,
                              "column": 18
                            }
                          },
                          "name": "setTimeout"
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 2220,
                            "end": 2239,
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 19
                              },
                              "end": {
                                "line": 43,
                                "column": 38
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [],
                            "body": {
                              "type": "CallExpression",
                              "start": 2226,
                              "end": 2239,
                              "loc": {
                                "start": {
                                  "line": 43,
                                  "column": 25
                                },
                                "end": {
                                  "line": 43,
                                  "column": 38
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 2226,
                                "end": 2237,
                                "loc": {
                                  "start": {
                                    "line": 43,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 43,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 2226,
                                  "end": 2230,
                                  "loc": {
                                    "start": {
                                      "line": 43,
                                      "column": 25
                                    },
                                    "end": {
                                      "line": 43,
                                      "column": 29
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 2231,
                                  "end": 2237,
                                  "loc": {
                                    "start": {
                                      "line": 43,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 43,
                                      "column": 36
                                    }
                                  },
                                  "name": "resize"
                                },
                                "computed": false
                              },
                              "arguments": []
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 2241,
                            "end": 2244,
                            "loc": {
                              "start": {
                                "line": 43,
                                "column": 40
                              },
                              "end": {
                                "line": 43,
                                "column": 43
                              }
                            },
                            "value": 500,
                            "rawValue": 500,
                            "raw": "500"
                          }
                        ]
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Clear canvas",
                          "start": 2256,
                          "end": 2271,
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 8
                            },
                            "end": {
                              "line": 45,
                              "column": 23
                            }
                          },
                          "range": [
                            2256,
                            2271
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2280,
                      "end": 2310,
                      "loc": {
                        "start": {
                          "line": 46,
                          "column": 8
                        },
                        "end": {
                          "line": 46,
                          "column": 38
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2280,
                        "end": 2309,
                        "loc": {
                          "start": {
                            "line": 46,
                            "column": 8
                          },
                          "end": {
                            "line": 46,
                            "column": 37
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2280,
                          "end": 2302,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 8
                            },
                            "end": {
                              "line": 46,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2280,
                            "end": 2287,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 8
                              },
                              "end": {
                                "line": 46,
                                "column": 15
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2280,
                              "end": 2284,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 8
                                },
                                "end": {
                                  "line": 46,
                                  "column": 12
                                }
                              },
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2285,
                              "end": 2287,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 13
                                },
                                "end": {
                                  "line": 46,
                                  "column": 15
                                }
                              },
                              "name": "gl"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2288,
                            "end": 2302,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 16
                              },
                              "end": {
                                "line": 46,
                                "column": 30
                              }
                            },
                            "name": "setScissorTest"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 2303,
                            "end": 2308,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 31
                              },
                              "end": {
                                "line": 46,
                                "column": 36
                              }
                            },
                            "value": false,
                            "rawValue": false,
                            "raw": "false"
                          }
                        ],
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Clear canvas",
                          "start": 2256,
                          "end": 2271,
                          "loc": {
                            "start": {
                              "line": 45,
                              "column": 8
                            },
                            "end": {
                              "line": 45,
                              "column": 23
                            }
                          },
                          "range": [
                            2256,
                            2271
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2319,
                      "end": 2361,
                      "loc": {
                        "start": {
                          "line": 47,
                          "column": 8
                        },
                        "end": {
                          "line": 47,
                          "column": 50
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2319,
                        "end": 2360,
                        "loc": {
                          "start": {
                            "line": 47,
                            "column": 8
                          },
                          "end": {
                            "line": 47,
                            "column": 49
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2319,
                          "end": 2340,
                          "loc": {
                            "start": {
                              "line": 47,
                              "column": 8
                            },
                            "end": {
                              "line": 47,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2319,
                            "end": 2326,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 8
                              },
                              "end": {
                                "line": 47,
                                "column": 15
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2319,
                              "end": 2323,
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 8
                                },
                                "end": {
                                  "line": 47,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2324,
                              "end": 2326,
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 13
                                },
                                "end": {
                                  "line": 47,
                                  "column": 15
                                }
                              },
                              "name": "gl"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2327,
                            "end": 2340,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 16
                              },
                              "end": {
                                "line": 47,
                                "column": 29
                              }
                            },
                            "name": "setClearColor"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 2341,
                            "end": 2356,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 30
                              },
                              "end": {
                                "line": 47,
                                "column": 45
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2341,
                              "end": 2345,
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 30
                                },
                                "end": {
                                  "line": 47,
                                  "column": 34
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2346,
                              "end": 2356,
                              "loc": {
                                "start": {
                                  "line": 47,
                                  "column": 35
                                },
                                "end": {
                                  "line": 47,
                                  "column": 45
                                }
                              },
                              "name": "clearColor"
                            },
                            "computed": false
                          },
                          {
                            "type": "Literal",
                            "start": 2358,
                            "end": 2359,
                            "loc": {
                              "start": {
                                "line": 47,
                                "column": 47
                              },
                              "end": {
                                "line": 47,
                                "column": 48
                              }
                            },
                            "value": 0,
                            "rawValue": 0,
                            "raw": "0"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2370,
                      "end": 2386,
                      "loc": {
                        "start": {
                          "line": 48,
                          "column": 8
                        },
                        "end": {
                          "line": 48,
                          "column": 24
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2370,
                        "end": 2385,
                        "loc": {
                          "start": {
                            "line": 48,
                            "column": 8
                          },
                          "end": {
                            "line": 48,
                            "column": 23
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2370,
                          "end": 2383,
                          "loc": {
                            "start": {
                              "line": 48,
                              "column": 8
                            },
                            "end": {
                              "line": 48,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2370,
                            "end": 2377,
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 8
                              },
                              "end": {
                                "line": 48,
                                "column": 15
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2370,
                              "end": 2374,
                              "loc": {
                                "start": {
                                  "line": 48,
                                  "column": 8
                                },
                                "end": {
                                  "line": 48,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2375,
                              "end": 2377,
                              "loc": {
                                "start": {
                                  "line": 48,
                                  "column": 13
                                },
                                "end": {
                                  "line": 48,
                                  "column": 15
                                }
                              },
                              "name": "gl"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2378,
                            "end": 2383,
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 16
                              },
                              "end": {
                                "line": 48,
                                "column": 21
                              }
                            },
                            "name": "clear"
                          },
                          "computed": false
                        },
                        "arguments": []
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2395,
                      "end": 2424,
                      "loc": {
                        "start": {
                          "line": 49,
                          "column": 8
                        },
                        "end": {
                          "line": 49,
                          "column": 37
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 2395,
                        "end": 2423,
                        "loc": {
                          "start": {
                            "line": 49,
                            "column": 8
                          },
                          "end": {
                            "line": 49,
                            "column": 36
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 2395,
                          "end": 2417,
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 8
                            },
                            "end": {
                              "line": 49,
                              "column": 30
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 2395,
                            "end": 2402,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 8
                              },
                              "end": {
                                "line": 49,
                                "column": 15
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 2395,
                              "end": 2399,
                              "loc": {
                                "start": {
                                  "line": 49,
                                  "column": 8
                                },
                                "end": {
                                  "line": 49,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 2400,
                              "end": 2402,
                              "loc": {
                                "start": {
                                  "line": 49,
                                  "column": 13
                                },
                                "end": {
                                  "line": 49,
                                  "column": 15
                                }
                              },
                              "name": "gl"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2403,
                            "end": 2417,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 16
                              },
                              "end": {
                                "line": 49,
                                "column": 30
                              }
                            },
                            "name": "setScissorTest"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 2418,
                            "end": 2422,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 31
                              },
                              "end": {
                                "line": 49,
                                "column": 35
                              }
                            },
                            "value": true,
                            "rawValue": true,
                            "raw": "true"
                          }
                        ]
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Declare render loop here, because doing it on the prototype will lexically",
                          "start": 2434,
                          "end": 2511,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 8
                            },
                            "end": {
                              "line": 51,
                              "column": 85
                            }
                          },
                          "range": [
                            2434,
                            2511
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " bind 'this' using nested functions which would impact performance.",
                          "start": 2520,
                          "end": 2589,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 8
                            },
                            "end": {
                              "line": 52,
                              "column": 77
                            }
                          },
                          "range": [
                            2520,
                            2589
                          ]
                        }
                      ]
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 2598,
                      "end": 2615,
                      "loc": {
                        "start": {
                          "line": 53,
                          "column": 8
                        },
                        "end": {
                          "line": 53,
                          "column": 25
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 2602,
                          "end": 2614,
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 12
                            },
                            "end": {
                              "line": 53,
                              "column": 24
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 2602,
                            "end": 2607,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 12
                              },
                              "end": {
                                "line": 53,
                                "column": 17
                              }
                            },
                            "name": "scope",
                            "leadingComments": null
                          },
                          "init": {
                            "type": "ThisExpression",
                            "start": 2610,
                            "end": 2614,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 20
                              },
                              "end": {
                                "line": 53,
                                "column": 24
                              }
                            }
                          },
                          "leadingComments": null
                        }
                      ],
                      "kind": "var",
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Declare render loop here, because doing it on the prototype will lexically",
                          "start": 2434,
                          "end": 2511,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 8
                            },
                            "end": {
                              "line": 51,
                              "column": 85
                            }
                          },
                          "range": [
                            2434,
                            2511
                          ]
                        },
                        {
                          "type": "CommentLine",
                          "value": " bind 'this' using nested functions which would impact performance.",
                          "start": 2520,
                          "end": 2589,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 8
                            },
                            "end": {
                              "line": 52,
                              "column": 77
                            }
                          },
                          "range": [
                            2520,
                            2589
                          ]
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": "this.perf = new Helpers.Performance();",
                          "start": 2624,
                          "end": 2664,
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 8
                            },
                            "end": {
                              "line": 54,
                              "column": 48
                            }
                          },
                          "range": [
                            2624,
                            2664
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2673,
                      "end": 2699,
                      "loc": {
                        "start": {
                          "line": 55,
                          "column": 8
                        },
                        "end": {
                          "line": 55,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2673,
                        "end": 2698,
                        "loc": {
                          "start": {
                            "line": 55,
                            "column": 8
                          },
                          "end": {
                            "line": 55,
                            "column": 33
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2673,
                          "end": 2694,
                          "loc": {
                            "start": {
                              "line": 55,
                              "column": 8
                            },
                            "end": {
                              "line": 55,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2673,
                            "end": 2677,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 8
                              },
                              "end": {
                                "line": 55,
                                "column": 12
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2678,
                            "end": 2694,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 13
                              },
                              "end": {
                                "line": 55,
                                "column": 29
                              }
                            },
                            "name": "invalidateFrames"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "Literal",
                          "start": 2697,
                          "end": 2698,
                          "loc": {
                            "start": {
                              "line": 55,
                              "column": 32
                            },
                            "end": {
                              "line": 55,
                              "column": 33
                            }
                          },
                          "value": 1,
                          "rawValue": 1,
                          "raw": "1"
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": "this.perf = new Helpers.Performance();",
                          "start": 2624,
                          "end": 2664,
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 8
                            },
                            "end": {
                              "line": 54,
                              "column": 48
                            }
                          },
                          "range": [
                            2624,
                            2664
                          ]
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2708,
                      "end": 2726,
                      "loc": {
                        "start": {
                          "line": 56,
                          "column": 8
                        },
                        "end": {
                          "line": 56,
                          "column": 26
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2708,
                        "end": 2725,
                        "loc": {
                          "start": {
                            "line": 56,
                            "column": 8
                          },
                          "end": {
                            "line": 56,
                            "column": 25
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2708,
                          "end": 2718,
                          "loc": {
                            "start": {
                              "line": 56,
                              "column": 8
                            },
                            "end": {
                              "line": 56,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2708,
                            "end": 2712,
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 8
                              },
                              "end": {
                                "line": 56,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2713,
                            "end": 2718,
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 13
                              },
                              "end": {
                                "line": 56,
                                "column": 18
                              }
                            },
                            "name": "dirty"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 2721,
                          "end": 2725,
                          "loc": {
                            "start": {
                              "line": 56,
                              "column": 21
                            },
                            "end": {
                              "line": 56,
                              "column": 25
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2735,
                      "end": 2749,
                      "loc": {
                        "start": {
                          "line": 57,
                          "column": 8
                        },
                        "end": {
                          "line": 57,
                          "column": 22
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2735,
                        "end": 2748,
                        "loc": {
                          "start": {
                            "line": 57,
                            "column": 8
                          },
                          "end": {
                            "line": 57,
                            "column": 21
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2735,
                          "end": 2744,
                          "loc": {
                            "start": {
                              "line": 57,
                              "column": 8
                            },
                            "end": {
                              "line": 57,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2735,
                            "end": 2739,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 8
                              },
                              "end": {
                                "line": 57,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2740,
                            "end": 2744,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 13
                              },
                              "end": {
                                "line": 57,
                                "column": 17
                              }
                            },
                            "name": "time"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 2747,
                          "end": 2748,
                          "loc": {
                            "start": {
                              "line": 57,
                              "column": 20
                            },
                            "end": {
                              "line": 57,
                              "column": 21
                            }
                          },
                          "value": 0,
                          "rawValue": 0,
                          "raw": "0"
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 2758,
                      "end": 4496,
                      "loc": {
                        "start": {
                          "line": 58,
                          "column": 8
                        },
                        "end": {
                          "line": 99,
                          "column": 9
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 2758,
                        "end": 4496,
                        "loc": {
                          "start": {
                            "line": 58,
                            "column": 8
                          },
                          "end": {
                            "line": 99,
                            "column": 9
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 2758,
                          "end": 2769,
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 8
                            },
                            "end": {
                              "line": 58,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 2758,
                            "end": 2762,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 8
                              },
                              "end": {
                                "line": 58,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 2763,
                            "end": 2769,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 13
                              },
                              "end": {
                                "line": 58,
                                "column": 19
                              }
                            },
                            "name": "render"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "FunctionExpression",
                          "start": 2772,
                          "end": 4496,
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 22
                            },
                            "end": {
                              "line": 99,
                              "column": 9
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": false,
                          "async": false,
                          "params": [
                            {
                              "type": "Identifier",
                              "start": 2781,
                              "end": 2785,
                              "loc": {
                                "start": {
                                  "line": 58,
                                  "column": 31
                                },
                                "end": {
                                  "line": 58,
                                  "column": 35
                                }
                              },
                              "name": "time"
                            }
                          ],
                          "body": {
                            "type": "BlockStatement",
                            "start": 2787,
                            "end": 4496,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 37
                              },
                              "end": {
                                "line": 99,
                                "column": 9
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 2801,
                                "end": 2819,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 30
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 2801,
                                  "end": 2818,
                                  "loc": {
                                    "start": {
                                      "line": 59,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 59,
                                      "column": 29
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 2801,
                                    "end": 2811,
                                    "loc": {
                                      "start": {
                                        "line": 59,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 59,
                                        "column": 22
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 2801,
                                      "end": 2806,
                                      "loc": {
                                        "start": {
                                          "line": 59,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 59,
                                          "column": 17
                                        }
                                      },
                                      "name": "scope"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 2807,
                                      "end": 2811,
                                      "loc": {
                                        "start": {
                                          "line": 59,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 59,
                                          "column": 22
                                        }
                                      },
                                      "name": "time"
                                    },
                                    "computed": false
                                  },
                                  "right": {
                                    "type": "Identifier",
                                    "start": 2814,
                                    "end": 2818,
                                    "loc": {
                                      "start": {
                                        "line": 59,
                                        "column": 25
                                      },
                                      "end": {
                                        "line": 59,
                                        "column": 29
                                      }
                                    },
                                    "name": "time"
                                  }
                                },
                                "trailingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " Request next frame",
                                    "start": 2833,
                                    "end": 2854,
                                    "loc": {
                                      "start": {
                                        "line": 61,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 61,
                                        "column": 33
                                      }
                                    },
                                    "range": [
                                      2833,
                                      2854
                                    ]
                                  }
                                ]
                              },
                              {
                                "type": "ExpressionStatement",
                                "start": 2867,
                                "end": 2903,
                                "loc": {
                                  "start": {
                                    "line": 62,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 62,
                                    "column": 48
                                  }
                                },
                                "expression": {
                                  "type": "CallExpression",
                                  "start": 2867,
                                  "end": 2902,
                                  "loc": {
                                    "start": {
                                      "line": 62,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 62,
                                      "column": 47
                                    }
                                  },
                                  "callee": {
                                    "type": "Identifier",
                                    "start": 2867,
                                    "end": 2888,
                                    "loc": {
                                      "start": {
                                        "line": 62,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 62,
                                        "column": 33
                                      }
                                    },
                                    "name": "requestAnimationFrame",
                                    "leadingComments": null
                                  },
                                  "arguments": [
                                    {
                                      "type": "MemberExpression",
                                      "start": 2889,
                                      "end": 2901,
                                      "loc": {
                                        "start": {
                                          "line": 62,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 62,
                                          "column": 46
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 2889,
                                        "end": 2894,
                                        "loc": {
                                          "start": {
                                            "line": 62,
                                            "column": 34
                                          },
                                          "end": {
                                            "line": 62,
                                            "column": 39
                                          }
                                        },
                                        "name": "scope"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 2895,
                                        "end": 2901,
                                        "loc": {
                                          "start": {
                                            "line": 62,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 62,
                                            "column": 46
                                          }
                                        },
                                        "name": "render"
                                      },
                                      "computed": false
                                    }
                                  ],
                                  "leadingComments": null
                                },
                                "leadingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " Request next frame",
                                    "start": 2833,
                                    "end": 2854,
                                    "loc": {
                                      "start": {
                                        "line": 61,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 61,
                                        "column": 33
                                      }
                                    },
                                    "range": [
                                      2833,
                                      2854
                                    ]
                                  }
                                ],
                                "trailingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " Pass 1: measure canvas; do this only when the canvas is dirty",
                                    "start": 2917,
                                    "end": 2981,
                                    "loc": {
                                      "start": {
                                        "line": 64,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 64,
                                        "column": 76
                                      }
                                    },
                                    "range": [
                                      2917,
                                      2981
                                    ]
                                  }
                                ]
                              },
                              {
                                "type": "IfStatement",
                                "start": 2994,
                                "end": 3827,
                                "loc": {
                                  "start": {
                                    "line": 65,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 80,
                                    "column": 13
                                  }
                                },
                                "test": {
                                  "type": "LogicalExpression",
                                  "start": 2998,
                                  "end": 3039,
                                  "loc": {
                                    "start": {
                                      "line": 65,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 65,
                                      "column": 57
                                    }
                                  },
                                  "left": {
                                    "type": "BinaryExpression",
                                    "start": 2998,
                                    "end": 3024,
                                    "loc": {
                                      "start": {
                                        "line": 65,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 65,
                                        "column": 42
                                      }
                                    },
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 2998,
                                      "end": 3020,
                                      "loc": {
                                        "start": {
                                          "line": 65,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 65,
                                          "column": 38
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 2998,
                                        "end": 3003,
                                        "loc": {
                                          "start": {
                                            "line": 65,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 65,
                                            "column": 21
                                          }
                                        },
                                        "name": "scope",
                                        "leadingComments": null
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 3004,
                                        "end": 3020,
                                        "loc": {
                                          "start": {
                                            "line": 65,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 65,
                                            "column": 38
                                          }
                                        },
                                        "name": "invalidateFrames"
                                      },
                                      "computed": false,
                                      "leadingComments": null
                                    },
                                    "operator": ">",
                                    "right": {
                                      "type": "Literal",
                                      "start": 3023,
                                      "end": 3024,
                                      "loc": {
                                        "start": {
                                          "line": 65,
                                          "column": 41
                                        },
                                        "end": {
                                          "line": 65,
                                          "column": 42
                                        }
                                      },
                                      "value": 0,
                                      "rawValue": 0,
                                      "raw": "0"
                                    },
                                    "leadingComments": null
                                  },
                                  "operator": "&&",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 3028,
                                    "end": 3039,
                                    "loc": {
                                      "start": {
                                        "line": 65,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 65,
                                        "column": 57
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 3028,
                                      "end": 3033,
                                      "loc": {
                                        "start": {
                                          "line": 65,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 65,
                                          "column": 51
                                        }
                                      },
                                      "name": "scope"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3034,
                                      "end": 3039,
                                      "loc": {
                                        "start": {
                                          "line": 65,
                                          "column": 52
                                        },
                                        "end": {
                                          "line": 65,
                                          "column": 57
                                        }
                                      },
                                      "name": "dirty"
                                    },
                                    "computed": false
                                  },
                                  "leadingComments": null
                                },
                                "consequent": {
                                  "type": "BlockStatement",
                                  "start": 3041,
                                  "end": 3827,
                                  "loc": {
                                    "start": {
                                      "line": 65,
                                      "column": 59
                                    },
                                    "end": {
                                      "line": 80,
                                      "column": 13
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "VariableDeclaration",
                                      "start": 3059,
                                      "end": 3110,
                                      "loc": {
                                        "start": {
                                          "line": 66,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 66,
                                          "column": 67
                                        }
                                      },
                                      "declarations": [
                                        {
                                          "type": "VariableDeclarator",
                                          "start": 3063,
                                          "end": 3109,
                                          "loc": {
                                            "start": {
                                              "line": 66,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 66,
                                              "column": 66
                                            }
                                          },
                                          "id": {
                                            "type": "Identifier",
                                            "start": 3063,
                                            "end": 3069,
                                            "loc": {
                                              "start": {
                                                "line": 66,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 66,
                                                "column": 26
                                              }
                                            },
                                            "name": "bounds"
                                          },
                                          "init": {
                                            "type": "CallExpression",
                                            "start": 3072,
                                            "end": 3109,
                                            "loc": {
                                              "start": {
                                                "line": 66,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 66,
                                                "column": 66
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 3072,
                                              "end": 3107,
                                              "loc": {
                                                "start": {
                                                  "line": 66,
                                                  "column": 29
                                                },
                                                "end": {
                                                  "line": 66,
                                                  "column": 64
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 3072,
                                                "end": 3085,
                                                "loc": {
                                                  "start": {
                                                    "line": 66,
                                                    "column": 29
                                                  },
                                                  "end": {
                                                    "line": 66,
                                                    "column": 42
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 3072,
                                                  "end": 3077,
                                                  "loc": {
                                                    "start": {
                                                      "line": 66,
                                                      "column": 29
                                                    },
                                                    "end": {
                                                      "line": 66,
                                                      "column": 34
                                                    }
                                                  },
                                                  "name": "scope"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3078,
                                                  "end": 3085,
                                                  "loc": {
                                                    "start": {
                                                      "line": 66,
                                                      "column": 35
                                                    },
                                                    "end": {
                                                      "line": 66,
                                                      "column": 42
                                                    }
                                                  },
                                                  "name": "context"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 3086,
                                                "end": 3107,
                                                "loc": {
                                                  "start": {
                                                    "line": 66,
                                                    "column": 43
                                                  },
                                                  "end": {
                                                    "line": 66,
                                                    "column": 64
                                                  }
                                                },
                                                "name": "getBoundingClientRect"
                                              },
                                              "computed": false
                                            },
                                            "arguments": []
                                          }
                                        }
                                      ],
                                      "kind": "let",
                                      "trailingComments": [
                                        {
                                          "type": "CommentLine",
                                          "value": " Test for changes, position & size",
                                          "start": 3128,
                                          "end": 3164,
                                          "loc": {
                                            "start": {
                                              "line": 68,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 68,
                                              "column": 52
                                            }
                                          },
                                          "range": [
                                            3128,
                                            3164
                                          ]
                                        }
                                      ]
                                    },
                                    {
                                      "type": "IfStatement",
                                      "start": 3181,
                                      "end": 3771,
                                      "loc": {
                                        "start": {
                                          "line": 69,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 78,
                                          "column": 17
                                        }
                                      },
                                      "test": {
                                        "type": "LogicalExpression",
                                        "start": 3185,
                                        "end": 3349,
                                        "loc": {
                                          "start": {
                                            "line": 69,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 70,
                                            "column": 94
                                          }
                                        },
                                        "left": {
                                          "type": "LogicalExpression",
                                          "start": 3185,
                                          "end": 3309,
                                          "loc": {
                                            "start": {
                                              "line": 69,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 70,
                                              "column": 54
                                            }
                                          },
                                          "left": {
                                            "type": "LogicalExpression",
                                            "start": 3185,
                                            "end": 3251,
                                            "loc": {
                                              "start": {
                                                "line": 69,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 69,
                                                "column": 86
                                              }
                                            },
                                            "left": {
                                              "type": "BinaryExpression",
                                              "start": 3185,
                                              "end": 3217,
                                              "loc": {
                                                "start": {
                                                  "line": 69,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 69,
                                                  "column": 52
                                                }
                                              },
                                              "left": {
                                                "type": "MemberExpression",
                                                "start": 3185,
                                                "end": 3196,
                                                "loc": {
                                                  "start": {
                                                    "line": 69,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 69,
                                                    "column": 31
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 3185,
                                                  "end": 3191,
                                                  "loc": {
                                                    "start": {
                                                      "line": 69,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 69,
                                                      "column": 26
                                                    }
                                                  },
                                                  "name": "bounds",
                                                  "leadingComments": null
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3192,
                                                  "end": 3196,
                                                  "loc": {
                                                    "start": {
                                                      "line": 69,
                                                      "column": 27
                                                    },
                                                    "end": {
                                                      "line": 69,
                                                      "column": 31
                                                    }
                                                  },
                                                  "name": "left"
                                                },
                                                "computed": false,
                                                "leadingComments": null
                                              },
                                              "operator": "!=",
                                              "right": {
                                                "type": "MemberExpression",
                                                "start": 3200,
                                                "end": 3217,
                                                "loc": {
                                                  "start": {
                                                    "line": 69,
                                                    "column": 35
                                                  },
                                                  "end": {
                                                    "line": 69,
                                                    "column": 52
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 3200,
                                                  "end": 3212,
                                                  "loc": {
                                                    "start": {
                                                      "line": 69,
                                                      "column": 35
                                                    },
                                                    "end": {
                                                      "line": 69,
                                                      "column": 47
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 3200,
                                                    "end": 3205,
                                                    "loc": {
                                                      "start": {
                                                        "line": 69,
                                                        "column": 35
                                                      },
                                                      "end": {
                                                        "line": 69,
                                                        "column": 40
                                                      }
                                                    },
                                                    "name": "scope"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3206,
                                                    "end": 3212,
                                                    "loc": {
                                                      "start": {
                                                        "line": 69,
                                                        "column": 41
                                                      },
                                                      "end": {
                                                        "line": 69,
                                                        "column": 47
                                                      }
                                                    },
                                                    "name": "offset"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3213,
                                                  "end": 3217,
                                                  "loc": {
                                                    "start": {
                                                      "line": 69,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 69,
                                                      "column": 52
                                                    }
                                                  },
                                                  "name": "left"
                                                },
                                                "computed": false
                                              },
                                              "leadingComments": null
                                            },
                                            "operator": "||",
                                            "right": {
                                              "type": "BinaryExpression",
                                              "start": 3221,
                                              "end": 3251,
                                              "loc": {
                                                "start": {
                                                  "line": 69,
                                                  "column": 56
                                                },
                                                "end": {
                                                  "line": 69,
                                                  "column": 86
                                                }
                                              },
                                              "left": {
                                                "type": "MemberExpression",
                                                "start": 3221,
                                                "end": 3231,
                                                "loc": {
                                                  "start": {
                                                    "line": 69,
                                                    "column": 56
                                                  },
                                                  "end": {
                                                    "line": 69,
                                                    "column": 66
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 3221,
                                                  "end": 3227,
                                                  "loc": {
                                                    "start": {
                                                      "line": 69,
                                                      "column": 56
                                                    },
                                                    "end": {
                                                      "line": 69,
                                                      "column": 62
                                                    }
                                                  },
                                                  "name": "bounds"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3228,
                                                  "end": 3231,
                                                  "loc": {
                                                    "start": {
                                                      "line": 69,
                                                      "column": 63
                                                    },
                                                    "end": {
                                                      "line": 69,
                                                      "column": 66
                                                    }
                                                  },
                                                  "name": "top"
                                                },
                                                "computed": false
                                              },
                                              "operator": "!=",
                                              "right": {
                                                "type": "MemberExpression",
                                                "start": 3235,
                                                "end": 3251,
                                                "loc": {
                                                  "start": {
                                                    "line": 69,
                                                    "column": 70
                                                  },
                                                  "end": {
                                                    "line": 69,
                                                    "column": 86
                                                  }
                                                },
                                                "object": {
                                                  "type": "MemberExpression",
                                                  "start": 3235,
                                                  "end": 3247,
                                                  "loc": {
                                                    "start": {
                                                      "line": 69,
                                                      "column": 70
                                                    },
                                                    "end": {
                                                      "line": 69,
                                                      "column": 82
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 3235,
                                                    "end": 3240,
                                                    "loc": {
                                                      "start": {
                                                        "line": 69,
                                                        "column": 70
                                                      },
                                                      "end": {
                                                        "line": 69,
                                                        "column": 75
                                                      }
                                                    },
                                                    "name": "scope"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3241,
                                                    "end": 3247,
                                                    "loc": {
                                                      "start": {
                                                        "line": 69,
                                                        "column": 76
                                                      },
                                                      "end": {
                                                        "line": 69,
                                                        "column": 82
                                                      }
                                                    },
                                                    "name": "offset"
                                                  },
                                                  "computed": false
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3248,
                                                  "end": 3251,
                                                  "loc": {
                                                    "start": {
                                                      "line": 69,
                                                      "column": 83
                                                    },
                                                    "end": {
                                                      "line": 69,
                                                      "column": 86
                                                    }
                                                  },
                                                  "name": "top"
                                                },
                                                "computed": false
                                              }
                                            },
                                            "leadingComments": null
                                          },
                                          "operator": "||",
                                          "right": {
                                            "type": "BinaryExpression",
                                            "start": 3275,
                                            "end": 3309,
                                            "loc": {
                                              "start": {
                                                "line": 70,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 70,
                                                "column": 54
                                              }
                                            },
                                            "left": {
                                              "type": "MemberExpression",
                                              "start": 3275,
                                              "end": 3287,
                                              "loc": {
                                                "start": {
                                                  "line": 70,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 70,
                                                  "column": 32
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 3275,
                                                "end": 3281,
                                                "loc": {
                                                  "start": {
                                                    "line": 70,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 70,
                                                    "column": 26
                                                  }
                                                },
                                                "name": "bounds"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 3282,
                                                "end": 3287,
                                                "loc": {
                                                  "start": {
                                                    "line": 70,
                                                    "column": 27
                                                  },
                                                  "end": {
                                                    "line": 70,
                                                    "column": 32
                                                  }
                                                },
                                                "name": "width"
                                              },
                                              "computed": false
                                            },
                                            "operator": "!=",
                                            "right": {
                                              "type": "MemberExpression",
                                              "start": 3291,
                                              "end": 3309,
                                              "loc": {
                                                "start": {
                                                  "line": 70,
                                                  "column": 36
                                                },
                                                "end": {
                                                  "line": 70,
                                                  "column": 54
                                                }
                                              },
                                              "object": {
                                                "type": "MemberExpression",
                                                "start": 3291,
                                                "end": 3303,
                                                "loc": {
                                                  "start": {
                                                    "line": 70,
                                                    "column": 36
                                                  },
                                                  "end": {
                                                    "line": 70,
                                                    "column": 48
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 3291,
                                                  "end": 3296,
                                                  "loc": {
                                                    "start": {
                                                      "line": 70,
                                                      "column": 36
                                                    },
                                                    "end": {
                                                      "line": 70,
                                                      "column": 41
                                                    }
                                                  },
                                                  "name": "scope"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3297,
                                                  "end": 3303,
                                                  "loc": {
                                                    "start": {
                                                      "line": 70,
                                                      "column": 42
                                                    },
                                                    "end": {
                                                      "line": 70,
                                                      "column": 48
                                                    }
                                                  },
                                                  "name": "offset"
                                                },
                                                "computed": false
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 3304,
                                                "end": 3309,
                                                "loc": {
                                                  "start": {
                                                    "line": 70,
                                                    "column": 49
                                                  },
                                                  "end": {
                                                    "line": 70,
                                                    "column": 54
                                                  }
                                                },
                                                "name": "width"
                                              },
                                              "computed": false
                                            }
                                          },
                                          "leadingComments": null
                                        },
                                        "operator": "||",
                                        "right": {
                                          "type": "BinaryExpression",
                                          "start": 3313,
                                          "end": 3349,
                                          "loc": {
                                            "start": {
                                              "line": 70,
                                              "column": 58
                                            },
                                            "end": {
                                              "line": 70,
                                              "column": 94
                                            }
                                          },
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 3313,
                                            "end": 3326,
                                            "loc": {
                                              "start": {
                                                "line": 70,
                                                "column": 58
                                              },
                                              "end": {
                                                "line": 70,
                                                "column": 71
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 3313,
                                              "end": 3319,
                                              "loc": {
                                                "start": {
                                                  "line": 70,
                                                  "column": 58
                                                },
                                                "end": {
                                                  "line": 70,
                                                  "column": 64
                                                }
                                              },
                                              "name": "bounds"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 3320,
                                              "end": 3326,
                                              "loc": {
                                                "start": {
                                                  "line": 70,
                                                  "column": 65
                                                },
                                                "end": {
                                                  "line": 70,
                                                  "column": 71
                                                }
                                              },
                                              "name": "height"
                                            },
                                            "computed": false
                                          },
                                          "operator": "!=",
                                          "right": {
                                            "type": "MemberExpression",
                                            "start": 3330,
                                            "end": 3349,
                                            "loc": {
                                              "start": {
                                                "line": 70,
                                                "column": 75
                                              },
                                              "end": {
                                                "line": 70,
                                                "column": 94
                                              }
                                            },
                                            "object": {
                                              "type": "MemberExpression",
                                              "start": 3330,
                                              "end": 3342,
                                              "loc": {
                                                "start": {
                                                  "line": 70,
                                                  "column": 75
                                                },
                                                "end": {
                                                  "line": 70,
                                                  "column": 87
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 3330,
                                                "end": 3335,
                                                "loc": {
                                                  "start": {
                                                    "line": 70,
                                                    "column": 75
                                                  },
                                                  "end": {
                                                    "line": 70,
                                                    "column": 80
                                                  }
                                                },
                                                "name": "scope"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 3336,
                                                "end": 3342,
                                                "loc": {
                                                  "start": {
                                                    "line": 70,
                                                    "column": 81
                                                  },
                                                  "end": {
                                                    "line": 70,
                                                    "column": 87
                                                  }
                                                },
                                                "name": "offset"
                                              },
                                              "computed": false
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 3343,
                                              "end": 3349,
                                              "loc": {
                                                "start": {
                                                  "line": 70,
                                                  "column": 88
                                                },
                                                "end": {
                                                  "line": 70,
                                                  "column": 94
                                                }
                                              },
                                              "name": "height"
                                            },
                                            "computed": false
                                          }
                                        },
                                        "leadingComments": null
                                      },
                                      "consequent": {
                                        "type": "BlockStatement",
                                        "start": 3351,
                                        "end": 3771,
                                        "loc": {
                                          "start": {
                                            "line": 70,
                                            "column": 96
                                          },
                                          "end": {
                                            "line": 78,
                                            "column": 17
                                          }
                                        },
                                        "body": [
                                          {
                                            "type": "ExpressionStatement",
                                            "start": 3373,
                                            "end": 3395,
                                            "loc": {
                                              "start": {
                                                "line": 71,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 71,
                                                "column": 42
                                              }
                                            },
                                            "expression": {
                                              "type": "AssignmentExpression",
                                              "start": 3373,
                                              "end": 3394,
                                              "loc": {
                                                "start": {
                                                  "line": 71,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 71,
                                                  "column": 41
                                                }
                                              },
                                              "operator": "=",
                                              "left": {
                                                "type": "MemberExpression",
                                                "start": 3373,
                                                "end": 3385,
                                                "loc": {
                                                  "start": {
                                                    "line": 71,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 71,
                                                    "column": 32
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 3373,
                                                  "end": 3378,
                                                  "loc": {
                                                    "start": {
                                                      "line": 71,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 71,
                                                      "column": 25
                                                    }
                                                  },
                                                  "name": "scope"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3379,
                                                  "end": 3385,
                                                  "loc": {
                                                    "start": {
                                                      "line": 71,
                                                      "column": 26
                                                    },
                                                    "end": {
                                                      "line": 71,
                                                      "column": 32
                                                    }
                                                  },
                                                  "name": "offset"
                                                },
                                                "computed": false
                                              },
                                              "right": {
                                                "type": "Identifier",
                                                "start": 3388,
                                                "end": 3394,
                                                "loc": {
                                                  "start": {
                                                    "line": 71,
                                                    "column": 35
                                                  },
                                                  "end": {
                                                    "line": 71,
                                                    "column": 41
                                                  }
                                                },
                                                "name": "bounds"
                                              }
                                            }
                                          },
                                          {
                                            "type": "ExpressionStatement",
                                            "start": 3416,
                                            "end": 3441,
                                            "loc": {
                                              "start": {
                                                "line": 72,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 72,
                                                "column": 45
                                              }
                                            },
                                            "expression": {
                                              "type": "CallExpression",
                                              "start": 3416,
                                              "end": 3440,
                                              "loc": {
                                                "start": {
                                                  "line": 72,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 72,
                                                  "column": 44
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 3416,
                                                "end": 3438,
                                                "loc": {
                                                  "start": {
                                                    "line": 72,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 72,
                                                    "column": 42
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 3416,
                                                  "end": 3421,
                                                  "loc": {
                                                    "start": {
                                                      "line": 72,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 72,
                                                      "column": 25
                                                    }
                                                  },
                                                  "name": "scope"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 3422,
                                                  "end": 3438,
                                                  "loc": {
                                                    "start": {
                                                      "line": 72,
                                                      "column": 26
                                                    },
                                                    "end": {
                                                      "line": 72,
                                                      "column": 42
                                                    }
                                                  },
                                                  "name": "invalidateCanvas"
                                                },
                                                "computed": false
                                              },
                                              "arguments": []
                                            },
                                            "trailingComments": [
                                              {
                                                "type": "CommentLine",
                                                "value": " Size changed, canvas needs to adapt",
                                                "start": 3463,
                                                "end": 3501,
                                                "loc": {
                                                  "start": {
                                                    "line": 74,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 74,
                                                    "column": 58
                                                  }
                                                },
                                                "range": [
                                                  3463,
                                                  3501
                                                ]
                                              }
                                            ]
                                          },
                                          {
                                            "type": "IfStatement",
                                            "start": 3522,
                                            "end": 3753,
                                            "loc": {
                                              "start": {
                                                "line": 75,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 77,
                                                "column": 21
                                              }
                                            },
                                            "test": {
                                              "type": "LogicalExpression",
                                              "start": 3526,
                                              "end": 3600,
                                              "loc": {
                                                "start": {
                                                  "line": 75,
                                                  "column": 24
                                                },
                                                "end": {
                                                  "line": 75,
                                                  "column": 98
                                                }
                                              },
                                              "left": {
                                                "type": "BinaryExpression",
                                                "start": 3526,
                                                "end": 3560,
                                                "loc": {
                                                  "start": {
                                                    "line": 75,
                                                    "column": 24
                                                  },
                                                  "end": {
                                                    "line": 75,
                                                    "column": 58
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 3526,
                                                  "end": 3538,
                                                  "loc": {
                                                    "start": {
                                                      "line": 75,
                                                      "column": 24
                                                    },
                                                    "end": {
                                                      "line": 75,
                                                      "column": 36
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 3526,
                                                    "end": 3532,
                                                    "loc": {
                                                      "start": {
                                                        "line": 75,
                                                        "column": 24
                                                      },
                                                      "end": {
                                                        "line": 75,
                                                        "column": 30
                                                      }
                                                    },
                                                    "name": "bounds",
                                                    "leadingComments": null
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3533,
                                                    "end": 3538,
                                                    "loc": {
                                                      "start": {
                                                        "line": 75,
                                                        "column": 31
                                                      },
                                                      "end": {
                                                        "line": 75,
                                                        "column": 36
                                                      }
                                                    },
                                                    "name": "width"
                                                  },
                                                  "computed": false,
                                                  "leadingComments": null
                                                },
                                                "operator": "!=",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 3542,
                                                  "end": 3560,
                                                  "loc": {
                                                    "start": {
                                                      "line": 75,
                                                      "column": 40
                                                    },
                                                    "end": {
                                                      "line": 75,
                                                      "column": 58
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "start": 3542,
                                                    "end": 3554,
                                                    "loc": {
                                                      "start": {
                                                        "line": 75,
                                                        "column": 40
                                                      },
                                                      "end": {
                                                        "line": 75,
                                                        "column": 52
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 3542,
                                                      "end": 3547,
                                                      "loc": {
                                                        "start": {
                                                          "line": 75,
                                                          "column": 40
                                                        },
                                                        "end": {
                                                          "line": 75,
                                                          "column": 45
                                                        }
                                                      },
                                                      "name": "scope"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 3548,
                                                      "end": 3554,
                                                      "loc": {
                                                        "start": {
                                                          "line": 75,
                                                          "column": 46
                                                        },
                                                        "end": {
                                                          "line": 75,
                                                          "column": 52
                                                        }
                                                      },
                                                      "name": "offset"
                                                    },
                                                    "computed": false
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3555,
                                                    "end": 3560,
                                                    "loc": {
                                                      "start": {
                                                        "line": 75,
                                                        "column": 53
                                                      },
                                                      "end": {
                                                        "line": 75,
                                                        "column": 58
                                                      }
                                                    },
                                                    "name": "width"
                                                  },
                                                  "computed": false
                                                },
                                                "leadingComments": null
                                              },
                                              "operator": "||",
                                              "right": {
                                                "type": "BinaryExpression",
                                                "start": 3564,
                                                "end": 3600,
                                                "loc": {
                                                  "start": {
                                                    "line": 75,
                                                    "column": 62
                                                  },
                                                  "end": {
                                                    "line": 75,
                                                    "column": 98
                                                  }
                                                },
                                                "left": {
                                                  "type": "MemberExpression",
                                                  "start": 3564,
                                                  "end": 3577,
                                                  "loc": {
                                                    "start": {
                                                      "line": 75,
                                                      "column": 62
                                                    },
                                                    "end": {
                                                      "line": 75,
                                                      "column": 75
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 3564,
                                                    "end": 3570,
                                                    "loc": {
                                                      "start": {
                                                        "line": 75,
                                                        "column": 62
                                                      },
                                                      "end": {
                                                        "line": 75,
                                                        "column": 68
                                                      }
                                                    },
                                                    "name": "bounds"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3571,
                                                    "end": 3577,
                                                    "loc": {
                                                      "start": {
                                                        "line": 75,
                                                        "column": 69
                                                      },
                                                      "end": {
                                                        "line": 75,
                                                        "column": 75
                                                      }
                                                    },
                                                    "name": "height"
                                                  },
                                                  "computed": false
                                                },
                                                "operator": "!=",
                                                "right": {
                                                  "type": "MemberExpression",
                                                  "start": 3581,
                                                  "end": 3600,
                                                  "loc": {
                                                    "start": {
                                                      "line": 75,
                                                      "column": 79
                                                    },
                                                    "end": {
                                                      "line": 75,
                                                      "column": 98
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "MemberExpression",
                                                    "start": 3581,
                                                    "end": 3593,
                                                    "loc": {
                                                      "start": {
                                                        "line": 75,
                                                        "column": 79
                                                      },
                                                      "end": {
                                                        "line": 75,
                                                        "column": 91
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 3581,
                                                      "end": 3586,
                                                      "loc": {
                                                        "start": {
                                                          "line": 75,
                                                          "column": 79
                                                        },
                                                        "end": {
                                                          "line": 75,
                                                          "column": 84
                                                        }
                                                      },
                                                      "name": "scope"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 3587,
                                                      "end": 3593,
                                                      "loc": {
                                                        "start": {
                                                          "line": 75,
                                                          "column": 85
                                                        },
                                                        "end": {
                                                          "line": 75,
                                                          "column": 91
                                                        }
                                                      },
                                                      "name": "offset"
                                                    },
                                                    "computed": false
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 3594,
                                                    "end": 3600,
                                                    "loc": {
                                                      "start": {
                                                        "line": 75,
                                                        "column": 92
                                                      },
                                                      "end": {
                                                        "line": 75,
                                                        "column": 98
                                                      }
                                                    },
                                                    "name": "height"
                                                  },
                                                  "computed": false
                                                }
                                              },
                                              "leadingComments": null
                                            },
                                            "consequent": {
                                              "type": "BlockStatement",
                                              "start": 3602,
                                              "end": 3753,
                                              "loc": {
                                                "start": {
                                                  "line": 75,
                                                  "column": 100
                                                },
                                                "end": {
                                                  "line": 77,
                                                  "column": 21
                                                }
                                              },
                                              "body": [
                                                {
                                                  "type": "ExpressionStatement",
                                                  "start": 3628,
                                                  "end": 3731,
                                                  "loc": {
                                                    "start": {
                                                      "line": 76,
                                                      "column": 24
                                                    },
                                                    "end": {
                                                      "line": 76,
                                                      "column": 127
                                                    }
                                                  },
                                                  "expression": {
                                                    "type": "CallExpression",
                                                    "start": 3628,
                                                    "end": 3730,
                                                    "loc": {
                                                      "start": {
                                                        "line": 76,
                                                        "column": 24
                                                      },
                                                      "end": {
                                                        "line": 76,
                                                        "column": 126
                                                      }
                                                    },
                                                    "callee": {
                                                      "type": "MemberExpression",
                                                      "start": 3628,
                                                      "end": 3644,
                                                      "loc": {
                                                        "start": {
                                                          "line": 76,
                                                          "column": 24
                                                        },
                                                        "end": {
                                                          "line": 76,
                                                          "column": 40
                                                        }
                                                      },
                                                      "object": {
                                                        "type": "MemberExpression",
                                                        "start": 3628,
                                                        "end": 3636,
                                                        "loc": {
                                                          "start": {
                                                            "line": 76,
                                                            "column": 24
                                                          },
                                                          "end": {
                                                            "line": 76,
                                                            "column": 32
                                                          }
                                                        },
                                                        "object": {
                                                          "type": "Identifier",
                                                          "start": 3628,
                                                          "end": 3633,
                                                          "loc": {
                                                            "start": {
                                                              "line": 76,
                                                              "column": 24
                                                            },
                                                            "end": {
                                                              "line": 76,
                                                              "column": 29
                                                            }
                                                          },
                                                          "name": "scope"
                                                        },
                                                        "property": {
                                                          "type": "Identifier",
                                                          "start": 3634,
                                                          "end": 3636,
                                                          "loc": {
                                                            "start": {
                                                              "line": 76,
                                                              "column": 30
                                                            },
                                                            "end": {
                                                              "line": 76,
                                                              "column": 32
                                                            }
                                                          },
                                                          "name": "gl"
                                                        },
                                                        "computed": false
                                                      },
                                                      "property": {
                                                        "type": "Identifier",
                                                        "start": 3637,
                                                        "end": 3644,
                                                        "loc": {
                                                          "start": {
                                                            "line": 76,
                                                            "column": 33
                                                          },
                                                          "end": {
                                                            "line": 76,
                                                            "column": 40
                                                          }
                                                        },
                                                        "name": "setSize"
                                                      },
                                                      "computed": false
                                                    },
                                                    "arguments": [
                                                      {
                                                        "type": "BinaryExpression",
                                                        "start": 3645,
                                                        "end": 3682,
                                                        "loc": {
                                                          "start": {
                                                            "line": 76,
                                                            "column": 41
                                                          },
                                                          "end": {
                                                            "line": 76,
                                                            "column": 78
                                                          }
                                                        },
                                                        "left": {
                                                          "type": "MemberExpression",
                                                          "start": 3645,
                                                          "end": 3663,
                                                          "loc": {
                                                            "start": {
                                                              "line": 76,
                                                              "column": 41
                                                            },
                                                            "end": {
                                                              "line": 76,
                                                              "column": 59
                                                            }
                                                          },
                                                          "object": {
                                                            "type": "MemberExpression",
                                                            "start": 3645,
                                                            "end": 3657,
                                                            "loc": {
                                                              "start": {
                                                                "line": 76,
                                                                "column": 41
                                                              },
                                                              "end": {
                                                                "line": 76,
                                                                "column": 53
                                                              }
                                                            },
                                                            "object": {
                                                              "type": "Identifier",
                                                              "start": 3645,
                                                              "end": 3650,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 76,
                                                                  "column": 41
                                                                },
                                                                "end": {
                                                                  "line": 76,
                                                                  "column": 46
                                                                }
                                                              },
                                                              "name": "scope"
                                                            },
                                                            "property": {
                                                              "type": "Identifier",
                                                              "start": 3651,
                                                              "end": 3657,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 76,
                                                                  "column": 47
                                                                },
                                                                "end": {
                                                                  "line": 76,
                                                                  "column": 53
                                                                }
                                                              },
                                                              "name": "offset"
                                                            },
                                                            "computed": false
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "start": 3658,
                                                            "end": 3663,
                                                            "loc": {
                                                              "start": {
                                                                "line": 76,
                                                                "column": 54
                                                              },
                                                              "end": {
                                                                "line": 76,
                                                                "column": 59
                                                              }
                                                            },
                                                            "name": "width"
                                                          },
                                                          "computed": false
                                                        },
                                                        "operator": "*",
                                                        "right": {
                                                          "type": "MemberExpression",
                                                          "start": 3666,
                                                          "end": 3682,
                                                          "loc": {
                                                            "start": {
                                                              "line": 76,
                                                              "column": 62
                                                            },
                                                            "end": {
                                                              "line": 76,
                                                              "column": 78
                                                            }
                                                          },
                                                          "object": {
                                                            "type": "Identifier",
                                                            "start": 3666,
                                                            "end": 3671,
                                                            "loc": {
                                                              "start": {
                                                                "line": 76,
                                                                "column": 62
                                                              },
                                                              "end": {
                                                                "line": 76,
                                                                "column": 67
                                                              }
                                                            },
                                                            "name": "scope"
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "start": 3672,
                                                            "end": 3682,
                                                            "loc": {
                                                              "start": {
                                                                "line": 76,
                                                                "column": 68
                                                              },
                                                              "end": {
                                                                "line": 76,
                                                                "column": 78
                                                              }
                                                            },
                                                            "name": "resolution"
                                                          },
                                                          "computed": false
                                                        }
                                                      },
                                                      {
                                                        "type": "BinaryExpression",
                                                        "start": 3684,
                                                        "end": 3722,
                                                        "loc": {
                                                          "start": {
                                                            "line": 76,
                                                            "column": 80
                                                          },
                                                          "end": {
                                                            "line": 76,
                                                            "column": 118
                                                          }
                                                        },
                                                        "left": {
                                                          "type": "MemberExpression",
                                                          "start": 3684,
                                                          "end": 3703,
                                                          "loc": {
                                                            "start": {
                                                              "line": 76,
                                                              "column": 80
                                                            },
                                                            "end": {
                                                              "line": 76,
                                                              "column": 99
                                                            }
                                                          },
                                                          "object": {
                                                            "type": "MemberExpression",
                                                            "start": 3684,
                                                            "end": 3696,
                                                            "loc": {
                                                              "start": {
                                                                "line": 76,
                                                                "column": 80
                                                              },
                                                              "end": {
                                                                "line": 76,
                                                                "column": 92
                                                              }
                                                            },
                                                            "object": {
                                                              "type": "Identifier",
                                                              "start": 3684,
                                                              "end": 3689,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 76,
                                                                  "column": 80
                                                                },
                                                                "end": {
                                                                  "line": 76,
                                                                  "column": 85
                                                                }
                                                              },
                                                              "name": "scope"
                                                            },
                                                            "property": {
                                                              "type": "Identifier",
                                                              "start": 3690,
                                                              "end": 3696,
                                                              "loc": {
                                                                "start": {
                                                                  "line": 76,
                                                                  "column": 86
                                                                },
                                                                "end": {
                                                                  "line": 76,
                                                                  "column": 92
                                                                }
                                                              },
                                                              "name": "offset"
                                                            },
                                                            "computed": false
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "start": 3697,
                                                            "end": 3703,
                                                            "loc": {
                                                              "start": {
                                                                "line": 76,
                                                                "column": 93
                                                              },
                                                              "end": {
                                                                "line": 76,
                                                                "column": 99
                                                              }
                                                            },
                                                            "name": "height"
                                                          },
                                                          "computed": false
                                                        },
                                                        "operator": "*",
                                                        "right": {
                                                          "type": "MemberExpression",
                                                          "start": 3706,
                                                          "end": 3722,
                                                          "loc": {
                                                            "start": {
                                                              "line": 76,
                                                              "column": 102
                                                            },
                                                            "end": {
                                                              "line": 76,
                                                              "column": 118
                                                            }
                                                          },
                                                          "object": {
                                                            "type": "Identifier",
                                                            "start": 3706,
                                                            "end": 3711,
                                                            "loc": {
                                                              "start": {
                                                                "line": 76,
                                                                "column": 102
                                                              },
                                                              "end": {
                                                                "line": 76,
                                                                "column": 107
                                                              }
                                                            },
                                                            "name": "scope"
                                                          },
                                                          "property": {
                                                            "type": "Identifier",
                                                            "start": 3712,
                                                            "end": 3722,
                                                            "loc": {
                                                              "start": {
                                                                "line": 76,
                                                                "column": 108
                                                              },
                                                              "end": {
                                                                "line": 76,
                                                                "column": 118
                                                              }
                                                            },
                                                            "name": "resolution"
                                                          },
                                                          "computed": false
                                                        }
                                                      },
                                                      {
                                                        "type": "Literal",
                                                        "start": 3724,
                                                        "end": 3729,
                                                        "loc": {
                                                          "start": {
                                                            "line": 76,
                                                            "column": 120
                                                          },
                                                          "end": {
                                                            "line": 76,
                                                            "column": 125
                                                          }
                                                        },
                                                        "value": false,
                                                        "rawValue": false,
                                                        "raw": "false"
                                                      }
                                                    ]
                                                  }
                                                }
                                              ]
                                            },
                                            "alternate": null,
                                            "leadingComments": [
                                              {
                                                "type": "CommentLine",
                                                "value": " Size changed, canvas needs to adapt",
                                                "start": 3463,
                                                "end": 3501,
                                                "loc": {
                                                  "start": {
                                                    "line": 74,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 74,
                                                    "column": 58
                                                  }
                                                },
                                                "range": [
                                                  3463,
                                                  3501
                                                ]
                                              }
                                            ]
                                          }
                                        ]
                                      },
                                      "alternate": null,
                                      "leadingComments": [
                                        {
                                          "type": "CommentLine",
                                          "value": " Test for changes, position & size",
                                          "start": 3128,
                                          "end": 3164,
                                          "loc": {
                                            "start": {
                                              "line": 68,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 68,
                                              "column": 52
                                            }
                                          },
                                          "range": [
                                            3128,
                                            3164
                                          ]
                                        }
                                      ]
                                    },
                                    {
                                      "type": "ExpressionStatement",
                                      "start": 3788,
                                      "end": 3813,
                                      "loc": {
                                        "start": {
                                          "line": 79,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 79,
                                          "column": 41
                                        }
                                      },
                                      "expression": {
                                        "type": "UpdateExpression",
                                        "start": 3788,
                                        "end": 3812,
                                        "loc": {
                                          "start": {
                                            "line": 79,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 79,
                                            "column": 40
                                          }
                                        },
                                        "operator": "--",
                                        "prefix": false,
                                        "argument": {
                                          "type": "MemberExpression",
                                          "start": 3788,
                                          "end": 3810,
                                          "loc": {
                                            "start": {
                                              "line": 79,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 79,
                                              "column": 38
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 3788,
                                            "end": 3793,
                                            "loc": {
                                              "start": {
                                                "line": 79,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 79,
                                                "column": 21
                                              }
                                            },
                                            "name": "scope"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 3794,
                                            "end": 3810,
                                            "loc": {
                                              "start": {
                                                "line": 79,
                                                "column": 22
                                              },
                                              "end": {
                                                "line": 79,
                                                "column": 38
                                              }
                                            },
                                            "name": "invalidateFrames"
                                          },
                                          "computed": false
                                        }
                                      }
                                    }
                                  ],
                                  "trailingComments": null
                                },
                                "alternate": null,
                                "leadingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " Pass 1: measure canvas; do this only when the canvas is dirty",
                                    "start": 2917,
                                    "end": 2981,
                                    "loc": {
                                      "start": {
                                        "line": 64,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 64,
                                        "column": 76
                                      }
                                    },
                                    "range": [
                                      2917,
                                      2981
                                    ]
                                  }
                                ],
                                "trailingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " Update animations",
                                    "start": 3841,
                                    "end": 3861,
                                    "loc": {
                                      "start": {
                                        "line": 82,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 82,
                                        "column": 32
                                      }
                                    },
                                    "range": [
                                      3841,
                                      3861
                                    ]
                                  }
                                ]
                              },
                              {
                                "type": "ExpressionStatement",
                                "start": 3874,
                                "end": 3893,
                                "loc": {
                                  "start": {
                                    "line": 83,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 83,
                                    "column": 31
                                  }
                                },
                                "expression": {
                                  "type": "CallExpression",
                                  "start": 3874,
                                  "end": 3892,
                                  "loc": {
                                    "start": {
                                      "line": 83,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 83,
                                      "column": 30
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 3874,
                                    "end": 3886,
                                    "loc": {
                                      "start": {
                                        "line": 83,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 83,
                                        "column": 24
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 3874,
                                      "end": 3879,
                                      "loc": {
                                        "start": {
                                          "line": 83,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 83,
                                          "column": 17
                                        }
                                      },
                                      "name": "Tween",
                                      "leadingComments": null
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3880,
                                      "end": 3886,
                                      "loc": {
                                        "start": {
                                          "line": 83,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 83,
                                          "column": 24
                                        }
                                      },
                                      "name": "update"
                                    },
                                    "computed": false,
                                    "leadingComments": null
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 3887,
                                      "end": 3891,
                                      "loc": {
                                        "start": {
                                          "line": 83,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 83,
                                          "column": 29
                                        }
                                      },
                                      "name": "time"
                                    }
                                  ],
                                  "leadingComments": null
                                },
                                "leadingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " Update animations",
                                    "start": 3841,
                                    "end": 3861,
                                    "loc": {
                                      "start": {
                                        "line": 82,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 82,
                                        "column": 32
                                      }
                                    },
                                    "range": [
                                      3841,
                                      3861
                                    ]
                                  }
                                ],
                                "trailingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " Pass 2: measure view changes, stamp out old space",
                                    "start": 3907,
                                    "end": 3959,
                                    "loc": {
                                      "start": {
                                        "line": 85,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 85,
                                        "column": 64
                                      }
                                    },
                                    "range": [
                                      3907,
                                      3959
                                    ]
                                  }
                                ]
                              },
                              {
                                "type": "VariableDeclaration",
                                "start": 3972,
                                "end": 3999,
                                "loc": {
                                  "start": {
                                    "line": 86,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 86,
                                    "column": 39
                                  }
                                },
                                "declarations": [
                                  {
                                    "type": "VariableDeclarator",
                                    "start": 3976,
                                    "end": 3998,
                                    "loc": {
                                      "start": {
                                        "line": 86,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 86,
                                        "column": 38
                                      }
                                    },
                                    "id": {
                                      "type": "Identifier",
                                      "start": 3976,
                                      "end": 3991,
                                      "loc": {
                                        "start": {
                                          "line": 86,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 86,
                                          "column": 31
                                        }
                                      },
                                      "name": "revokeDirtyFlag",
                                      "leadingComments": null
                                    },
                                    "init": {
                                      "type": "Literal",
                                      "start": 3994,
                                      "end": 3998,
                                      "loc": {
                                        "start": {
                                          "line": 86,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 86,
                                          "column": 38
                                        }
                                      },
                                      "value": true,
                                      "rawValue": true,
                                      "raw": "true"
                                    },
                                    "leadingComments": null
                                  }
                                ],
                                "kind": "let",
                                "leadingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " Pass 2: measure view changes, stamp out old space",
                                    "start": 3907,
                                    "end": 3959,
                                    "loc": {
                                      "start": {
                                        "line": 85,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 85,
                                        "column": 64
                                      }
                                    },
                                    "range": [
                                      3907,
                                      3959
                                    ]
                                  }
                                ]
                              },
                              {
                                "type": "ForOfStatement",
                                "start": 4012,
                                "end": 4209,
                                "loc": {
                                  "start": {
                                    "line": 87,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 90,
                                    "column": 13
                                  }
                                },
                                "left": {
                                  "type": "VariableDeclaration",
                                  "start": 4017,
                                  "end": 4025,
                                  "loc": {
                                    "start": {
                                      "line": 87,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 87,
                                      "column": 25
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 4021,
                                      "end": 4025,
                                      "loc": {
                                        "start": {
                                          "line": 87,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 87,
                                          "column": 25
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 4021,
                                        "end": 4025,
                                        "loc": {
                                          "start": {
                                            "line": 87,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 87,
                                            "column": 25
                                          }
                                        },
                                        "name": "view"
                                      },
                                      "init": null
                                    }
                                  ],
                                  "kind": "let"
                                },
                                "right": {
                                  "type": "MemberExpression",
                                  "start": 4029,
                                  "end": 4047,
                                  "loc": {
                                    "start": {
                                      "line": 87,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 87,
                                      "column": 47
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 4029,
                                    "end": 4041,
                                    "loc": {
                                      "start": {
                                        "line": 87,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 87,
                                        "column": 41
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 4029,
                                      "end": 4034,
                                      "loc": {
                                        "start": {
                                          "line": 87,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 87,
                                          "column": 34
                                        }
                                      },
                                      "name": "scope"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4035,
                                      "end": 4041,
                                      "loc": {
                                        "start": {
                                          "line": 87,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 87,
                                          "column": 41
                                        }
                                      },
                                      "name": "canvas"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4042,
                                    "end": 4047,
                                    "loc": {
                                      "start": {
                                        "line": 87,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 87,
                                        "column": 47
                                      }
                                    },
                                    "name": "views"
                                  },
                                  "computed": false
                                },
                                "body": {
                                  "type": "BlockStatement",
                                  "start": 4049,
                                  "end": 4209,
                                  "loc": {
                                    "start": {
                                      "line": 87,
                                      "column": 49
                                    },
                                    "end": {
                                      "line": 90,
                                      "column": 13
                                    }
                                  },
                                  "body": [
                                    {
                                      "type": "IfStatement",
                                      "start": 4149,
                                      "end": 4195,
                                      "loc": {
                                        "start": {
                                          "line": 89,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 89,
                                          "column": 62
                                        }
                                      },
                                      "test": {
                                        "type": "CallExpression",
                                        "start": 4153,
                                        "end": 4169,
                                        "loc": {
                                          "start": {
                                            "line": 89,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 89,
                                            "column": 36
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 4153,
                                          "end": 4163,
                                          "loc": {
                                            "start": {
                                              "line": 89,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 89,
                                              "column": 30
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 4153,
                                            "end": 4157,
                                            "loc": {
                                              "start": {
                                                "line": 89,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 89,
                                                "column": 24
                                              }
                                            },
                                            "name": "view",
                                            "leadingComments": null
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 4158,
                                            "end": 4163,
                                            "loc": {
                                              "start": {
                                                "line": 89,
                                                "column": 25
                                              },
                                              "end": {
                                                "line": 89,
                                                "column": 30
                                              }
                                            },
                                            "name": "clear"
                                          },
                                          "computed": false,
                                          "leadingComments": null
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 4164,
                                            "end": 4168,
                                            "loc": {
                                              "start": {
                                                "line": 89,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 89,
                                                "column": 35
                                              }
                                            },
                                            "name": "time"
                                          }
                                        ],
                                        "leadingComments": null
                                      },
                                      "consequent": {
                                        "type": "ExpressionStatement",
                                        "start": 4171,
                                        "end": 4195,
                                        "loc": {
                                          "start": {
                                            "line": 89,
                                            "column": 38
                                          },
                                          "end": {
                                            "line": 89,
                                            "column": 62
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 4171,
                                          "end": 4194,
                                          "loc": {
                                            "start": {
                                              "line": 89,
                                              "column": 38
                                            },
                                            "end": {
                                              "line": 89,
                                              "column": 61
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "Identifier",
                                            "start": 4171,
                                            "end": 4186,
                                            "loc": {
                                              "start": {
                                                "line": 89,
                                                "column": 38
                                              },
                                              "end": {
                                                "line": 89,
                                                "column": 53
                                              }
                                            },
                                            "name": "revokeDirtyFlag"
                                          },
                                          "right": {
                                            "type": "Literal",
                                            "start": 4189,
                                            "end": 4194,
                                            "loc": {
                                              "start": {
                                                "line": 89,
                                                "column": 56
                                              },
                                              "end": {
                                                "line": 89,
                                                "column": 61
                                              }
                                            },
                                            "value": false,
                                            "rawValue": false,
                                            "raw": "false"
                                          }
                                        }
                                      },
                                      "alternate": null,
                                      "leadingComments": [
                                        {
                                          "type": "CommentLine",
                                          "value": " If any view has measured changes, the canvas will remain dirty",
                                          "start": 4067,
                                          "end": 4132,
                                          "loc": {
                                            "start": {
                                              "line": 88,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 88,
                                              "column": 81
                                            }
                                          },
                                          "range": [
                                            4067,
                                            4132
                                          ]
                                        }
                                      ]
                                    }
                                  ],
                                  "trailingComments": null
                                },
                                "trailingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " Pass 3: render view content",
                                    "start": 4223,
                                    "end": 4253,
                                    "loc": {
                                      "start": {
                                        "line": 92,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 92,
                                        "column": 42
                                      }
                                    },
                                    "range": [
                                      4223,
                                      4253
                                    ]
                                  }
                                ]
                              },
                              {
                                "type": "ForOfStatement",
                                "start": 4266,
                                "end": 4337,
                                "loc": {
                                  "start": {
                                    "line": 93,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 94,
                                    "column": 34
                                  }
                                },
                                "left": {
                                  "type": "VariableDeclaration",
                                  "start": 4271,
                                  "end": 4279,
                                  "loc": {
                                    "start": {
                                      "line": 93,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 93,
                                      "column": 25
                                    }
                                  },
                                  "declarations": [
                                    {
                                      "type": "VariableDeclarator",
                                      "start": 4275,
                                      "end": 4279,
                                      "loc": {
                                        "start": {
                                          "line": 93,
                                          "column": 21
                                        },
                                        "end": {
                                          "line": 93,
                                          "column": 25
                                        }
                                      },
                                      "id": {
                                        "type": "Identifier",
                                        "start": 4275,
                                        "end": 4279,
                                        "loc": {
                                          "start": {
                                            "line": 93,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 93,
                                            "column": 25
                                          }
                                        },
                                        "name": "view",
                                        "leadingComments": null
                                      },
                                      "init": null,
                                      "leadingComments": null
                                    }
                                  ],
                                  "kind": "let",
                                  "leadingComments": null
                                },
                                "right": {
                                  "type": "MemberExpression",
                                  "start": 4283,
                                  "end": 4301,
                                  "loc": {
                                    "start": {
                                      "line": 93,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 93,
                                      "column": 47
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 4283,
                                    "end": 4295,
                                    "loc": {
                                      "start": {
                                        "line": 93,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 93,
                                        "column": 41
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 4283,
                                      "end": 4288,
                                      "loc": {
                                        "start": {
                                          "line": 93,
                                          "column": 29
                                        },
                                        "end": {
                                          "line": 93,
                                          "column": 34
                                        }
                                      },
                                      "name": "scope"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4289,
                                      "end": 4295,
                                      "loc": {
                                        "start": {
                                          "line": 93,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 93,
                                          "column": 41
                                        }
                                      },
                                      "name": "canvas"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4296,
                                    "end": 4301,
                                    "loc": {
                                      "start": {
                                        "line": 93,
                                        "column": 42
                                      },
                                      "end": {
                                        "line": 93,
                                        "column": 47
                                      }
                                    },
                                    "name": "views"
                                  },
                                  "computed": false
                                },
                                "body": {
                                  "type": "ExpressionStatement",
                                  "start": 4319,
                                  "end": 4337,
                                  "loc": {
                                    "start": {
                                      "line": 94,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 94,
                                      "column": 34
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 4319,
                                    "end": 4336,
                                    "loc": {
                                      "start": {
                                        "line": 94,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 94,
                                        "column": 33
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 4319,
                                      "end": 4330,
                                      "loc": {
                                        "start": {
                                          "line": 94,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 94,
                                          "column": 27
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 4319,
                                        "end": 4323,
                                        "loc": {
                                          "start": {
                                            "line": 94,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 94,
                                            "column": 20
                                          }
                                        },
                                        "name": "view"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 4324,
                                        "end": 4330,
                                        "loc": {
                                          "start": {
                                            "line": 94,
                                            "column": 21
                                          },
                                          "end": {
                                            "line": 94,
                                            "column": 27
                                          }
                                        },
                                        "name": "render"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 4331,
                                        "end": 4335,
                                        "loc": {
                                          "start": {
                                            "line": 94,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 94,
                                            "column": 32
                                          }
                                        },
                                        "name": "time"
                                      }
                                    ]
                                  },
                                  "trailingComments": null
                                },
                                "leadingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " Pass 3: render view content",
                                    "start": 4223,
                                    "end": 4253,
                                    "loc": {
                                      "start": {
                                        "line": 92,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 92,
                                        "column": 42
                                      }
                                    },
                                    "range": [
                                      4223,
                                      4253
                                    ]
                                  }
                                ],
                                "trailingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " If nothing has changed in size or position the canvas is clean",
                                    "start": 4351,
                                    "end": 4416,
                                    "loc": {
                                      "start": {
                                        "line": 96,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 96,
                                        "column": 77
                                      }
                                    },
                                    "range": [
                                      4351,
                                      4416
                                    ]
                                  }
                                ]
                              },
                              {
                                "type": "IfStatement",
                                "start": 4429,
                                "end": 4486,
                                "loc": {
                                  "start": {
                                    "line": 97,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 98,
                                    "column": 36
                                  }
                                },
                                "test": {
                                  "type": "Identifier",
                                  "start": 4433,
                                  "end": 4448,
                                  "loc": {
                                    "start": {
                                      "line": 97,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 97,
                                      "column": 31
                                    }
                                  },
                                  "name": "revokeDirtyFlag",
                                  "leadingComments": null
                                },
                                "consequent": {
                                  "type": "ExpressionStatement",
                                  "start": 4466,
                                  "end": 4486,
                                  "loc": {
                                    "start": {
                                      "line": 98,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 98,
                                      "column": 36
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 4466,
                                    "end": 4485,
                                    "loc": {
                                      "start": {
                                        "line": 98,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 98,
                                        "column": 35
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 4466,
                                      "end": 4477,
                                      "loc": {
                                        "start": {
                                          "line": 98,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 98,
                                          "column": 27
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 4466,
                                        "end": 4471,
                                        "loc": {
                                          "start": {
                                            "line": 98,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 98,
                                            "column": 21
                                          }
                                        },
                                        "name": "scope"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 4472,
                                        "end": 4477,
                                        "loc": {
                                          "start": {
                                            "line": 98,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 98,
                                            "column": 27
                                          }
                                        },
                                        "name": "dirty"
                                      },
                                      "computed": false
                                    },
                                    "right": {
                                      "type": "Literal",
                                      "start": 4480,
                                      "end": 4485,
                                      "loc": {
                                        "start": {
                                          "line": 98,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 98,
                                          "column": 35
                                        }
                                      },
                                      "value": false,
                                      "rawValue": false,
                                      "raw": "false"
                                    }
                                  }
                                },
                                "alternate": null,
                                "leadingComments": [
                                  {
                                    "type": "CommentLine",
                                    "value": " If nothing has changed in size or position the canvas is clean",
                                    "start": 4351,
                                    "end": 4416,
                                    "loc": {
                                      "start": {
                                        "line": 96,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 96,
                                        "column": 77
                                      }
                                    },
                                    "range": [
                                      4351,
                                      4416
                                    ]
                                  }
                                ]
                              }
                            ],
                            "trailingComments": null
                          },
                          "trailingComments": null
                        },
                        "trailingComments": null
                      },
                      "trailingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Start render loop",
                          "start": 4506,
                          "end": 4526,
                          "loc": {
                            "start": {
                              "line": 101,
                              "column": 8
                            },
                            "end": {
                              "line": 101,
                              "column": 28
                            }
                          },
                          "range": [
                            4506,
                            4526
                          ]
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 4535,
                      "end": 4587,
                      "loc": {
                        "start": {
                          "line": 102,
                          "column": 8
                        },
                        "end": {
                          "line": 103,
                          "column": 25
                        }
                      },
                      "test": {
                        "type": "MemberExpression",
                        "start": 4539,
                        "end": 4560,
                        "loc": {
                          "start": {
                            "line": 102,
                            "column": 12
                          },
                          "end": {
                            "line": 102,
                            "column": 33
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 4539,
                          "end": 4543,
                          "loc": {
                            "start": {
                              "line": 102,
                              "column": 12
                            },
                            "end": {
                              "line": 102,
                              "column": 16
                            }
                          },
                          "leadingComments": null
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 4544,
                          "end": 4560,
                          "loc": {
                            "start": {
                              "line": 102,
                              "column": 17
                            },
                            "end": {
                              "line": 102,
                              "column": 33
                            }
                          },
                          "name": "startImmediately"
                        },
                        "computed": false,
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 4574,
                        "end": 4587,
                        "loc": {
                          "start": {
                            "line": 103,
                            "column": 12
                          },
                          "end": {
                            "line": 103,
                            "column": 25
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 4574,
                          "end": 4586,
                          "loc": {
                            "start": {
                              "line": 103,
                              "column": 12
                            },
                            "end": {
                              "line": 103,
                              "column": 24
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 4574,
                            "end": 4584,
                            "loc": {
                              "start": {
                                "line": 103,
                                "column": 12
                              },
                              "end": {
                                "line": 103,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 4574,
                              "end": 4578,
                              "loc": {
                                "start": {
                                  "line": 103,
                                  "column": 12
                                },
                                "end": {
                                  "line": 103,
                                  "column": 16
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4579,
                              "end": 4584,
                              "loc": {
                                "start": {
                                  "line": 103,
                                  "column": 17
                                },
                                "end": {
                                  "line": 103,
                                  "column": 22
                                }
                              },
                              "name": "start"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentLine",
                          "value": " Start render loop",
                          "start": 4506,
                          "end": 4526,
                          "loc": {
                            "start": {
                              "line": 101,
                              "column": 8
                            },
                            "end": {
                              "line": 101,
                              "column": 28
                            }
                          },
                          "range": [
                            4506,
                            4526
                          ]
                        }
                      ]
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 4599,
              "end": 4654,
              "loc": {
                "start": {
                  "line": 106,
                  "column": 4
                },
                "end": {
                  "line": 108,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 4599,
                "end": 4604,
                "loc": {
                  "start": {
                    "line": 106,
                    "column": 4
                  },
                  "end": {
                    "line": 106,
                    "column": 9
                  }
                },
                "name": "start"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 4604,
                "end": 4654,
                "loc": {
                  "start": {
                    "line": 106,
                    "column": 9
                  },
                  "end": {
                    "line": 108,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 4607,
                  "end": 4654,
                  "loc": {
                    "start": {
                      "line": 106,
                      "column": 12
                    },
                    "end": {
                      "line": 108,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 4617,
                      "end": 4648,
                      "loc": {
                        "start": {
                          "line": 107,
                          "column": 8
                        },
                        "end": {
                          "line": 107,
                          "column": 39
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 4617,
                        "end": 4647,
                        "loc": {
                          "start": {
                            "line": 107,
                            "column": 8
                          },
                          "end": {
                            "line": 107,
                            "column": 38
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 4617,
                          "end": 4628,
                          "loc": {
                            "start": {
                              "line": 107,
                              "column": 8
                            },
                            "end": {
                              "line": 107,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4617,
                            "end": 4621,
                            "loc": {
                              "start": {
                                "line": 107,
                                "column": 8
                              },
                              "end": {
                                "line": 107,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4622,
                            "end": 4628,
                            "loc": {
                              "start": {
                                "line": 107,
                                "column": 13
                              },
                              "end": {
                                "line": 107,
                                "column": 19
                              }
                            },
                            "name": "render"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "CallExpression",
                            "start": 4629,
                            "end": 4646,
                            "loc": {
                              "start": {
                                "line": 107,
                                "column": 20
                              },
                              "end": {
                                "line": 107,
                                "column": 37
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 4629,
                              "end": 4644,
                              "loc": {
                                "start": {
                                  "line": 107,
                                  "column": 20
                                },
                                "end": {
                                  "line": 107,
                                  "column": 35
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 4629,
                                "end": 4640,
                                "loc": {
                                  "start": {
                                    "line": 107,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 107,
                                    "column": 31
                                  }
                                },
                                "name": "performance"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4641,
                                "end": 4644,
                                "loc": {
                                  "start": {
                                    "line": 107,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 107,
                                    "column": 35
                                  }
                                },
                                "name": "now"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 4660,
              "end": 4912,
              "loc": {
                "start": {
                  "line": 110,
                  "column": 4
                },
                "end": {
                  "line": 115,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 4660,
                "end": 4666,
                "loc": {
                  "start": {
                    "line": 110,
                    "column": 4
                  },
                  "end": {
                    "line": 110,
                    "column": 10
                  }
                },
                "name": "resize"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 4666,
                "end": 4912,
                "loc": {
                  "start": {
                    "line": 110,
                    "column": 10
                  },
                  "end": {
                    "line": 115,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 4669,
                  "end": 4912,
                  "loc": {
                    "start": {
                      "line": 110,
                      "column": 13
                    },
                    "end": {
                      "line": 115,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 4679,
                      "end": 4730,
                      "loc": {
                        "start": {
                          "line": 111,
                          "column": 8
                        },
                        "end": {
                          "line": 111,
                          "column": 59
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 4679,
                        "end": 4729,
                        "loc": {
                          "start": {
                            "line": 111,
                            "column": 8
                          },
                          "end": {
                            "line": 111,
                            "column": 58
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 4679,
                          "end": 4690,
                          "loc": {
                            "start": {
                              "line": 111,
                              "column": 8
                            },
                            "end": {
                              "line": 111,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4679,
                            "end": 4683,
                            "loc": {
                              "start": {
                                "line": 111,
                                "column": 8
                              },
                              "end": {
                                "line": 111,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4684,
                            "end": 4690,
                            "loc": {
                              "start": {
                                "line": 111,
                                "column": 13
                              },
                              "end": {
                                "line": 111,
                                "column": 19
                              }
                            },
                            "name": "offset"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 4693,
                          "end": 4729,
                          "loc": {
                            "start": {
                              "line": 111,
                              "column": 22
                            },
                            "end": {
                              "line": 111,
                              "column": 58
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 4693,
                            "end": 4727,
                            "loc": {
                              "start": {
                                "line": 111,
                                "column": 22
                              },
                              "end": {
                                "line": 111,
                                "column": 56
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 4693,
                              "end": 4705,
                              "loc": {
                                "start": {
                                  "line": 111,
                                  "column": 22
                                },
                                "end": {
                                  "line": 111,
                                  "column": 34
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 4693,
                                "end": 4697,
                                "loc": {
                                  "start": {
                                    "line": 111,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 111,
                                    "column": 26
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4698,
                                "end": 4705,
                                "loc": {
                                  "start": {
                                    "line": 111,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 111,
                                    "column": 34
                                  }
                                },
                                "name": "context"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4706,
                              "end": 4727,
                              "loc": {
                                "start": {
                                  "line": 111,
                                  "column": 35
                                },
                                "end": {
                                  "line": 111,
                                  "column": 56
                                }
                              },
                              "name": "getBoundingClientRect"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 4739,
                      "end": 4837,
                      "loc": {
                        "start": {
                          "line": 112,
                          "column": 8
                        },
                        "end": {
                          "line": 112,
                          "column": 106
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 4739,
                        "end": 4836,
                        "loc": {
                          "start": {
                            "line": 112,
                            "column": 8
                          },
                          "end": {
                            "line": 112,
                            "column": 105
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 4739,
                          "end": 4754,
                          "loc": {
                            "start": {
                              "line": 112,
                              "column": 8
                            },
                            "end": {
                              "line": 112,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 4739,
                            "end": 4746,
                            "loc": {
                              "start": {
                                "line": 112,
                                "column": 8
                              },
                              "end": {
                                "line": 112,
                                "column": 15
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 4739,
                              "end": 4743,
                              "loc": {
                                "start": {
                                  "line": 112,
                                  "column": 8
                                },
                                "end": {
                                  "line": 112,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4744,
                              "end": 4746,
                              "loc": {
                                "start": {
                                  "line": 112,
                                  "column": 13
                                },
                                "end": {
                                  "line": 112,
                                  "column": 15
                                }
                              },
                              "name": "gl"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4747,
                            "end": 4754,
                            "loc": {
                              "start": {
                                "line": 112,
                                "column": 16
                              },
                              "end": {
                                "line": 112,
                                "column": 23
                              }
                            },
                            "name": "setSize"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "BinaryExpression",
                            "start": 4755,
                            "end": 4790,
                            "loc": {
                              "start": {
                                "line": 112,
                                "column": 24
                              },
                              "end": {
                                "line": 112,
                                "column": 59
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 4755,
                              "end": 4772,
                              "loc": {
                                "start": {
                                  "line": 112,
                                  "column": 24
                                },
                                "end": {
                                  "line": 112,
                                  "column": 41
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 4755,
                                "end": 4766,
                                "loc": {
                                  "start": {
                                    "line": 112,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 112,
                                    "column": 35
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 4755,
                                  "end": 4759,
                                  "loc": {
                                    "start": {
                                      "line": 112,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 112,
                                      "column": 28
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4760,
                                  "end": 4766,
                                  "loc": {
                                    "start": {
                                      "line": 112,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 112,
                                      "column": 35
                                    }
                                  },
                                  "name": "offset"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4767,
                                "end": 4772,
                                "loc": {
                                  "start": {
                                    "line": 112,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 112,
                                    "column": 41
                                  }
                                },
                                "name": "width"
                              },
                              "computed": false
                            },
                            "operator": "*",
                            "right": {
                              "type": "MemberExpression",
                              "start": 4775,
                              "end": 4790,
                              "loc": {
                                "start": {
                                  "line": 112,
                                  "column": 44
                                },
                                "end": {
                                  "line": 112,
                                  "column": 59
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 4775,
                                "end": 4779,
                                "loc": {
                                  "start": {
                                    "line": 112,
                                    "column": 44
                                  },
                                  "end": {
                                    "line": 112,
                                    "column": 48
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4780,
                                "end": 4790,
                                "loc": {
                                  "start": {
                                    "line": 112,
                                    "column": 49
                                  },
                                  "end": {
                                    "line": 112,
                                    "column": 59
                                  }
                                },
                                "name": "resolution"
                              },
                              "computed": false
                            }
                          },
                          {
                            "type": "BinaryExpression",
                            "start": 4792,
                            "end": 4828,
                            "loc": {
                              "start": {
                                "line": 112,
                                "column": 61
                              },
                              "end": {
                                "line": 112,
                                "column": 97
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 4792,
                              "end": 4810,
                              "loc": {
                                "start": {
                                  "line": 112,
                                  "column": 61
                                },
                                "end": {
                                  "line": 112,
                                  "column": 79
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 4792,
                                "end": 4803,
                                "loc": {
                                  "start": {
                                    "line": 112,
                                    "column": 61
                                  },
                                  "end": {
                                    "line": 112,
                                    "column": 72
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 4792,
                                  "end": 4796,
                                  "loc": {
                                    "start": {
                                      "line": 112,
                                      "column": 61
                                    },
                                    "end": {
                                      "line": 112,
                                      "column": 65
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4797,
                                  "end": 4803,
                                  "loc": {
                                    "start": {
                                      "line": 112,
                                      "column": 66
                                    },
                                    "end": {
                                      "line": 112,
                                      "column": 72
                                    }
                                  },
                                  "name": "offset"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4804,
                                "end": 4810,
                                "loc": {
                                  "start": {
                                    "line": 112,
                                    "column": 73
                                  },
                                  "end": {
                                    "line": 112,
                                    "column": 79
                                  }
                                },
                                "name": "height"
                              },
                              "computed": false
                            },
                            "operator": "*",
                            "right": {
                              "type": "MemberExpression",
                              "start": 4813,
                              "end": 4828,
                              "loc": {
                                "start": {
                                  "line": 112,
                                  "column": 82
                                },
                                "end": {
                                  "line": 112,
                                  "column": 97
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 4813,
                                "end": 4817,
                                "loc": {
                                  "start": {
                                    "line": 112,
                                    "column": 82
                                  },
                                  "end": {
                                    "line": 112,
                                    "column": 86
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4818,
                                "end": 4828,
                                "loc": {
                                  "start": {
                                    "line": 112,
                                    "column": 87
                                  },
                                  "end": {
                                    "line": 112,
                                    "column": 97
                                  }
                                },
                                "name": "resolution"
                              },
                              "computed": false
                            }
                          },
                          {
                            "type": "Literal",
                            "start": 4830,
                            "end": 4835,
                            "loc": {
                              "start": {
                                "line": 112,
                                "column": 99
                              },
                              "end": {
                                "line": 112,
                                "column": 104
                              }
                            },
                            "value": false,
                            "rawValue": false,
                            "raw": "false"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 4846,
                      "end": 4872,
                      "loc": {
                        "start": {
                          "line": 113,
                          "column": 8
                        },
                        "end": {
                          "line": 113,
                          "column": 34
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 4846,
                        "end": 4871,
                        "loc": {
                          "start": {
                            "line": 113,
                            "column": 8
                          },
                          "end": {
                            "line": 113,
                            "column": 33
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 4846,
                          "end": 4867,
                          "loc": {
                            "start": {
                              "line": 113,
                              "column": 8
                            },
                            "end": {
                              "line": 113,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4846,
                            "end": 4850,
                            "loc": {
                              "start": {
                                "line": 113,
                                "column": 8
                              },
                              "end": {
                                "line": 113,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4851,
                            "end": 4867,
                            "loc": {
                              "start": {
                                "line": 113,
                                "column": 13
                              },
                              "end": {
                                "line": 113,
                                "column": 29
                              }
                            },
                            "name": "invalidateCanvas"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 4868,
                            "end": 4870,
                            "loc": {
                              "start": {
                                "line": 113,
                                "column": 30
                              },
                              "end": {
                                "line": 113,
                                "column": 32
                              }
                            },
                            "value": 30,
                            "rawValue": 30,
                            "raw": "30"
                          }
                        ]
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 4881,
                      "end": 4906,
                      "loc": {
                        "start": {
                          "line": 114,
                          "column": 8
                        },
                        "end": {
                          "line": 114,
                          "column": 33
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 4881,
                        "end": 4905,
                        "loc": {
                          "start": {
                            "line": 114,
                            "column": 8
                          },
                          "end": {
                            "line": 114,
                            "column": 32
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 4881,
                          "end": 4901,
                          "loc": {
                            "start": {
                              "line": 114,
                              "column": 8
                            },
                            "end": {
                              "line": 114,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4881,
                            "end": 4885,
                            "loc": {
                              "start": {
                                "line": 114,
                                "column": 8
                              },
                              "end": {
                                "line": 114,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4886,
                            "end": 4901,
                            "loc": {
                              "start": {
                                "line": 114,
                                "column": 13
                              },
                              "end": {
                                "line": 114,
                                "column": 28
                              }
                            },
                            "name": "invalidateViews"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Literal",
                            "start": 4902,
                            "end": 4904,
                            "loc": {
                              "start": {
                                "line": 114,
                                "column": 29
                              },
                              "end": {
                                "line": 114,
                                "column": 31
                              }
                            },
                            "value": 30,
                            "rawValue": 30,
                            "raw": "30"
                          }
                        ]
                      }
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 4918,
              "end": 5075,
              "loc": {
                "start": {
                  "line": 117,
                  "column": 4
                },
                "end": {
                  "line": 121,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 4918,
                "end": 4934,
                "loc": {
                  "start": {
                    "line": 117,
                    "column": 4
                  },
                  "end": {
                    "line": 117,
                    "column": 20
                  }
                },
                "name": "invalidateCanvas"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 4934,
                "end": 5075,
                "loc": {
                  "start": {
                    "line": 117,
                    "column": 20
                  },
                  "end": {
                    "line": 121,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "AssignmentPattern",
                    "start": 4935,
                    "end": 4945,
                    "loc": {
                      "start": {
                        "line": 117,
                        "column": 21
                      },
                      "end": {
                        "line": 117,
                        "column": 31
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 4935,
                      "end": 4941,
                      "loc": {
                        "start": {
                          "line": 117,
                          "column": 21
                        },
                        "end": {
                          "line": 117,
                          "column": 27
                        }
                      },
                      "name": "frames"
                    },
                    "right": {
                      "type": "Literal",
                      "start": 4944,
                      "end": 4945,
                      "loc": {
                        "start": {
                          "line": 117,
                          "column": 30
                        },
                        "end": {
                          "line": 117,
                          "column": 31
                        }
                      },
                      "value": 1,
                      "rawValue": 1,
                      "raw": "1"
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 4947,
                  "end": 5075,
                  "loc": {
                    "start": {
                      "line": 117,
                      "column": 33
                    },
                    "end": {
                      "line": 121,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 4957,
                      "end": 4989,
                      "loc": {
                        "start": {
                          "line": 118,
                          "column": 8
                        },
                        "end": {
                          "line": 118,
                          "column": 40
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 4957,
                        "end": 4988,
                        "loc": {
                          "start": {
                            "line": 118,
                            "column": 8
                          },
                          "end": {
                            "line": 118,
                            "column": 39
                          }
                        },
                        "operator": "+=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 4957,
                          "end": 4978,
                          "loc": {
                            "start": {
                              "line": 118,
                              "column": 8
                            },
                            "end": {
                              "line": 118,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 4957,
                            "end": 4961,
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 8
                              },
                              "end": {
                                "line": 118,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4962,
                            "end": 4978,
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 13
                              },
                              "end": {
                                "line": 118,
                                "column": 29
                              }
                            },
                            "name": "invalidateFrames"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 4982,
                          "end": 4988,
                          "loc": {
                            "start": {
                              "line": 118,
                              "column": 33
                            },
                            "end": {
                              "line": 118,
                              "column": 39
                            }
                          },
                          "name": "frames"
                        }
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 4998,
                      "end": 5069,
                      "loc": {
                        "start": {
                          "line": 119,
                          "column": 8
                        },
                        "end": {
                          "line": 120,
                          "column": 39
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 5002,
                        "end": 5028,
                        "loc": {
                          "start": {
                            "line": 119,
                            "column": 12
                          },
                          "end": {
                            "line": 119,
                            "column": 38
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 5002,
                          "end": 5023,
                          "loc": {
                            "start": {
                              "line": 119,
                              "column": 12
                            },
                            "end": {
                              "line": 119,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5002,
                            "end": 5006,
                            "loc": {
                              "start": {
                                "line": 119,
                                "column": 12
                              },
                              "end": {
                                "line": 119,
                                "column": 16
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5007,
                            "end": 5023,
                            "loc": {
                              "start": {
                                "line": 119,
                                "column": 17
                              },
                              "end": {
                                "line": 119,
                                "column": 33
                              }
                            },
                            "name": "invalidateFrames"
                          },
                          "computed": false
                        },
                        "operator": ">",
                        "right": {
                          "type": "Literal",
                          "start": 5026,
                          "end": 5028,
                          "loc": {
                            "start": {
                              "line": 119,
                              "column": 36
                            },
                            "end": {
                              "line": 119,
                              "column": 38
                            }
                          },
                          "value": 60,
                          "rawValue": 60,
                          "raw": "60"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 5042,
                        "end": 5069,
                        "loc": {
                          "start": {
                            "line": 120,
                            "column": 12
                          },
                          "end": {
                            "line": 120,
                            "column": 39
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 5042,
                          "end": 5068,
                          "loc": {
                            "start": {
                              "line": 120,
                              "column": 12
                            },
                            "end": {
                              "line": 120,
                              "column": 38
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 5042,
                            "end": 5063,
                            "loc": {
                              "start": {
                                "line": 120,
                                "column": 12
                              },
                              "end": {
                                "line": 120,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 5042,
                              "end": 5046,
                              "loc": {
                                "start": {
                                  "line": 120,
                                  "column": 12
                                },
                                "end": {
                                  "line": 120,
                                  "column": 16
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5047,
                              "end": 5063,
                              "loc": {
                                "start": {
                                  "line": 120,
                                  "column": 17
                                },
                                "end": {
                                  "line": 120,
                                  "column": 33
                                }
                              },
                              "name": "invalidateFrames"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "Literal",
                            "start": 5066,
                            "end": 5068,
                            "loc": {
                              "start": {
                                "line": 120,
                                "column": 36
                              },
                              "end": {
                                "line": 120,
                                "column": 38
                              }
                            },
                            "value": 60,
                            "rawValue": 60,
                            "raw": "60"
                          }
                        }
                      },
                      "alternate": null
                    }
                  ]
                }
              }
            },
            {
              "type": "MethodDefinition",
              "start": 5081,
              "end": 5224,
              "loc": {
                "start": {
                  "line": 123,
                  "column": 4
                },
                "end": {
                  "line": 127,
                  "column": 5
                }
              },
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5081,
                "end": 5096,
                "loc": {
                  "start": {
                    "line": 123,
                    "column": 4
                  },
                  "end": {
                    "line": 123,
                    "column": 19
                  }
                },
                "name": "invalidateViews"
              },
              "static": false,
              "kind": "method",
              "value": {
                "type": "FunctionExpression",
                "start": 5096,
                "end": 5224,
                "loc": {
                  "start": {
                    "line": 123,
                    "column": 19
                  },
                  "end": {
                    "line": 127,
                    "column": 5
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "AssignmentPattern",
                    "start": 5097,
                    "end": 5107,
                    "loc": {
                      "start": {
                        "line": 123,
                        "column": 20
                      },
                      "end": {
                        "line": 123,
                        "column": 30
                      }
                    },
                    "operator": "=",
                    "left": {
                      "type": "Identifier",
                      "start": 5097,
                      "end": 5103,
                      "loc": {
                        "start": {
                          "line": 123,
                          "column": 20
                        },
                        "end": {
                          "line": 123,
                          "column": 26
                        }
                      },
                      "name": "frames"
                    },
                    "right": {
                      "type": "Literal",
                      "start": 5106,
                      "end": 5107,
                      "loc": {
                        "start": {
                          "line": 123,
                          "column": 29
                        },
                        "end": {
                          "line": 123,
                          "column": 30
                        }
                      },
                      "value": 1,
                      "rawValue": 1,
                      "raw": "1"
                    }
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 5109,
                  "end": 5224,
                  "loc": {
                    "start": {
                      "line": 123,
                      "column": 32
                    },
                    "end": {
                      "line": 127,
                      "column": 5
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 5119,
                      "end": 5137,
                      "loc": {
                        "start": {
                          "line": 124,
                          "column": 8
                        },
                        "end": {
                          "line": 124,
                          "column": 26
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 5119,
                        "end": 5136,
                        "loc": {
                          "start": {
                            "line": 124,
                            "column": 8
                          },
                          "end": {
                            "line": 124,
                            "column": 25
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 5119,
                          "end": 5129,
                          "loc": {
                            "start": {
                              "line": 124,
                              "column": 8
                            },
                            "end": {
                              "line": 124,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5119,
                            "end": 5123,
                            "loc": {
                              "start": {
                                "line": 124,
                                "column": 8
                              },
                              "end": {
                                "line": 124,
                                "column": 12
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5124,
                            "end": 5129,
                            "loc": {
                              "start": {
                                "line": 124,
                                "column": 13
                              },
                              "end": {
                                "line": 124,
                                "column": 18
                              }
                            },
                            "name": "dirty"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Literal",
                          "start": 5132,
                          "end": 5136,
                          "loc": {
                            "start": {
                              "line": 124,
                              "column": 21
                            },
                            "end": {
                              "line": 124,
                              "column": 25
                            }
                          },
                          "value": true,
                          "rawValue": true,
                          "raw": "true"
                        }
                      }
                    },
                    {
                      "type": "ForOfStatement",
                      "start": 5146,
                      "end": 5218,
                      "loc": {
                        "start": {
                          "line": 125,
                          "column": 8
                        },
                        "end": {
                          "line": 126,
                          "column": 36
                        }
                      },
                      "left": {
                        "type": "VariableDeclaration",
                        "start": 5151,
                        "end": 5159,
                        "loc": {
                          "start": {
                            "line": 125,
                            "column": 13
                          },
                          "end": {
                            "line": 125,
                            "column": 21
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 5155,
                            "end": 5159,
                            "loc": {
                              "start": {
                                "line": 125,
                                "column": 17
                              },
                              "end": {
                                "line": 125,
                                "column": 21
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 5155,
                              "end": 5159,
                              "loc": {
                                "start": {
                                  "line": 125,
                                  "column": 17
                                },
                                "end": {
                                  "line": 125,
                                  "column": 21
                                }
                              },
                              "name": "view"
                            },
                            "init": null
                          }
                        ],
                        "kind": "let"
                      },
                      "right": {
                        "type": "MemberExpression",
                        "start": 5163,
                        "end": 5180,
                        "loc": {
                          "start": {
                            "line": 125,
                            "column": 25
                          },
                          "end": {
                            "line": 125,
                            "column": 42
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 5163,
                          "end": 5174,
                          "loc": {
                            "start": {
                              "line": 125,
                              "column": 25
                            },
                            "end": {
                              "line": 125,
                              "column": 36
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 5163,
                            "end": 5167,
                            "loc": {
                              "start": {
                                "line": 125,
                                "column": 25
                              },
                              "end": {
                                "line": 125,
                                "column": 29
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 5168,
                            "end": 5174,
                            "loc": {
                              "start": {
                                "line": 125,
                                "column": 30
                              },
                              "end": {
                                "line": 125,
                                "column": 36
                              }
                            },
                            "name": "canvas"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 5175,
                          "end": 5180,
                          "loc": {
                            "start": {
                              "line": 125,
                              "column": 37
                            },
                            "end": {
                              "line": 125,
                              "column": 42
                            }
                          },
                          "name": "views"
                        },
                        "computed": false
                      },
                      "body": {
                        "type": "ExpressionStatement",
                        "start": 5194,
                        "end": 5218,
                        "loc": {
                          "start": {
                            "line": 126,
                            "column": 12
                          },
                          "end": {
                            "line": 126,
                            "column": 36
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 5194,
                          "end": 5217,
                          "loc": {
                            "start": {
                              "line": 126,
                              "column": 12
                            },
                            "end": {
                              "line": 126,
                              "column": 35
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 5194,
                            "end": 5209,
                            "loc": {
                              "start": {
                                "line": 126,
                                "column": 12
                              },
                              "end": {
                                "line": 126,
                                "column": 27
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 5194,
                              "end": 5198,
                              "loc": {
                                "start": {
                                  "line": 126,
                                  "column": 12
                                },
                                "end": {
                                  "line": 126,
                                  "column": 16
                                }
                              },
                              "name": "view"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 5199,
                              "end": 5209,
                              "loc": {
                                "start": {
                                  "line": 126,
                                  "column": 17
                                },
                                "end": {
                                  "line": 126,
                                  "column": 27
                                }
                              },
                              "name": "invalidate"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 5210,
                              "end": 5216,
                              "loc": {
                                "start": {
                                  "line": 126,
                                  "column": 28
                                },
                                "end": {
                                  "line": 126,
                                  "column": 34
                                }
                              },
                              "name": "frames"
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            }
          ]
        },
        "leadingComments": [],
        "trailingComments": []
      }
    }
  ]
}