{
  "type": "File",
  "start": 0,
  "end": 604,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 23,
      "column": 0
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 604,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 23,
        "column": 0
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "ImportDeclaration",
        "start": 0,
        "end": 42,
        "loc": {
          "start": {
            "line": 1,
            "column": 0
          },
          "end": {
            "line": 1,
            "column": 42
          }
        },
        "specifiers": [
          {
            "type": "ImportSpecifier",
            "start": 9,
            "end": 15,
            "loc": {
              "start": {
                "line": 1,
                "column": 9
              },
              "end": {
                "line": 1,
                "column": 15
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 9,
              "end": 15,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 9
                },
                "end": {
                  "line": 1,
                  "column": 15
                },
                "identifierName": "TopEnv"
              },
              "name": "TopEnv"
            },
            "local": {
              "type": "Identifier",
              "start": 9,
              "end": 15,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 9
                },
                "end": {
                  "line": 1,
                  "column": 15
                },
                "identifierName": "TopEnv"
              },
              "name": "TopEnv"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 23,
          "end": 41,
          "loc": {
            "start": {
              "line": 1,
              "column": 23
            },
            "end": {
              "line": 1,
              "column": 41
            }
          },
          "extra": {
            "rawValue": "./environment.js",
            "raw": "\"./environment.js\""
          },
          "value": "./environment.js"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 43,
        "end": 87,
        "loc": {
          "start": {
            "line": 2,
            "column": 0
          },
          "end": {
            "line": 2,
            "column": 44
          }
        },
        "specifiers": [
          {
            "type": "ImportSpecifier",
            "start": 52,
            "end": 58,
            "loc": {
              "start": {
                "line": 2,
                "column": 9
              },
              "end": {
                "line": 2,
                "column": 15
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 52,
              "end": 58,
              "loc": {
                "start": {
                  "line": 2,
                  "column": 9
                },
                "end": {
                  "line": 2,
                  "column": 15
                },
                "identifierName": "Parser"
              },
              "name": "Parser"
            },
            "local": {
              "type": "Identifier",
              "start": 52,
              "end": 58,
              "loc": {
                "start": {
                  "line": 2,
                  "column": 9
                },
                "end": {
                  "line": 2,
                  "column": 15
                },
                "identifierName": "Parser"
              },
              "name": "Parser"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 66,
          "end": 86,
          "loc": {
            "start": {
              "line": 2,
              "column": 23
            },
            "end": {
              "line": 2,
              "column": 43
            }
          },
          "extra": {
            "rawValue": "../parser/parse.js",
            "raw": "\"../parser/parse.js\""
          },
          "value": "../parser/parse.js"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 88,
        "end": 135,
        "loc": {
          "start": {
            "line": 3,
            "column": 0
          },
          "end": {
            "line": 3,
            "column": 47
          }
        },
        "specifiers": [
          {
            "type": "ImportSpecifier",
            "start": 97,
            "end": 108,
            "loc": {
              "start": {
                "line": 3,
                "column": 9
              },
              "end": {
                "line": 3,
                "column": 20
              }
            },
            "imported": {
              "type": "Identifier",
              "start": 97,
              "end": 108,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 9
                },
                "end": {
                  "line": 3,
                  "column": 20
                },
                "identifierName": "SymbolTable"
              },
              "name": "SymbolTable"
            },
            "local": {
              "type": "Identifier",
              "start": 97,
              "end": 108,
              "loc": {
                "start": {
                  "line": 3,
                  "column": 9
                },
                "end": {
                  "line": 3,
                  "column": 20
                },
                "identifierName": "SymbolTable"
              },
              "name": "SymbolTable"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 116,
          "end": 134,
          "loc": {
            "start": {
              "line": 3,
              "column": 28
            },
            "end": {
              "line": 3,
              "column": 46
            }
          },
          "extra": {
            "rawValue": "./symboltable.js",
            "raw": "\"./symboltable.js\""
          },
          "value": "./symboltable.js"
        }
      },
      {
        "type": "ExpressionStatement",
        "start": 137,
        "end": 519,
        "loc": {
          "start": {
            "line": 5,
            "column": 0
          },
          "end": {
            "line": 19,
            "column": 2
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 137,
          "end": 518,
          "loc": {
            "start": {
              "line": 5,
              "column": 0
            },
            "end": {
              "line": 19,
              "column": 1
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 137,
            "end": 154,
            "loc": {
              "start": {
                "line": 5,
                "column": 0
              },
              "end": {
                "line": 5,
                "column": 17
              }
            },
            "object": {
              "type": "Identifier",
              "start": 137,
              "end": 143,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 0
                },
                "end": {
                  "line": 5,
                  "column": 6
                },
                "identifierName": "TopEnv"
              },
              "name": "TopEnv"
            },
            "property": {
              "type": "StringLiteral",
              "start": 144,
              "end": 153,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 7
                },
                "end": {
                  "line": 5,
                  "column": 16
                }
              },
              "extra": {
                "rawValue": "require",
                "raw": "\"require\""
              },
              "value": "require"
            },
            "computed": true
          },
          "right": {
            "type": "ArrowFunctionExpression",
            "start": 157,
            "end": 518,
            "loc": {
              "start": {
                "line": 5,
                "column": 20
              },
              "end": {
                "line": 19,
                "column": 1
              }
            },
            "id": null,
            "generator": false,
            "expression": false,
            "async": false,
            "params": [
              {
                "type": "Identifier",
                "start": 157,
                "end": 161,
                "loc": {
                  "start": {
                    "line": 5,
                    "column": 20
                  },
                  "end": {
                    "line": 5,
                    "column": 24
                  },
                  "identifierName": "file"
                },
                "name": "file"
              }
            ],
            "body": {
              "type": "BlockStatement",
              "start": 165,
              "end": 518,
              "loc": {
                "start": {
                  "line": 5,
                  "column": 28
                },
                "end": {
                  "line": 19,
                  "column": 1
                }
              },
              "body": [
                {
                  "type": "IfStatement",
                  "start": 169,
                  "end": 467,
                  "loc": {
                    "start": {
                      "line": 6,
                      "column": 2
                    },
                    "end": {
                      "line": 16,
                      "column": 3
                    }
                  },
                  "test": {
                    "type": "UnaryExpression",
                    "start": 173,
                    "end": 207,
                    "loc": {
                      "start": {
                        "line": 6,
                        "column": 6
                      },
                      "end": {
                        "line": 6,
                        "column": 40
                      }
                    },
                    "operator": "!",
                    "prefix": true,
                    "argument": {
                      "type": "BinaryExpression",
                      "start": 175,
                      "end": 206,
                      "loc": {
                        "start": {
                          "line": 6,
                          "column": 8
                        },
                        "end": {
                          "line": 6,
                          "column": 39
                        }
                      },
                      "left": {
                        "type": "Identifier",
                        "start": 175,
                        "end": 179,
                        "loc": {
                          "start": {
                            "line": 6,
                            "column": 8
                          },
                          "end": {
                            "line": 6,
                            "column": 12
                          },
                          "identifierName": "file"
                        },
                        "name": "file"
                      },
                      "operator": "in",
                      "right": {
                        "type": "MemberExpression",
                        "start": 183,
                        "end": 206,
                        "loc": {
                          "start": {
                            "line": 6,
                            "column": 16
                          },
                          "end": {
                            "line": 6,
                            "column": 39
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 183,
                          "end": 200,
                          "loc": {
                            "start": {
                              "line": 6,
                              "column": 16
                            },
                            "end": {
                              "line": 6,
                              "column": 33
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 183,
                            "end": 189,
                            "loc": {
                              "start": {
                                "line": 6,
                                "column": 16
                              },
                              "end": {
                                "line": 6,
                                "column": 22
                              },
                              "identifierName": "TopEnv"
                            },
                            "name": "TopEnv"
                          },
                          "property": {
                            "type": "StringLiteral",
                            "start": 190,
                            "end": 199,
                            "loc": {
                              "start": {
                                "line": 6,
                                "column": 23
                              },
                              "end": {
                                "line": 6,
                                "column": 32
                              }
                            },
                            "extra": {
                              "rawValue": "require",
                              "raw": "\"require\""
                            },
                            "value": "require"
                          },
                          "computed": true
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 201,
                          "end": 206,
                          "loc": {
                            "start": {
                              "line": 6,
                              "column": 34
                            },
                            "end": {
                              "line": 6,
                              "column": 39
                            },
                            "identifierName": "cache"
                          },
                          "name": "cache"
                        },
                        "computed": false
                      },
                      "extra": {
                        "parenthesized": true,
                        "parenStart": 174
                      }
                    },
                    "extra": {
                      "parenthesizedArgument": false
                    }
                  },
                  "consequent": {
                    "type": "BlockStatement",
                    "start": 209,
                    "end": 467,
                    "loc": {
                      "start": {
                        "line": 6,
                        "column": 42
                      },
                      "end": {
                        "line": 16,
                        "column": 3
                      }
                    },
                    "body": [
                      {
                        "type": "VariableDeclaration",
                        "start": 215,
                        "end": 255,
                        "loc": {
                          "start": {
                            "line": 7,
                            "column": 4
                          },
                          "end": {
                            "line": 7,
                            "column": 44
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 221,
                            "end": 254,
                            "loc": {
                              "start": {
                                "line": 7,
                                "column": 10
                              },
                              "end": {
                                "line": 7,
                                "column": 43
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 221,
                              "end": 225,
                              "loc": {
                                "start": {
                                  "line": 7,
                                  "column": 10
                                },
                                "end": {
                                  "line": 7,
                                  "column": 14
                                },
                                "identifierName": "tree"
                              },
                              "name": "tree"
                            },
                            "init": {
                              "type": "CallExpression",
                              "start": 228,
                              "end": 254,
                              "loc": {
                                "start": {
                                  "line": 7,
                                  "column": 17
                                },
                                "end": {
                                  "line": 7,
                                  "column": 43
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 228,
                                "end": 248,
                                "loc": {
                                  "start": {
                                    "line": 7,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 7,
                                    "column": 37
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 228,
                                  "end": 234,
                                  "loc": {
                                    "start": {
                                      "line": 7,
                                      "column": 17
                                    },
                                    "end": {
                                      "line": 7,
                                      "column": 23
                                    },
                                    "identifierName": "Parser"
                                  },
                                  "name": "Parser"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 235,
                                  "end": 248,
                                  "loc": {
                                    "start": {
                                      "line": 7,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 7,
                                      "column": 37
                                    },
                                    "identifierName": "parseFromFile"
                                  },
                                  "name": "parseFromFile"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 249,
                                  "end": 253,
                                  "loc": {
                                    "start": {
                                      "line": 7,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 7,
                                      "column": 42
                                    },
                                    "identifierName": "file"
                                  },
                                  "name": "file"
                                }
                              ]
                            }
                          }
                        ],
                        "kind": "const"
                      },
                      {
                        "type": "VariableDeclaration",
                        "start": 260,
                        "end": 294,
                        "loc": {
                          "start": {
                            "line": 8,
                            "column": 4
                          },
                          "end": {
                            "line": 8,
                            "column": 38
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 266,
                            "end": 293,
                            "loc": {
                              "start": {
                                "line": 8,
                                "column": 10
                              },
                              "end": {
                                "line": 8,
                                "column": 37
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 266,
                              "end": 269,
                              "loc": {
                                "start": {
                                  "line": 8,
                                  "column": 10
                                },
                                "end": {
                                  "line": 8,
                                  "column": 13
                                },
                                "identifierName": "env"
                              },
                              "name": "env"
                            },
                            "init": {
                              "type": "CallExpression",
                              "start": 272,
                              "end": 293,
                              "loc": {
                                "start": {
                                  "line": 8,
                                  "column": 16
                                },
                                "end": {
                                  "line": 8,
                                  "column": 37
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 272,
                                "end": 285,
                                "loc": {
                                  "start": {
                                    "line": 8,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 8,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 272,
                                  "end": 278,
                                  "loc": {
                                    "start": {
                                      "line": 8,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 8,
                                      "column": 22
                                    },
                                    "identifierName": "Object"
                                  },
                                  "name": "Object"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 279,
                                  "end": 285,
                                  "loc": {
                                    "start": {
                                      "line": 8,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 8,
                                      "column": 29
                                    },
                                    "identifierName": "create"
                                  },
                                  "name": "create"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 286,
                                  "end": 292,
                                  "loc": {
                                    "start": {
                                      "line": 8,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 8,
                                      "column": 36
                                    },
                                    "identifierName": "TopEnv"
                                  },
                                  "name": "TopEnv"
                                }
                              ]
                            }
                          }
                        ],
                        "kind": "const"
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 299,
                        "end": 337,
                        "loc": {
                          "start": {
                            "line": 9,
                            "column": 4
                          },
                          "end": {
                            "line": 9,
                            "column": 42
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 299,
                          "end": 336,
                          "loc": {
                            "start": {
                              "line": 9,
                              "column": 4
                            },
                            "end": {
                              "line": 9,
                              "column": 41
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 299,
                            "end": 316,
                            "loc": {
                              "start": {
                                "line": 9,
                                "column": 4
                              },
                              "end": {
                                "line": 9,
                                "column": 21
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 299,
                              "end": 302,
                              "loc": {
                                "start": {
                                  "line": 9,
                                  "column": 4
                                },
                                "end": {
                                  "line": 9,
                                  "column": 7
                                },
                                "identifierName": "env"
                              },
                              "name": "env"
                            },
                            "property": {
                              "type": "StringLiteral",
                              "start": 303,
                              "end": 315,
                              "loc": {
                                "start": {
                                  "line": 9,
                                  "column": 8
                                },
                                "end": {
                                  "line": 9,
                                  "column": 20
                                }
                              },
                              "extra": {
                                "rawValue": "__symbol__",
                                "raw": "\"__symbol__\""
                              },
                              "value": "__symbol__"
                            },
                            "computed": true
                          },
                          "right": {
                            "type": "NewExpression",
                            "start": 319,
                            "end": 336,
                            "loc": {
                              "start": {
                                "line": 9,
                                "column": 24
                              },
                              "end": {
                                "line": 9,
                                "column": 41
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 323,
                              "end": 334,
                              "loc": {
                                "start": {
                                  "line": 9,
                                  "column": 28
                                },
                                "end": {
                                  "line": 9,
                                  "column": 39
                                },
                                "identifierName": "SymbolTable"
                              },
                              "name": "SymbolTable"
                            },
                            "arguments": []
                          }
                        }
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 343,
                        "end": 362,
                        "loc": {
                          "start": {
                            "line": 11,
                            "column": 4
                          },
                          "end": {
                            "line": 11,
                            "column": 23
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 343,
                          "end": 361,
                          "loc": {
                            "start": {
                              "line": 11,
                              "column": 4
                            },
                            "end": {
                              "line": 11,
                              "column": 22
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 343,
                            "end": 356,
                            "loc": {
                              "start": {
                                "line": 11,
                                "column": 4
                              },
                              "end": {
                                "line": 11,
                                "column": 17
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 343,
                              "end": 347,
                              "loc": {
                                "start": {
                                  "line": 11,
                                  "column": 4
                                },
                                "end": {
                                  "line": 11,
                                  "column": 8
                                },
                                "identifierName": "tree"
                              },
                              "name": "tree"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 348,
                              "end": 356,
                              "loc": {
                                "start": {
                                  "line": 11,
                                  "column": 9
                                },
                                "end": {
                                  "line": 11,
                                  "column": 17
                                },
                                "identifierName": "evaluate"
                              },
                              "name": "evaluate"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "Identifier",
                              "start": 357,
                              "end": 360,
                              "loc": {
                                "start": {
                                  "line": 11,
                                  "column": 18
                                },
                                "end": {
                                  "line": 11,
                                  "column": 21
                                },
                                "identifierName": "env"
                              },
                              "name": "env"
                            }
                          ]
                        }
                      },
                      {
                        "type": "VariableDeclaration",
                        "start": 368,
                        "end": 418,
                        "loc": {
                          "start": {
                            "line": 13,
                            "column": 4
                          },
                          "end": {
                            "line": 13,
                            "column": 54
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 374,
                            "end": 417,
                            "loc": {
                              "start": {
                                "line": 13,
                                "column": 10
                              },
                              "end": {
                                "line": 13,
                                "column": 53
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 374,
                              "end": 380,
                              "loc": {
                                "start": {
                                  "line": 13,
                                  "column": 10
                                },
                                "end": {
                                  "line": 13,
                                  "column": 16
                                },
                                "identifierName": "module"
                              },
                              "name": "module"
                            },
                            "init": {
                              "type": "ObjectExpression",
                              "start": 383,
                              "end": 417,
                              "loc": {
                                "start": {
                                  "line": 13,
                                  "column": 19
                                },
                                "end": {
                                  "line": 13,
                                  "column": 53
                                }
                              },
                              "properties": [
                                {
                                  "type": "ObjectProperty",
                                  "start": 385,
                                  "end": 415,
                                  "loc": {
                                    "start": {
                                      "line": 13,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 13,
                                      "column": 51
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 385,
                                    "end": 392,
                                    "loc": {
                                      "start": {
                                        "line": 13,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 13,
                                        "column": 28
                                      },
                                      "identifierName": "exports"
                                    },
                                    "name": "exports"
                                  },
                                  "value": {
                                    "type": "MemberExpression",
                                    "start": 394,
                                    "end": 415,
                                    "loc": {
                                      "start": {
                                        "line": 13,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 13,
                                        "column": 51
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 394,
                                      "end": 407,
                                      "loc": {
                                        "start": {
                                          "line": 13,
                                          "column": 30
                                        },
                                        "end": {
                                          "line": 13,
                                          "column": 43
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 394,
                                        "end": 397,
                                        "loc": {
                                          "start": {
                                            "line": 13,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 13,
                                            "column": 33
                                          },
                                          "identifierName": "env"
                                        },
                                        "name": "env"
                                      },
                                      "property": {
                                        "type": "StringLiteral",
                                        "start": 398,
                                        "end": 406,
                                        "loc": {
                                          "start": {
                                            "line": 13,
                                            "column": 34
                                          },
                                          "end": {
                                            "line": 13,
                                            "column": 42
                                          }
                                        },
                                        "extra": {
                                          "rawValue": "module",
                                          "raw": "\"module\""
                                        },
                                        "value": "module"
                                      },
                                      "computed": true
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 408,
                                      "end": 415,
                                      "loc": {
                                        "start": {
                                          "line": 13,
                                          "column": 44
                                        },
                                        "end": {
                                          "line": 13,
                                          "column": 51
                                        },
                                        "identifierName": "exports"
                                      },
                                      "name": "exports"
                                    },
                                    "computed": false
                                  }
                                }
                              ]
                            }
                          }
                        ],
                        "kind": "const"
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 424,
                        "end": 463,
                        "loc": {
                          "start": {
                            "line": 15,
                            "column": 4
                          },
                          "end": {
                            "line": 15,
                            "column": 43
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 424,
                          "end": 462,
                          "loc": {
                            "start": {
                              "line": 15,
                              "column": 4
                            },
                            "end": {
                              "line": 15,
                              "column": 42
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 424,
                            "end": 453,
                            "loc": {
                              "start": {
                                "line": 15,
                                "column": 4
                              },
                              "end": {
                                "line": 15,
                                "column": 33
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 424,
                              "end": 447,
                              "loc": {
                                "start": {
                                  "line": 15,
                                  "column": 4
                                },
                                "end": {
                                  "line": 15,
                                  "column": 27
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 424,
                                "end": 441,
                                "loc": {
                                  "start": {
                                    "line": 15,
                                    "column": 4
                                  },
                                  "end": {
                                    "line": 15,
                                    "column": 21
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 424,
                                  "end": 430,
                                  "loc": {
                                    "start": {
                                      "line": 15,
                                      "column": 4
                                    },
                                    "end": {
                                      "line": 15,
                                      "column": 10
                                    },
                                    "identifierName": "TopEnv"
                                  },
                                  "name": "TopEnv"
                                },
                                "property": {
                                  "type": "StringLiteral",
                                  "start": 431,
                                  "end": 440,
                                  "loc": {
                                    "start": {
                                      "line": 15,
                                      "column": 11
                                    },
                                    "end": {
                                      "line": 15,
                                      "column": 20
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "require",
                                    "raw": "\"require\""
                                  },
                                  "value": "require"
                                },
                                "computed": true
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 442,
                                "end": 447,
                                "loc": {
                                  "start": {
                                    "line": 15,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 15,
                                    "column": 27
                                  },
                                  "identifierName": "cache"
                                },
                                "name": "cache"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 448,
                              "end": 452,
                              "loc": {
                                "start": {
                                  "line": 15,
                                  "column": 28
                                },
                                "end": {
                                  "line": 15,
                                  "column": 32
                                },
                                "identifierName": "file"
                              },
                              "name": "file"
                            },
                            "computed": true
                          },
                          "right": {
                            "type": "Identifier",
                            "start": 456,
                            "end": 462,
                            "loc": {
                              "start": {
                                "line": 15,
                                "column": 36
                              },
                              "end": {
                                "line": 15,
                                "column": 42
                              },
                              "identifierName": "module"
                            },
                            "name": "module"
                          }
                        }
                      }
                    ],
                    "directives": []
                  },
                  "alternate": null
                },
                {
                  "type": "ReturnStatement",
                  "start": 471,
                  "end": 516,
                  "loc": {
                    "start": {
                      "line": 18,
                      "column": 2
                    },
                    "end": {
                      "line": 18,
                      "column": 47
                    }
                  },
                  "argument": {
                    "type": "MemberExpression",
                    "start": 478,
                    "end": 515,
                    "loc": {
                      "start": {
                        "line": 18,
                        "column": 9
                      },
                      "end": {
                        "line": 18,
                        "column": 46
                      }
                    },
                    "object": {
                      "type": "MemberExpression",
                      "start": 478,
                      "end": 507,
                      "loc": {
                        "start": {
                          "line": 18,
                          "column": 9
                        },
                        "end": {
                          "line": 18,
                          "column": 38
                        }
                      },
                      "object": {
                        "type": "MemberExpression",
                        "start": 478,
                        "end": 501,
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 9
                          },
                          "end": {
                            "line": 18,
                            "column": 32
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 478,
                          "end": 495,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 9
                            },
                            "end": {
                              "line": 18,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 478,
                            "end": 484,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 9
                              },
                              "end": {
                                "line": 18,
                                "column": 15
                              },
                              "identifierName": "TopEnv"
                            },
                            "name": "TopEnv"
                          },
                          "property": {
                            "type": "StringLiteral",
                            "start": 485,
                            "end": 494,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 16
                              },
                              "end": {
                                "line": 18,
                                "column": 25
                              }
                            },
                            "extra": {
                              "rawValue": "require",
                              "raw": "\"require\""
                            },
                            "value": "require"
                          },
                          "computed": true
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 496,
                          "end": 501,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 27
                            },
                            "end": {
                              "line": 18,
                              "column": 32
                            },
                            "identifierName": "cache"
                          },
                          "name": "cache"
                        },
                        "computed": false
                      },
                      "property": {
                        "type": "Identifier",
                        "start": 502,
                        "end": 506,
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 33
                          },
                          "end": {
                            "line": 18,
                            "column": 37
                          },
                          "identifierName": "file"
                        },
                        "name": "file"
                      },
                      "computed": true
                    },
                    "property": {
                      "type": "Identifier",
                      "start": 508,
                      "end": 515,
                      "loc": {
                        "start": {
                          "line": 18,
                          "column": 39
                        },
                        "end": {
                          "line": 18,
                          "column": 46
                        },
                        "identifierName": "exports"
                      },
                      "name": "exports"
                    },
                    "computed": false
                  }
                }
              ],
              "directives": []
            }
          }
        }
      },
      {
        "type": "ExpressionStatement",
        "start": 521,
        "end": 567,
        "loc": {
          "start": {
            "line": 21,
            "column": 0
          },
          "end": {
            "line": 21,
            "column": 46
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 521,
          "end": 566,
          "loc": {
            "start": {
              "line": 21,
              "column": 0
            },
            "end": {
              "line": 21,
              "column": 45
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 521,
            "end": 544,
            "loc": {
              "start": {
                "line": 21,
                "column": 0
              },
              "end": {
                "line": 21,
                "column": 23
              }
            },
            "object": {
              "type": "MemberExpression",
              "start": 521,
              "end": 538,
              "loc": {
                "start": {
                  "line": 21,
                  "column": 0
                },
                "end": {
                  "line": 21,
                  "column": 17
                }
              },
              "object": {
                "type": "Identifier",
                "start": 521,
                "end": 527,
                "loc": {
                  "start": {
                    "line": 21,
                    "column": 0
                  },
                  "end": {
                    "line": 21,
                    "column": 6
                  },
                  "identifierName": "TopEnv"
                },
                "name": "TopEnv"
              },
              "property": {
                "type": "StringLiteral",
                "start": 528,
                "end": 537,
                "loc": {
                  "start": {
                    "line": 21,
                    "column": 7
                  },
                  "end": {
                    "line": 21,
                    "column": 16
                  }
                },
                "extra": {
                  "rawValue": "require",
                  "raw": "\"require\""
                },
                "value": "require"
              },
              "computed": true
            },
            "property": {
              "type": "Identifier",
              "start": 539,
              "end": 544,
              "loc": {
                "start": {
                  "line": 21,
                  "column": 18
                },
                "end": {
                  "line": 21,
                  "column": 23
                },
                "identifierName": "cache"
              },
              "name": "cache"
            },
            "computed": false
          },
          "right": {
            "type": "CallExpression",
            "start": 547,
            "end": 566,
            "loc": {
              "start": {
                "line": 21,
                "column": 26
              },
              "end": {
                "line": 21,
                "column": 45
              }
            },
            "callee": {
              "type": "MemberExpression",
              "start": 547,
              "end": 560,
              "loc": {
                "start": {
                  "line": 21,
                  "column": 26
                },
                "end": {
                  "line": 21,
                  "column": 39
                }
              },
              "object": {
                "type": "Identifier",
                "start": 547,
                "end": 553,
                "loc": {
                  "start": {
                    "line": 21,
                    "column": 26
                  },
                  "end": {
                    "line": 21,
                    "column": 32
                  },
                  "identifierName": "Object"
                },
                "name": "Object"
              },
              "property": {
                "type": "Identifier",
                "start": 554,
                "end": 560,
                "loc": {
                  "start": {
                    "line": 21,
                    "column": 33
                  },
                  "end": {
                    "line": 21,
                    "column": 39
                  },
                  "identifierName": "create"
                },
                "name": "create"
              },
              "computed": false
            },
            "arguments": [
              {
                "type": "NullLiteral",
                "start": 561,
                "end": 565,
                "loc": {
                  "start": {
                    "line": 21,
                    "column": 40
                  },
                  "end": {
                    "line": 21,
                    "column": 44
                  }
                }
              }
            ]
          }
        }
      },
      {
        "type": "ExpressionStatement",
        "start": 568,
        "end": 603,
        "loc": {
          "start": {
            "line": 22,
            "column": 0
          },
          "end": {
            "line": 22,
            "column": 35
          }
        },
        "expression": {
          "type": "AssignmentExpression",
          "start": 568,
          "end": 602,
          "loc": {
            "start": {
              "line": 22,
              "column": 0
            },
            "end": {
              "line": 22,
              "column": 34
            }
          },
          "operator": "=",
          "left": {
            "type": "MemberExpression",
            "start": 568,
            "end": 584,
            "loc": {
              "start": {
                "line": 22,
                "column": 0
              },
              "end": {
                "line": 22,
                "column": 16
              }
            },
            "object": {
              "type": "Identifier",
              "start": 568,
              "end": 574,
              "loc": {
                "start": {
                  "line": 22,
                  "column": 0
                },
                "end": {
                  "line": 22,
                  "column": 6
                },
                "identifierName": "TopEnv"
              },
              "name": "TopEnv"
            },
            "property": {
              "type": "StringLiteral",
              "start": 575,
              "end": 583,
              "loc": {
                "start": {
                  "line": 22,
                  "column": 7
                },
                "end": {
                  "line": 22,
                  "column": 15
                }
              },
              "extra": {
                "rawValue": "module",
                "raw": "\"module\""
              },
              "value": "module"
            },
            "computed": true
          },
          "right": {
            "type": "ObjectExpression",
            "start": 587,
            "end": 602,
            "loc": {
              "start": {
                "line": 22,
                "column": 19
              },
              "end": {
                "line": 22,
                "column": 34
              }
            },
            "properties": [
              {
                "type": "ObjectProperty",
                "start": 589,
                "end": 600,
                "loc": {
                  "start": {
                    "line": 22,
                    "column": 21
                  },
                  "end": {
                    "line": 22,
                    "column": 32
                  }
                },
                "method": false,
                "shorthand": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 589,
                  "end": 596,
                  "loc": {
                    "start": {
                      "line": 22,
                      "column": 21
                    },
                    "end": {
                      "line": 22,
                      "column": 28
                    },
                    "identifierName": "exports"
                  },
                  "name": "exports"
                },
                "value": {
                  "type": "ObjectExpression",
                  "start": 598,
                  "end": 600,
                  "loc": {
                    "start": {
                      "line": 22,
                      "column": 30
                    },
                    "end": {
                      "line": 22,
                      "column": 32
                    }
                  },
                  "properties": []
                }
              }
            ]
          }
        }
      }
    ],
    "directives": []
  },
  "comments": [],
  "tokens": [
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 0,
      "end": 6,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7,
      "end": 8,
      "loc": {
        "start": {
          "line": 1,
          "column": 7
        },
        "end": {
          "line": 1,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "TopEnv",
      "start": 9,
      "end": 15,
      "loc": {
        "start": {
          "line": 1,
          "column": 9
        },
        "end": {
          "line": 1,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 16,
      "end": 17,
      "loc": {
        "start": {
          "line": 1,
          "column": 16
        },
        "end": {
          "line": 1,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 18,
      "end": 22,
      "loc": {
        "start": {
          "line": 1,
          "column": 18
        },
        "end": {
          "line": 1,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./environment.js",
      "start": 23,
      "end": 41,
      "loc": {
        "start": {
          "line": 1,
          "column": 23
        },
        "end": {
          "line": 1,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 41,
      "end": 42,
      "loc": {
        "start": {
          "line": 1,
          "column": 41
        },
        "end": {
          "line": 1,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 43,
      "end": 49,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 50,
      "end": 51,
      "loc": {
        "start": {
          "line": 2,
          "column": 7
        },
        "end": {
          "line": 2,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Parser",
      "start": 52,
      "end": 58,
      "loc": {
        "start": {
          "line": 2,
          "column": 9
        },
        "end": {
          "line": 2,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 59,
      "end": 60,
      "loc": {
        "start": {
          "line": 2,
          "column": 16
        },
        "end": {
          "line": 2,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 61,
      "end": 65,
      "loc": {
        "start": {
          "line": 2,
          "column": 18
        },
        "end": {
          "line": 2,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "../parser/parse.js",
      "start": 66,
      "end": 86,
      "loc": {
        "start": {
          "line": 2,
          "column": 23
        },
        "end": {
          "line": 2,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 86,
      "end": 87,
      "loc": {
        "start": {
          "line": 2,
          "column": 43
        },
        "end": {
          "line": 2,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 88,
      "end": 94,
      "loc": {
        "start": {
          "line": 3,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 95,
      "end": 96,
      "loc": {
        "start": {
          "line": 3,
          "column": 7
        },
        "end": {
          "line": 3,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "SymbolTable",
      "start": 97,
      "end": 108,
      "loc": {
        "start": {
          "line": 3,
          "column": 9
        },
        "end": {
          "line": 3,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 109,
      "end": 110,
      "loc": {
        "start": {
          "line": 3,
          "column": 21
        },
        "end": {
          "line": 3,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 111,
      "end": 115,
      "loc": {
        "start": {
          "line": 3,
          "column": 23
        },
        "end": {
          "line": 3,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./symboltable.js",
      "start": 116,
      "end": 134,
      "loc": {
        "start": {
          "line": 3,
          "column": 28
        },
        "end": {
          "line": 3,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 134,
      "end": 135,
      "loc": {
        "start": {
          "line": 3,
          "column": 46
        },
        "end": {
          "line": 3,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "TopEnv",
      "start": 137,
      "end": 143,
      "loc": {
        "start": {
          "line": 5,
          "column": 0
        },
        "end": {
          "line": 5,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 143,
      "end": 144,
      "loc": {
        "start": {
          "line": 5,
          "column": 6
        },
        "end": {
          "line": 5,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "require",
      "start": 144,
      "end": 153,
      "loc": {
        "start": {
          "line": 5,
          "column": 7
        },
        "end": {
          "line": 5,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 153,
      "end": 154,
      "loc": {
        "start": {
          "line": 5,
          "column": 16
        },
        "end": {
          "line": 5,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 155,
      "end": 156,
      "loc": {
        "start": {
          "line": 5,
          "column": 18
        },
        "end": {
          "line": 5,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "file",
      "start": 157,
      "end": 161,
      "loc": {
        "start": {
          "line": 5,
          "column": 20
        },
        "end": {
          "line": 5,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 162,
      "end": 164,
      "loc": {
        "start": {
          "line": 5,
          "column": 25
        },
        "end": {
          "line": 5,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 165,
      "end": 166,
      "loc": {
        "start": {
          "line": 5,
          "column": 28
        },
        "end": {
          "line": 5,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "if",
        "keyword": "if",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "if",
      "start": 169,
      "end": 171,
      "loc": {
        "start": {
          "line": 6,
          "column": 2
        },
        "end": {
          "line": 6,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 172,
      "end": 173,
      "loc": {
        "start": {
          "line": 6,
          "column": 5
        },
        "end": {
          "line": 6,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 173,
      "end": 174,
      "loc": {
        "start": {
          "line": 6,
          "column": 6
        },
        "end": {
          "line": 6,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 174,
      "end": 175,
      "loc": {
        "start": {
          "line": 6,
          "column": 7
        },
        "end": {
          "line": 6,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "file",
      "start": 175,
      "end": 179,
      "loc": {
        "start": {
          "line": 6,
          "column": 8
        },
        "end": {
          "line": 6,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "in",
        "keyword": "in",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": "in",
      "start": 180,
      "end": 182,
      "loc": {
        "start": {
          "line": 6,
          "column": 13
        },
        "end": {
          "line": 6,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "TopEnv",
      "start": 183,
      "end": 189,
      "loc": {
        "start": {
          "line": 6,
          "column": 16
        },
        "end": {
          "line": 6,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 189,
      "end": 190,
      "loc": {
        "start": {
          "line": 6,
          "column": 22
        },
        "end": {
          "line": 6,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "require",
      "start": 190,
      "end": 199,
      "loc": {
        "start": {
          "line": 6,
          "column": 23
        },
        "end": {
          "line": 6,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 199,
      "end": 200,
      "loc": {
        "start": {
          "line": 6,
          "column": 32
        },
        "end": {
          "line": 6,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 200,
      "end": 201,
      "loc": {
        "start": {
          "line": 6,
          "column": 33
        },
        "end": {
          "line": 6,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cache",
      "start": 201,
      "end": 206,
      "loc": {
        "start": {
          "line": 6,
          "column": 34
        },
        "end": {
          "line": 6,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 206,
      "end": 207,
      "loc": {
        "start": {
          "line": 6,
          "column": 39
        },
        "end": {
          "line": 6,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 207,
      "end": 208,
      "loc": {
        "start": {
          "line": 6,
          "column": 40
        },
        "end": {
          "line": 6,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 209,
      "end": 210,
      "loc": {
        "start": {
          "line": 6,
          "column": 42
        },
        "end": {
          "line": 6,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 215,
      "end": 220,
      "loc": {
        "start": {
          "line": 7,
          "column": 4
        },
        "end": {
          "line": 7,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tree",
      "start": 221,
      "end": 225,
      "loc": {
        "start": {
          "line": 7,
          "column": 10
        },
        "end": {
          "line": 7,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 226,
      "end": 227,
      "loc": {
        "start": {
          "line": 7,
          "column": 15
        },
        "end": {
          "line": 7,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Parser",
      "start": 228,
      "end": 234,
      "loc": {
        "start": {
          "line": 7,
          "column": 17
        },
        "end": {
          "line": 7,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 234,
      "end": 235,
      "loc": {
        "start": {
          "line": 7,
          "column": 23
        },
        "end": {
          "line": 7,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "parseFromFile",
      "start": 235,
      "end": 248,
      "loc": {
        "start": {
          "line": 7,
          "column": 24
        },
        "end": {
          "line": 7,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 248,
      "end": 249,
      "loc": {
        "start": {
          "line": 7,
          "column": 37
        },
        "end": {
          "line": 7,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "file",
      "start": 249,
      "end": 253,
      "loc": {
        "start": {
          "line": 7,
          "column": 38
        },
        "end": {
          "line": 7,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 253,
      "end": 254,
      "loc": {
        "start": {
          "line": 7,
          "column": 42
        },
        "end": {
          "line": 7,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 254,
      "end": 255,
      "loc": {
        "start": {
          "line": 7,
          "column": 43
        },
        "end": {
          "line": 7,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 260,
      "end": 265,
      "loc": {
        "start": {
          "line": 8,
          "column": 4
        },
        "end": {
          "line": 8,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "env",
      "start": 266,
      "end": 269,
      "loc": {
        "start": {
          "line": 8,
          "column": 10
        },
        "end": {
          "line": 8,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 270,
      "end": 271,
      "loc": {
        "start": {
          "line": 8,
          "column": 14
        },
        "end": {
          "line": 8,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Object",
      "start": 272,
      "end": 278,
      "loc": {
        "start": {
          "line": 8,
          "column": 16
        },
        "end": {
          "line": 8,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 278,
      "end": 279,
      "loc": {
        "start": {
          "line": 8,
          "column": 22
        },
        "end": {
          "line": 8,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "create",
      "start": 279,
      "end": 285,
      "loc": {
        "start": {
          "line": 8,
          "column": 23
        },
        "end": {
          "line": 8,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 285,
      "end": 286,
      "loc": {
        "start": {
          "line": 8,
          "column": 29
        },
        "end": {
          "line": 8,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "TopEnv",
      "start": 286,
      "end": 292,
      "loc": {
        "start": {
          "line": 8,
          "column": 30
        },
        "end": {
          "line": 8,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 292,
      "end": 293,
      "loc": {
        "start": {
          "line": 8,
          "column": 36
        },
        "end": {
          "line": 8,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 293,
      "end": 294,
      "loc": {
        "start": {
          "line": 8,
          "column": 37
        },
        "end": {
          "line": 8,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "env",
      "start": 299,
      "end": 302,
      "loc": {
        "start": {
          "line": 9,
          "column": 4
        },
        "end": {
          "line": 9,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 302,
      "end": 303,
      "loc": {
        "start": {
          "line": 9,
          "column": 7
        },
        "end": {
          "line": 9,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "__symbol__",
      "start": 303,
      "end": 315,
      "loc": {
        "start": {
          "line": 9,
          "column": 8
        },
        "end": {
          "line": 9,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 315,
      "end": 316,
      "loc": {
        "start": {
          "line": 9,
          "column": 20
        },
        "end": {
          "line": 9,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 317,
      "end": 318,
      "loc": {
        "start": {
          "line": 9,
          "column": 22
        },
        "end": {
          "line": 9,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 319,
      "end": 322,
      "loc": {
        "start": {
          "line": 9,
          "column": 24
        },
        "end": {
          "line": 9,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "SymbolTable",
      "start": 323,
      "end": 334,
      "loc": {
        "start": {
          "line": 9,
          "column": 28
        },
        "end": {
          "line": 9,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 334,
      "end": 335,
      "loc": {
        "start": {
          "line": 9,
          "column": 39
        },
        "end": {
          "line": 9,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 335,
      "end": 336,
      "loc": {
        "start": {
          "line": 9,
          "column": 40
        },
        "end": {
          "line": 9,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 336,
      "end": 337,
      "loc": {
        "start": {
          "line": 9,
          "column": 41
        },
        "end": {
          "line": 9,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tree",
      "start": 343,
      "end": 347,
      "loc": {
        "start": {
          "line": 11,
          "column": 4
        },
        "end": {
          "line": 11,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 347,
      "end": 348,
      "loc": {
        "start": {
          "line": 11,
          "column": 8
        },
        "end": {
          "line": 11,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "evaluate",
      "start": 348,
      "end": 356,
      "loc": {
        "start": {
          "line": 11,
          "column": 9
        },
        "end": {
          "line": 11,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 356,
      "end": 357,
      "loc": {
        "start": {
          "line": 11,
          "column": 17
        },
        "end": {
          "line": 11,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "env",
      "start": 357,
      "end": 360,
      "loc": {
        "start": {
          "line": 11,
          "column": 18
        },
        "end": {
          "line": 11,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 360,
      "end": 361,
      "loc": {
        "start": {
          "line": 11,
          "column": 21
        },
        "end": {
          "line": 11,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 361,
      "end": 362,
      "loc": {
        "start": {
          "line": 11,
          "column": 22
        },
        "end": {
          "line": 11,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "const",
        "keyword": "const",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "const",
      "start": 368,
      "end": 373,
      "loc": {
        "start": {
          "line": 13,
          "column": 4
        },
        "end": {
          "line": 13,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "module",
      "start": 374,
      "end": 380,
      "loc": {
        "start": {
          "line": 13,
          "column": 10
        },
        "end": {
          "line": 13,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 381,
      "end": 382,
      "loc": {
        "start": {
          "line": 13,
          "column": 17
        },
        "end": {
          "line": 13,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 383,
      "end": 384,
      "loc": {
        "start": {
          "line": 13,
          "column": 19
        },
        "end": {
          "line": 13,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "exports",
      "start": 385,
      "end": 392,
      "loc": {
        "start": {
          "line": 13,
          "column": 21
        },
        "end": {
          "line": 13,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 392,
      "end": 393,
      "loc": {
        "start": {
          "line": 13,
          "column": 28
        },
        "end": {
          "line": 13,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "env",
      "start": 394,
      "end": 397,
      "loc": {
        "start": {
          "line": 13,
          "column": 30
        },
        "end": {
          "line": 13,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 397,
      "end": 398,
      "loc": {
        "start": {
          "line": 13,
          "column": 33
        },
        "end": {
          "line": 13,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "module",
      "start": 398,
      "end": 406,
      "loc": {
        "start": {
          "line": 13,
          "column": 34
        },
        "end": {
          "line": 13,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 406,
      "end": 407,
      "loc": {
        "start": {
          "line": 13,
          "column": 42
        },
        "end": {
          "line": 13,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 407,
      "end": 408,
      "loc": {
        "start": {
          "line": 13,
          "column": 43
        },
        "end": {
          "line": 13,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "exports",
      "start": 408,
      "end": 415,
      "loc": {
        "start": {
          "line": 13,
          "column": 44
        },
        "end": {
          "line": 13,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 416,
      "end": 417,
      "loc": {
        "start": {
          "line": 13,
          "column": 52
        },
        "end": {
          "line": 13,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 417,
      "end": 418,
      "loc": {
        "start": {
          "line": 13,
          "column": 53
        },
        "end": {
          "line": 13,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "TopEnv",
      "start": 424,
      "end": 430,
      "loc": {
        "start": {
          "line": 15,
          "column": 4
        },
        "end": {
          "line": 15,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 430,
      "end": 431,
      "loc": {
        "start": {
          "line": 15,
          "column": 10
        },
        "end": {
          "line": 15,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "require",
      "start": 431,
      "end": 440,
      "loc": {
        "start": {
          "line": 15,
          "column": 11
        },
        "end": {
          "line": 15,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 440,
      "end": 441,
      "loc": {
        "start": {
          "line": 15,
          "column": 20
        },
        "end": {
          "line": 15,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 441,
      "end": 442,
      "loc": {
        "start": {
          "line": 15,
          "column": 21
        },
        "end": {
          "line": 15,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cache",
      "start": 442,
      "end": 447,
      "loc": {
        "start": {
          "line": 15,
          "column": 22
        },
        "end": {
          "line": 15,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 447,
      "end": 448,
      "loc": {
        "start": {
          "line": 15,
          "column": 27
        },
        "end": {
          "line": 15,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "file",
      "start": 448,
      "end": 452,
      "loc": {
        "start": {
          "line": 15,
          "column": 28
        },
        "end": {
          "line": 15,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 452,
      "end": 453,
      "loc": {
        "start": {
          "line": 15,
          "column": 32
        },
        "end": {
          "line": 15,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 454,
      "end": 455,
      "loc": {
        "start": {
          "line": 15,
          "column": 34
        },
        "end": {
          "line": 15,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "module",
      "start": 456,
      "end": 462,
      "loc": {
        "start": {
          "line": 15,
          "column": 36
        },
        "end": {
          "line": 15,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 462,
      "end": 463,
      "loc": {
        "start": {
          "line": 15,
          "column": 42
        },
        "end": {
          "line": 15,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 466,
      "end": 467,
      "loc": {
        "start": {
          "line": 16,
          "column": 2
        },
        "end": {
          "line": 16,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "return",
        "keyword": "return",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "return",
      "start": 471,
      "end": 477,
      "loc": {
        "start": {
          "line": 18,
          "column": 2
        },
        "end": {
          "line": 18,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "TopEnv",
      "start": 478,
      "end": 484,
      "loc": {
        "start": {
          "line": 18,
          "column": 9
        },
        "end": {
          "line": 18,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 484,
      "end": 485,
      "loc": {
        "start": {
          "line": 18,
          "column": 15
        },
        "end": {
          "line": 18,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "require",
      "start": 485,
      "end": 494,
      "loc": {
        "start": {
          "line": 18,
          "column": 16
        },
        "end": {
          "line": 18,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 494,
      "end": 495,
      "loc": {
        "start": {
          "line": 18,
          "column": 25
        },
        "end": {
          "line": 18,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 495,
      "end": 496,
      "loc": {
        "start": {
          "line": 18,
          "column": 26
        },
        "end": {
          "line": 18,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cache",
      "start": 496,
      "end": 501,
      "loc": {
        "start": {
          "line": 18,
          "column": 27
        },
        "end": {
          "line": 18,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 501,
      "end": 502,
      "loc": {
        "start": {
          "line": 18,
          "column": 32
        },
        "end": {
          "line": 18,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "file",
      "start": 502,
      "end": 506,
      "loc": {
        "start": {
          "line": 18,
          "column": 33
        },
        "end": {
          "line": 18,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 506,
      "end": 507,
      "loc": {
        "start": {
          "line": 18,
          "column": 37
        },
        "end": {
          "line": 18,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 507,
      "end": 508,
      "loc": {
        "start": {
          "line": 18,
          "column": 38
        },
        "end": {
          "line": 18,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "exports",
      "start": 508,
      "end": 515,
      "loc": {
        "start": {
          "line": 18,
          "column": 39
        },
        "end": {
          "line": 18,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 515,
      "end": 516,
      "loc": {
        "start": {
          "line": 18,
          "column": 46
        },
        "end": {
          "line": 18,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 517,
      "end": 518,
      "loc": {
        "start": {
          "line": 19,
          "column": 0
        },
        "end": {
          "line": 19,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 518,
      "end": 519,
      "loc": {
        "start": {
          "line": 19,
          "column": 1
        },
        "end": {
          "line": 19,
          "column": 2
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "TopEnv",
      "start": 521,
      "end": 527,
      "loc": {
        "start": {
          "line": 21,
          "column": 0
        },
        "end": {
          "line": 21,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 527,
      "end": 528,
      "loc": {
        "start": {
          "line": 21,
          "column": 6
        },
        "end": {
          "line": 21,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "require",
      "start": 528,
      "end": 537,
      "loc": {
        "start": {
          "line": 21,
          "column": 7
        },
        "end": {
          "line": 21,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 537,
      "end": 538,
      "loc": {
        "start": {
          "line": 21,
          "column": 16
        },
        "end": {
          "line": 21,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 538,
      "end": 539,
      "loc": {
        "start": {
          "line": 21,
          "column": 17
        },
        "end": {
          "line": 21,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "cache",
      "start": 539,
      "end": 544,
      "loc": {
        "start": {
          "line": 21,
          "column": 18
        },
        "end": {
          "line": 21,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 545,
      "end": 546,
      "loc": {
        "start": {
          "line": 21,
          "column": 24
        },
        "end": {
          "line": 21,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Object",
      "start": 547,
      "end": 553,
      "loc": {
        "start": {
          "line": 21,
          "column": 26
        },
        "end": {
          "line": 21,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 553,
      "end": 554,
      "loc": {
        "start": {
          "line": 21,
          "column": 32
        },
        "end": {
          "line": 21,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "create",
      "start": 554,
      "end": 560,
      "loc": {
        "start": {
          "line": 21,
          "column": 33
        },
        "end": {
          "line": 21,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 560,
      "end": 561,
      "loc": {
        "start": {
          "line": 21,
          "column": 39
        },
        "end": {
          "line": 21,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "null",
        "keyword": "null",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "null",
      "start": 561,
      "end": 565,
      "loc": {
        "start": {
          "line": 21,
          "column": 40
        },
        "end": {
          "line": 21,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 565,
      "end": 566,
      "loc": {
        "start": {
          "line": 21,
          "column": 44
        },
        "end": {
          "line": 21,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 566,
      "end": 567,
      "loc": {
        "start": {
          "line": 21,
          "column": 45
        },
        "end": {
          "line": 21,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "TopEnv",
      "start": 568,
      "end": 574,
      "loc": {
        "start": {
          "line": 22,
          "column": 0
        },
        "end": {
          "line": 22,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 574,
      "end": 575,
      "loc": {
        "start": {
          "line": 22,
          "column": 6
        },
        "end": {
          "line": 22,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "module",
      "start": 575,
      "end": 583,
      "loc": {
        "start": {
          "line": 22,
          "column": 7
        },
        "end": {
          "line": 22,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 583,
      "end": 584,
      "loc": {
        "start": {
          "line": 22,
          "column": 15
        },
        "end": {
          "line": 22,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 585,
      "end": 586,
      "loc": {
        "start": {
          "line": 22,
          "column": 17
        },
        "end": {
          "line": 22,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 587,
      "end": 588,
      "loc": {
        "start": {
          "line": 22,
          "column": 19
        },
        "end": {
          "line": 22,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "exports",
      "start": 589,
      "end": 596,
      "loc": {
        "start": {
          "line": 22,
          "column": 21
        },
        "end": {
          "line": 22,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 596,
      "end": 597,
      "loc": {
        "start": {
          "line": 22,
          "column": 28
        },
        "end": {
          "line": 22,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 598,
      "end": 599,
      "loc": {
        "start": {
          "line": 22,
          "column": 30
        },
        "end": {
          "line": 22,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 599,
      "end": 600,
      "loc": {
        "start": {
          "line": 22,
          "column": 31
        },
        "end": {
          "line": 22,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 601,
      "end": 602,
      "loc": {
        "start": {
          "line": 22,
          "column": 33
        },
        "end": {
          "line": 22,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 602,
      "end": 603,
      "loc": {
        "start": {
          "line": 22,
          "column": 34
        },
        "end": {
          "line": 22,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 604,
      "end": 604,
      "loc": {
        "start": {
          "line": 23,
          "column": 0
        },
        "end": {
          "line": 23,
          "column": 0
        }
      }
    }
  ]
}