{
  "type": "File",
  "start": 0,
  "end": 11180,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 361,
      "column": 25
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 11180,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 361,
        "column": 25
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "Identifier",
        "start": 30,
        "end": 11151,
        "loc": {
          "start": {
            "line": 4,
            "column": 0
          },
          "end": {
            "line": 359,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 36,
          "end": 45,
          "loc": {
            "start": {
              "line": 4,
              "column": 6
            },
            "end": {
              "line": 4,
              "column": 15
            },
            "identifierName": "Utilities"
          },
          "name": "Utilities",
          "leadingComments": null
        },
        "superClass": null,
        "body": {
          "type": "ClassBody",
          "start": 46,
          "end": 11151,
          "loc": {
            "start": {
              "line": 4,
              "column": 16
            },
            "end": {
              "line": 359,
              "column": 1
            }
          },
          "body": [
            {
              "type": "ClassMethod",
              "start": 114,
              "end": 740,
              "loc": {
                "start": {
                  "line": 8,
                  "column": 2
                },
                "end": {
                  "line": 24,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 114,
                "end": 125,
                "loc": {
                  "start": {
                    "line": 8,
                    "column": 2
                  },
                  "end": {
                    "line": 8,
                    "column": 13
                  },
                  "identifierName": "constructor"
                },
                "name": "constructor",
                "leadingComments": null
              },
              "kind": "constructor",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 126,
                  "end": 148,
                  "loc": {
                    "start": {
                      "line": 8,
                      "column": 14
                    },
                    "end": {
                      "line": 8,
                      "column": 36
                    },
                    "identifierName": "simpleKeyboardInstance"
                  },
                  "name": "simpleKeyboardInstance"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 149,
                "end": 740,
                "loc": {
                  "start": {
                    "line": 8,
                    "column": 37
                  },
                  "end": {
                    "line": 24,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 224,
                    "end": 277,
                    "loc": {
                      "start": {
                        "line": 12,
                        "column": 4
                      },
                      "end": {
                        "line": 12,
                        "column": 57
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 224,
                      "end": 276,
                      "loc": {
                        "start": {
                          "line": 12,
                          "column": 4
                        },
                        "end": {
                          "line": 12,
                          "column": 56
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 224,
                        "end": 251,
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 4
                          },
                          "end": {
                            "line": 12,
                            "column": 31
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 224,
                          "end": 228,
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 4
                            },
                            "end": {
                              "line": 12,
                              "column": 8
                            }
                          },
                          "leadingComments": null
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 229,
                          "end": 251,
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 9
                            },
                            "end": {
                              "line": 12,
                              "column": 31
                            },
                            "identifierName": "simpleKeyboardInstance"
                          },
                          "name": "simpleKeyboardInstance"
                        },
                        "computed": false,
                        "leadingComments": null
                      },
                      "right": {
                        "type": "Identifier",
                        "start": 254,
                        "end": 276,
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 34
                          },
                          "end": {
                            "line": 12,
                            "column": 56
                          },
                          "identifierName": "simpleKeyboardInstance"
                        },
                        "name": "simpleKeyboardInstance"
                      },
                      "leadingComments": null
                    },
                    "leadingComments": [
                      {
                        "type": "CommentBlock",
                        "value": "*\r\n     * @type {object} A simple-keyboard instance\r\n     ",
                        "start": 156,
                        "end": 218,
                        "loc": {
                          "start": {
                            "line": 9,
                            "column": 4
                          },
                          "end": {
                            "line": 11,
                            "column": 7
                          }
                        }
                      }
                    ],
                    "trailingComments": [
                      {
                        "type": "CommentBlock",
                        "value": "*\r\n     * Bindings\r\n     ",
                        "start": 285,
                        "end": 314,
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 4
                          },
                          "end": {
                            "line": 16,
                            "column": 7
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 320,
                    "end": 373,
                    "loc": {
                      "start": {
                        "line": 17,
                        "column": 4
                      },
                      "end": {
                        "line": 17,
                        "column": 57
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 320,
                      "end": 372,
                      "loc": {
                        "start": {
                          "line": 17,
                          "column": 4
                        },
                        "end": {
                          "line": 17,
                          "column": 56
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 320,
                        "end": 339,
                        "loc": {
                          "start": {
                            "line": 17,
                            "column": 4
                          },
                          "end": {
                            "line": 17,
                            "column": 23
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 320,
                          "end": 324,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 4
                            },
                            "end": {
                              "line": 17,
                              "column": 8
                            }
                          },
                          "leadingComments": null
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 325,
                          "end": 339,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 9
                            },
                            "end": {
                              "line": 17,
                              "column": 23
                            },
                            "identifierName": "getButtonClass"
                          },
                          "name": "getButtonClass"
                        },
                        "computed": false,
                        "leadingComments": null
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 342,
                        "end": 372,
                        "loc": {
                          "start": {
                            "line": 17,
                            "column": 26
                          },
                          "end": {
                            "line": 17,
                            "column": 56
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 342,
                          "end": 366,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 26
                            },
                            "end": {
                              "line": 17,
                              "column": 50
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 342,
                            "end": 361,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 26
                              },
                              "end": {
                                "line": 17,
                                "column": 45
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 342,
                              "end": 346,
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 26
                                },
                                "end": {
                                  "line": 17,
                                  "column": 30
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 347,
                              "end": 361,
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 31
                                },
                                "end": {
                                  "line": 17,
                                  "column": 45
                                },
                                "identifierName": "getButtonClass"
                              },
                              "name": "getButtonClass"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 362,
                            "end": 366,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 46
                              },
                              "end": {
                                "line": 17,
                                "column": 50
                              },
                              "identifierName": "bind"
                            },
                            "name": "bind"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 367,
                            "end": 371,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 51
                              },
                              "end": {
                                "line": 17,
                                "column": 55
                              }
                            }
                          }
                        ]
                      },
                      "leadingComments": null
                    },
                    "leadingComments": [
                      {
                        "type": "CommentBlock",
                        "value": "*\r\n     * Bindings\r\n     ",
                        "start": 285,
                        "end": 314,
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 4
                          },
                          "end": {
                            "line": 16,
                            "column": 7
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 379,
                    "end": 444,
                    "loc": {
                      "start": {
                        "line": 18,
                        "column": 4
                      },
                      "end": {
                        "line": 18,
                        "column": 69
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 379,
                      "end": 443,
                      "loc": {
                        "start": {
                          "line": 18,
                          "column": 4
                        },
                        "end": {
                          "line": 18,
                          "column": 68
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 379,
                        "end": 404,
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 4
                          },
                          "end": {
                            "line": 18,
                            "column": 29
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 379,
                          "end": 383,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 4
                            },
                            "end": {
                              "line": 18,
                              "column": 8
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 384,
                          "end": 404,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 9
                            },
                            "end": {
                              "line": 18,
                              "column": 29
                            },
                            "identifierName": "getButtonDisplayName"
                          },
                          "name": "getButtonDisplayName"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 407,
                        "end": 443,
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 32
                          },
                          "end": {
                            "line": 18,
                            "column": 68
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 407,
                          "end": 437,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 32
                            },
                            "end": {
                              "line": 18,
                              "column": 62
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 407,
                            "end": 432,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 32
                              },
                              "end": {
                                "line": 18,
                                "column": 57
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 407,
                              "end": 411,
                              "loc": {
                                "start": {
                                  "line": 18,
                                  "column": 32
                                },
                                "end": {
                                  "line": 18,
                                  "column": 36
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 412,
                              "end": 432,
                              "loc": {
                                "start": {
                                  "line": 18,
                                  "column": 37
                                },
                                "end": {
                                  "line": 18,
                                  "column": 57
                                },
                                "identifierName": "getButtonDisplayName"
                              },
                              "name": "getButtonDisplayName"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 433,
                            "end": 437,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 58
                              },
                              "end": {
                                "line": 18,
                                "column": 62
                              },
                              "identifierName": "bind"
                            },
                            "name": "bind"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 438,
                            "end": 442,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 63
                              },
                              "end": {
                                "line": 18,
                                "column": 67
                              }
                            }
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 450,
                    "end": 505,
                    "loc": {
                      "start": {
                        "line": 19,
                        "column": 4
                      },
                      "end": {
                        "line": 19,
                        "column": 59
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 450,
                      "end": 504,
                      "loc": {
                        "start": {
                          "line": 19,
                          "column": 4
                        },
                        "end": {
                          "line": 19,
                          "column": 58
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 450,
                        "end": 470,
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 4
                          },
                          "end": {
                            "line": 19,
                            "column": 24
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 450,
                          "end": 454,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 4
                            },
                            "end": {
                              "line": 19,
                              "column": 8
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 455,
                          "end": 470,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 9
                            },
                            "end": {
                              "line": 19,
                              "column": 24
                            },
                            "identifierName": "getUpdatedInput"
                          },
                          "name": "getUpdatedInput"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 473,
                        "end": 504,
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 27
                          },
                          "end": {
                            "line": 19,
                            "column": 58
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 473,
                          "end": 498,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 27
                            },
                            "end": {
                              "line": 19,
                              "column": 52
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 473,
                            "end": 493,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 27
                              },
                              "end": {
                                "line": 19,
                                "column": 47
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 473,
                              "end": 477,
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 27
                                },
                                "end": {
                                  "line": 19,
                                  "column": 31
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 478,
                              "end": 493,
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 32
                                },
                                "end": {
                                  "line": 19,
                                  "column": 47
                                },
                                "identifierName": "getUpdatedInput"
                              },
                              "name": "getUpdatedInput"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 494,
                            "end": 498,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 48
                              },
                              "end": {
                                "line": 19,
                                "column": 52
                              },
                              "identifierName": "bind"
                            },
                            "name": "bind"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 499,
                            "end": 503,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 53
                              },
                              "end": {
                                "line": 19,
                                "column": 57
                              }
                            }
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 511,
                    "end": 564,
                    "loc": {
                      "start": {
                        "line": 20,
                        "column": 4
                      },
                      "end": {
                        "line": 20,
                        "column": 57
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 511,
                      "end": 563,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 4
                        },
                        "end": {
                          "line": 20,
                          "column": 56
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 511,
                        "end": 530,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 4
                          },
                          "end": {
                            "line": 20,
                            "column": 23
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 511,
                          "end": 515,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 4
                            },
                            "end": {
                              "line": 20,
                              "column": 8
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 516,
                          "end": 530,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 9
                            },
                            "end": {
                              "line": 20,
                              "column": 23
                            },
                            "identifierName": "updateCaretPos"
                          },
                          "name": "updateCaretPos"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 533,
                        "end": 563,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 26
                          },
                          "end": {
                            "line": 20,
                            "column": 56
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 533,
                          "end": 557,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 26
                            },
                            "end": {
                              "line": 20,
                              "column": 50
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 533,
                            "end": 552,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 26
                              },
                              "end": {
                                "line": 20,
                                "column": 45
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 533,
                              "end": 537,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 26
                                },
                                "end": {
                                  "line": 20,
                                  "column": 30
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 538,
                              "end": 552,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 31
                                },
                                "end": {
                                  "line": 20,
                                  "column": 45
                                },
                                "identifierName": "updateCaretPos"
                              },
                              "name": "updateCaretPos"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 553,
                            "end": 557,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 46
                              },
                              "end": {
                                "line": 20,
                                "column": 50
                              },
                              "identifierName": "bind"
                            },
                            "name": "bind"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 558,
                            "end": 562,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 51
                              },
                              "end": {
                                "line": 20,
                                "column": 55
                              }
                            }
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 570,
                    "end": 631,
                    "loc": {
                      "start": {
                        "line": 21,
                        "column": 4
                      },
                      "end": {
                        "line": 21,
                        "column": 65
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 570,
                      "end": 630,
                      "loc": {
                        "start": {
                          "line": 21,
                          "column": 4
                        },
                        "end": {
                          "line": 21,
                          "column": 64
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 570,
                        "end": 593,
                        "loc": {
                          "start": {
                            "line": 21,
                            "column": 4
                          },
                          "end": {
                            "line": 21,
                            "column": 27
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 570,
                          "end": 574,
                          "loc": {
                            "start": {
                              "line": 21,
                              "column": 4
                            },
                            "end": {
                              "line": 21,
                              "column": 8
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 575,
                          "end": 593,
                          "loc": {
                            "start": {
                              "line": 21,
                              "column": 9
                            },
                            "end": {
                              "line": 21,
                              "column": 27
                            },
                            "identifierName": "isMaxLengthReached"
                          },
                          "name": "isMaxLengthReached"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 596,
                        "end": 630,
                        "loc": {
                          "start": {
                            "line": 21,
                            "column": 30
                          },
                          "end": {
                            "line": 21,
                            "column": 64
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 596,
                          "end": 624,
                          "loc": {
                            "start": {
                              "line": 21,
                              "column": 30
                            },
                            "end": {
                              "line": 21,
                              "column": 58
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 596,
                            "end": 619,
                            "loc": {
                              "start": {
                                "line": 21,
                                "column": 30
                              },
                              "end": {
                                "line": 21,
                                "column": 53
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 596,
                              "end": 600,
                              "loc": {
                                "start": {
                                  "line": 21,
                                  "column": 30
                                },
                                "end": {
                                  "line": 21,
                                  "column": 34
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 601,
                              "end": 619,
                              "loc": {
                                "start": {
                                  "line": 21,
                                  "column": 35
                                },
                                "end": {
                                  "line": 21,
                                  "column": 53
                                },
                                "identifierName": "isMaxLengthReached"
                              },
                              "name": "isMaxLengthReached"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 620,
                            "end": 624,
                            "loc": {
                              "start": {
                                "line": 21,
                                "column": 54
                              },
                              "end": {
                                "line": 21,
                                "column": 58
                              },
                              "identifierName": "bind"
                            },
                            "name": "bind"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 625,
                            "end": 629,
                            "loc": {
                              "start": {
                                "line": 21,
                                "column": 59
                              },
                              "end": {
                                "line": 21,
                                "column": 63
                              }
                            }
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 637,
                    "end": 680,
                    "loc": {
                      "start": {
                        "line": 22,
                        "column": 4
                      },
                      "end": {
                        "line": 22,
                        "column": 47
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 637,
                      "end": 679,
                      "loc": {
                        "start": {
                          "line": 22,
                          "column": 4
                        },
                        "end": {
                          "line": 22,
                          "column": 46
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 637,
                        "end": 651,
                        "loc": {
                          "start": {
                            "line": 22,
                            "column": 4
                          },
                          "end": {
                            "line": 22,
                            "column": 18
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 637,
                          "end": 641,
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 4
                            },
                            "end": {
                              "line": 22,
                              "column": 8
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 642,
                          "end": 651,
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 9
                            },
                            "end": {
                              "line": 22,
                              "column": 18
                            },
                            "identifierName": "camelCase"
                          },
                          "name": "camelCase"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 654,
                        "end": 679,
                        "loc": {
                          "start": {
                            "line": 22,
                            "column": 21
                          },
                          "end": {
                            "line": 22,
                            "column": 46
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 654,
                          "end": 673,
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 21
                            },
                            "end": {
                              "line": 22,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 654,
                            "end": 668,
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 21
                              },
                              "end": {
                                "line": 22,
                                "column": 35
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 654,
                              "end": 658,
                              "loc": {
                                "start": {
                                  "line": 22,
                                  "column": 21
                                },
                                "end": {
                                  "line": 22,
                                  "column": 25
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 659,
                              "end": 668,
                              "loc": {
                                "start": {
                                  "line": 22,
                                  "column": 26
                                },
                                "end": {
                                  "line": 22,
                                  "column": 35
                                },
                                "identifierName": "camelCase"
                              },
                              "name": "camelCase"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 669,
                            "end": 673,
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 36
                              },
                              "end": {
                                "line": 22,
                                "column": 40
                              },
                              "identifierName": "bind"
                            },
                            "name": "bind"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 674,
                            "end": 678,
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 41
                              },
                              "end": {
                                "line": 22,
                                "column": 45
                              }
                            }
                          }
                        ]
                      }
                    }
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 686,
                    "end": 735,
                    "loc": {
                      "start": {
                        "line": 23,
                        "column": 4
                      },
                      "end": {
                        "line": 23,
                        "column": 53
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 686,
                      "end": 734,
                      "loc": {
                        "start": {
                          "line": 23,
                          "column": 4
                        },
                        "end": {
                          "line": 23,
                          "column": 52
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 686,
                        "end": 703,
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 4
                          },
                          "end": {
                            "line": 23,
                            "column": 21
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 686,
                          "end": 690,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 4
                            },
                            "end": {
                              "line": 23,
                              "column": 8
                            }
                          }
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 691,
                          "end": 703,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 9
                            },
                            "end": {
                              "line": 23,
                              "column": 21
                            },
                            "identifierName": "countInArray"
                          },
                          "name": "countInArray"
                        },
                        "computed": false
                      },
                      "right": {
                        "type": "CallExpression",
                        "start": 706,
                        "end": 734,
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 24
                          },
                          "end": {
                            "line": 23,
                            "column": 52
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 706,
                          "end": 728,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 24
                            },
                            "end": {
                              "line": 23,
                              "column": 46
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 706,
                            "end": 723,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 24
                              },
                              "end": {
                                "line": 23,
                                "column": 41
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 706,
                              "end": 710,
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 24
                                },
                                "end": {
                                  "line": 23,
                                  "column": 28
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 711,
                              "end": 723,
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 29
                                },
                                "end": {
                                  "line": 23,
                                  "column": 41
                                },
                                "identifierName": "countInArray"
                              },
                              "name": "countInArray"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 724,
                            "end": 728,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 42
                              },
                              "end": {
                                "line": 23,
                                "column": 46
                              },
                              "identifierName": "bind"
                            },
                            "name": "bind"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ThisExpression",
                            "start": 729,
                            "end": 733,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 47
                              },
                              "end": {
                                "line": 23,
                                "column": 51
                              }
                            }
                          }
                        ]
                      }
                    }
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Creates an instance of the Utility service\r\n   ",
                  "start": 51,
                  "end": 110,
                  "loc": {
                    "start": {
                      "line": 5,
                      "column": 2
                    },
                    "end": {
                      "line": 7,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Adds default classes to a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @return {string} The classes to be added to the button\r\n   ",
                  "start": 746,
                  "end": 924,
                  "loc": {
                    "start": {
                      "line": 26,
                      "column": 2
                    },
                    "end": {
                      "line": 31,
                      "column": 5
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 928,
              "end": 1355,
              "loc": {
                "start": {
                  "line": 32,
                  "column": 2
                },
                "end": {
                  "line": 41,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 928,
                "end": 942,
                "loc": {
                  "start": {
                    "line": 32,
                    "column": 2
                  },
                  "end": {
                    "line": 32,
                    "column": 16
                  },
                  "identifierName": "getButtonClass"
                },
                "name": "getButtonClass",
                "leadingComments": null
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 943,
                  "end": 949,
                  "loc": {
                    "start": {
                      "line": 32,
                      "column": 17
                    },
                    "end": {
                      "line": 32,
                      "column": 23
                    },
                    "identifierName": "button"
                  },
                  "name": "button"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 950,
                "end": 1355,
                "loc": {
                  "start": {
                    "line": 32,
                    "column": 24
                  },
                  "end": {
                    "line": 41,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 957,
                    "end": 1079,
                    "loc": {
                      "start": {
                        "line": 33,
                        "column": 4
                      },
                      "end": {
                        "line": 33,
                        "column": 126
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 961,
                        "end": 1078,
                        "loc": {
                          "start": {
                            "line": 33,
                            "column": 8
                          },
                          "end": {
                            "line": 33,
                            "column": 125
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 961,
                          "end": 976,
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 8
                            },
                            "end": {
                              "line": 33,
                              "column": 23
                            },
                            "identifierName": "buttonTypeClass"
                          },
                          "name": "buttonTypeClass"
                        },
                        "init": {
                          "type": "ConditionalExpression",
                          "start": 979,
                          "end": 1078,
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 26
                            },
                            "end": {
                              "line": 33,
                              "column": 125
                            }
                          },
                          "test": {
                            "type": "LogicalExpression",
                            "start": 980,
                            "end": 1045,
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 27
                              },
                              "end": {
                                "line": 33,
                                "column": 92
                              }
                            },
                            "left": {
                              "type": "LogicalExpression",
                              "start": 980,
                              "end": 1024,
                              "loc": {
                                "start": {
                                  "line": 33,
                                  "column": 27
                                },
                                "end": {
                                  "line": 33,
                                  "column": 71
                                }
                              },
                              "left": {
                                "type": "CallExpression",
                                "start": 980,
                                "end": 1000,
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 33,
                                    "column": 47
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 980,
                                  "end": 995,
                                  "loc": {
                                    "start": {
                                      "line": 33,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 33,
                                      "column": 42
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 980,
                                    "end": 986,
                                    "loc": {
                                      "start": {
                                        "line": 33,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 33,
                                        "column": 33
                                      },
                                      "identifierName": "button"
                                    },
                                    "name": "button"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 987,
                                    "end": 995,
                                    "loc": {
                                      "start": {
                                        "line": 33,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 33,
                                        "column": 42
                                      },
                                      "identifierName": "includes"
                                    },
                                    "name": "includes"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "StringLiteral",
                                    "start": 996,
                                    "end": 999,
                                    "loc": {
                                      "start": {
                                        "line": 33,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 33,
                                        "column": 46
                                      }
                                    },
                                    "extra": {
                                      "rawValue": "{",
                                      "raw": "\"{\""
                                    },
                                    "value": "{"
                                  }
                                ]
                              },
                              "operator": "&&",
                              "right": {
                                "type": "CallExpression",
                                "start": 1004,
                                "end": 1024,
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 51
                                  },
                                  "end": {
                                    "line": 33,
                                    "column": 71
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 1004,
                                  "end": 1019,
                                  "loc": {
                                    "start": {
                                      "line": 33,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 33,
                                      "column": 66
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 1004,
                                    "end": 1010,
                                    "loc": {
                                      "start": {
                                        "line": 33,
                                        "column": 51
                                      },
                                      "end": {
                                        "line": 33,
                                        "column": 57
                                      },
                                      "identifierName": "button"
                                    },
                                    "name": "button"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1011,
                                    "end": 1019,
                                    "loc": {
                                      "start": {
                                        "line": 33,
                                        "column": 58
                                      },
                                      "end": {
                                        "line": 33,
                                        "column": 66
                                      },
                                      "identifierName": "includes"
                                    },
                                    "name": "includes"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "StringLiteral",
                                    "start": 1020,
                                    "end": 1023,
                                    "loc": {
                                      "start": {
                                        "line": 33,
                                        "column": 67
                                      },
                                      "end": {
                                        "line": 33,
                                        "column": 70
                                      }
                                    },
                                    "extra": {
                                      "rawValue": "}",
                                      "raw": "\"}\""
                                    },
                                    "value": "}"
                                  }
                                ]
                              }
                            },
                            "operator": "&&",
                            "right": {
                              "type": "BinaryExpression",
                              "start": 1028,
                              "end": 1045,
                              "loc": {
                                "start": {
                                  "line": 33,
                                  "column": 75
                                },
                                "end": {
                                  "line": 33,
                                  "column": 92
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 1028,
                                "end": 1034,
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 75
                                  },
                                  "end": {
                                    "line": 33,
                                    "column": 81
                                  },
                                  "identifierName": "button"
                                },
                                "name": "button"
                              },
                              "operator": "!==",
                              "right": {
                                "type": "StringLiteral",
                                "start": 1039,
                                "end": 1045,
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 86
                                  },
                                  "end": {
                                    "line": 33,
                                    "column": 92
                                  }
                                },
                                "extra": {
                                  "rawValue": "{//}",
                                  "raw": "'{//}'"
                                },
                                "value": "{//}"
                              }
                            },
                            "extra": {
                              "parenthesized": true,
                              "parenStart": 979
                            }
                          },
                          "consequent": {
                            "type": "StringLiteral",
                            "start": 1049,
                            "end": 1062,
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 96
                              },
                              "end": {
                                "line": 33,
                                "column": 109
                              }
                            },
                            "extra": {
                              "rawValue": "functionBtn",
                              "raw": "\"functionBtn\""
                            },
                            "value": "functionBtn"
                          },
                          "alternate": {
                            "type": "StringLiteral",
                            "start": 1065,
                            "end": 1078,
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 112
                              },
                              "end": {
                                "line": 33,
                                "column": 125
                              }
                            },
                            "extra": {
                              "rawValue": "standardBtn",
                              "raw": "\"standardBtn\""
                            },
                            "value": "standardBtn"
                          }
                        }
                      }
                    ],
                    "kind": "let"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 1085,
                    "end": 1152,
                    "loc": {
                      "start": {
                        "line": 34,
                        "column": 4
                      },
                      "end": {
                        "line": 34,
                        "column": 71
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 1089,
                        "end": 1151,
                        "loc": {
                          "start": {
                            "line": 34,
                            "column": 8
                          },
                          "end": {
                            "line": 34,
                            "column": 70
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 1089,
                          "end": 1108,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 8
                            },
                            "end": {
                              "line": 34,
                              "column": 27
                            },
                            "identifierName": "buttonWithoutBraces"
                          },
                          "name": "buttonWithoutBraces"
                        },
                        "init": {
                          "type": "CallExpression",
                          "start": 1111,
                          "end": 1151,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 30
                            },
                            "end": {
                              "line": 34,
                              "column": 70
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1111,
                            "end": 1142,
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 30
                              },
                              "end": {
                                "line": 34,
                                "column": 61
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 1111,
                              "end": 1134,
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 30
                                },
                                "end": {
                                  "line": 34,
                                  "column": 53
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 1111,
                                "end": 1125,
                                "loc": {
                                  "start": {
                                    "line": 34,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 34,
                                    "column": 44
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1111,
                                  "end": 1117,
                                  "loc": {
                                    "start": {
                                      "line": 34,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 34,
                                      "column": 36
                                    },
                                    "identifierName": "button"
                                  },
                                  "name": "button"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1118,
                                  "end": 1125,
                                  "loc": {
                                    "start": {
                                      "line": 34,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 34,
                                      "column": 44
                                    },
                                    "identifierName": "replace"
                                  },
                                  "name": "replace"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "StringLiteral",
                                  "start": 1126,
                                  "end": 1129,
                                  "loc": {
                                    "start": {
                                      "line": 34,
                                      "column": 45
                                    },
                                    "end": {
                                      "line": 34,
                                      "column": 48
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "{",
                                    "raw": "\"{\""
                                  },
                                  "value": "{"
                                },
                                {
                                  "type": "StringLiteral",
                                  "start": 1131,
                                  "end": 1133,
                                  "loc": {
                                    "start": {
                                      "line": 34,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 34,
                                      "column": 52
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "",
                                    "raw": "\"\""
                                  },
                                  "value": ""
                                }
                              ]
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1135,
                              "end": 1142,
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 54
                                },
                                "end": {
                                  "line": 34,
                                  "column": 61
                                },
                                "identifierName": "replace"
                              },
                              "name": "replace"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "StringLiteral",
                              "start": 1143,
                              "end": 1146,
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 62
                                },
                                "end": {
                                  "line": 34,
                                  "column": 65
                                }
                              },
                              "extra": {
                                "rawValue": "}",
                                "raw": "\"}\""
                              },
                              "value": "}"
                            },
                            {
                              "type": "StringLiteral",
                              "start": 1148,
                              "end": 1150,
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 67
                                },
                                "end": {
                                  "line": 34,
                                  "column": 69
                                }
                              },
                              "extra": {
                                "rawValue": "",
                                "raw": "\"\""
                              },
                              "value": ""
                            }
                          ]
                        }
                      }
                    ],
                    "kind": "let"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 1158,
                    "end": 1184,
                    "loc": {
                      "start": {
                        "line": 35,
                        "column": 4
                      },
                      "end": {
                        "line": 35,
                        "column": 30
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 1162,
                        "end": 1183,
                        "loc": {
                          "start": {
                            "line": 35,
                            "column": 8
                          },
                          "end": {
                            "line": 35,
                            "column": 29
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 1162,
                          "end": 1178,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 8
                            },
                            "end": {
                              "line": 35,
                              "column": 24
                            },
                            "identifierName": "buttonNormalized"
                          },
                          "name": "buttonNormalized"
                        },
                        "init": {
                          "type": "StringLiteral",
                          "start": 1181,
                          "end": 1183,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 27
                            },
                            "end": {
                              "line": 35,
                              "column": 29
                            }
                          },
                          "extra": {
                            "rawValue": "",
                            "raw": "''"
                          },
                          "value": ""
                        }
                      }
                    ],
                    "kind": "let"
                  },
                  {
                    "type": "IfStatement",
                    "start": 1192,
                    "end": 1292,
                    "loc": {
                      "start": {
                        "line": 37,
                        "column": 4
                      },
                      "end": {
                        "line": 38,
                        "column": 61
                      }
                    },
                    "test": {
                      "type": "BinaryExpression",
                      "start": 1195,
                      "end": 1228,
                      "loc": {
                        "start": {
                          "line": 37,
                          "column": 7
                        },
                        "end": {
                          "line": 37,
                          "column": 40
                        }
                      },
                      "left": {
                        "type": "Identifier",
                        "start": 1195,
                        "end": 1210,
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 7
                          },
                          "end": {
                            "line": 37,
                            "column": 22
                          },
                          "identifierName": "buttonTypeClass"
                        },
                        "name": "buttonTypeClass"
                      },
                      "operator": "!==",
                      "right": {
                        "type": "StringLiteral",
                        "start": 1215,
                        "end": 1228,
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 27
                          },
                          "end": {
                            "line": 37,
                            "column": 40
                          }
                        },
                        "extra": {
                          "rawValue": "standardBtn",
                          "raw": "\"standardBtn\""
                        },
                        "value": "standardBtn"
                      }
                    },
                    "consequent": {
                      "type": "ExpressionStatement",
                      "start": 1237,
                      "end": 1292,
                      "loc": {
                        "start": {
                          "line": 38,
                          "column": 6
                        },
                        "end": {
                          "line": 38,
                          "column": 61
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1237,
                        "end": 1291,
                        "loc": {
                          "start": {
                            "line": 38,
                            "column": 6
                          },
                          "end": {
                            "line": 38,
                            "column": 60
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "Identifier",
                          "start": 1237,
                          "end": 1253,
                          "loc": {
                            "start": {
                              "line": 38,
                              "column": 6
                            },
                            "end": {
                              "line": 38,
                              "column": 22
                            },
                            "identifierName": "buttonNormalized"
                          },
                          "name": "buttonNormalized"
                        },
                        "right": {
                          "type": "TemplateLiteral",
                          "start": 1256,
                          "end": 1291,
                          "loc": {
                            "start": {
                              "line": 38,
                              "column": 25
                            },
                            "end": {
                              "line": 38,
                              "column": 60
                            }
                          },
                          "expressions": [
                            {
                              "type": "Identifier",
                              "start": 1270,
                              "end": 1289,
                              "loc": {
                                "start": {
                                  "line": 38,
                                  "column": 39
                                },
                                "end": {
                                  "line": 38,
                                  "column": 58
                                },
                                "identifierName": "buttonWithoutBraces"
                              },
                              "name": "buttonWithoutBraces"
                            }
                          ],
                          "quasis": [
                            {
                              "type": "TemplateElement",
                              "start": 1257,
                              "end": 1268,
                              "loc": {
                                "start": {
                                  "line": 38,
                                  "column": 26
                                },
                                "end": {
                                  "line": 38,
                                  "column": 37
                                }
                              },
                              "value": {
                                "raw": " hg-button-",
                                "cooked": " hg-button-"
                              },
                              "tail": false
                            },
                            {
                              "type": "TemplateElement",
                              "start": 1290,
                              "end": 1290,
                              "loc": {
                                "start": {
                                  "line": 38,
                                  "column": 59
                                },
                                "end": {
                                  "line": 38,
                                  "column": 59
                                }
                              },
                              "value": {
                                "raw": "",
                                "cooked": ""
                              },
                              "tail": true
                            }
                          ]
                        }
                      }
                    },
                    "alternate": null
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 1300,
                    "end": 1350,
                    "loc": {
                      "start": {
                        "line": 40,
                        "column": 4
                      },
                      "end": {
                        "line": 40,
                        "column": 54
                      }
                    },
                    "argument": {
                      "type": "TemplateLiteral",
                      "start": 1307,
                      "end": 1349,
                      "loc": {
                        "start": {
                          "line": 40,
                          "column": 11
                        },
                        "end": {
                          "line": 40,
                          "column": 53
                        }
                      },
                      "expressions": [
                        {
                          "type": "Identifier",
                          "start": 1313,
                          "end": 1328,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 17
                            },
                            "end": {
                              "line": 40,
                              "column": 32
                            },
                            "identifierName": "buttonTypeClass"
                          },
                          "name": "buttonTypeClass"
                        },
                        {
                          "type": "Identifier",
                          "start": 1331,
                          "end": 1347,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 35
                            },
                            "end": {
                              "line": 40,
                              "column": 51
                            },
                            "identifierName": "buttonNormalized"
                          },
                          "name": "buttonNormalized"
                        }
                      ],
                      "quasis": [
                        {
                          "type": "TemplateElement",
                          "start": 1308,
                          "end": 1311,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 12
                            },
                            "end": {
                              "line": 40,
                              "column": 15
                            }
                          },
                          "value": {
                            "raw": "hg-",
                            "cooked": "hg-"
                          },
                          "tail": false
                        },
                        {
                          "type": "TemplateElement",
                          "start": 1329,
                          "end": 1329,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 33
                            },
                            "end": {
                              "line": 40,
                              "column": 33
                            }
                          },
                          "value": {
                            "raw": "",
                            "cooked": ""
                          },
                          "tail": false
                        },
                        {
                          "type": "TemplateElement",
                          "start": 1348,
                          "end": 1348,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 52
                            },
                            "end": {
                              "line": 40,
                              "column": 52
                            }
                          },
                          "value": {
                            "raw": "",
                            "cooked": ""
                          },
                          "tail": true
                        }
                      ]
                    }
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Adds default classes to a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @return {string} The classes to be added to the button\r\n   ",
                  "start": 746,
                  "end": 924,
                  "loc": {
                    "start": {
                      "line": 26,
                      "column": 2
                    },
                    "end": {
                      "line": 31,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Default button display labels\r\n   ",
                  "start": 1361,
                  "end": 1407,
                  "loc": {
                    "start": {
                      "line": 43,
                      "column": 2
                    },
                    "end": {
                      "line": 45,
                      "column": 5
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 1411,
              "end": 2979,
              "loc": {
                "start": {
                  "line": 46,
                  "column": 2
                },
                "end": {
                  "line": 108,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 1411,
                "end": 1427,
                "loc": {
                  "start": {
                    "line": 46,
                    "column": 2
                  },
                  "end": {
                    "line": 46,
                    "column": 18
                  },
                  "identifierName": "getDefaultDiplay"
                },
                "name": "getDefaultDiplay",
                "leadingComments": null
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start": 1429,
                "end": 2979,
                "loc": {
                  "start": {
                    "line": 46,
                    "column": 20
                  },
                  "end": {
                    "line": 108,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 1436,
                    "end": 2974,
                    "loc": {
                      "start": {
                        "line": 47,
                        "column": 4
                      },
                      "end": {
                        "line": 107,
                        "column": 6
                      }
                    },
                    "argument": {
                      "type": "ObjectExpression",
                      "start": 1443,
                      "end": 2973,
                      "loc": {
                        "start": {
                          "line": 47,
                          "column": 11
                        },
                        "end": {
                          "line": 107,
                          "column": 5
                        }
                      },
                      "properties": [
                        {
                          "type": "ObjectProperty",
                          "start": 1452,
                          "end": 1473,
                          "loc": {
                            "start": {
                              "line": 48,
                              "column": 6
                            },
                            "end": {
                              "line": 48,
                              "column": 27
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1452,
                            "end": 1460,
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 6
                              },
                              "end": {
                                "line": 48,
                                "column": 14
                              }
                            },
                            "extra": {
                              "rawValue": "{bksp}",
                              "raw": "'{bksp}'"
                            },
                            "value": "{bksp}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1462,
                            "end": 1473,
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 16
                              },
                              "end": {
                                "line": 48,
                                "column": 27
                              }
                            },
                            "extra": {
                              "rawValue": "backspace",
                              "raw": "'backspace'"
                            },
                            "value": "backspace"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1482,
                          "end": 1508,
                          "loc": {
                            "start": {
                              "line": 49,
                              "column": 6
                            },
                            "end": {
                              "line": 49,
                              "column": 32
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1482,
                            "end": 1495,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 6
                              },
                              "end": {
                                "line": 49,
                                "column": 19
                              }
                            },
                            "extra": {
                              "rawValue": "{backspace}",
                              "raw": "'{backspace}'"
                            },
                            "value": "{backspace}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1497,
                            "end": 1508,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 21
                              },
                              "end": {
                                "line": 49,
                                "column": 32
                              }
                            },
                            "extra": {
                              "rawValue": "backspace",
                              "raw": "'backspace'"
                            },
                            "value": "backspace"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1517,
                          "end": 1537,
                          "loc": {
                            "start": {
                              "line": 50,
                              "column": 6
                            },
                            "end": {
                              "line": 50,
                              "column": 26
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1517,
                            "end": 1526,
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 6
                              },
                              "end": {
                                "line": 50,
                                "column": 15
                              }
                            },
                            "extra": {
                              "rawValue": "{enter}",
                              "raw": "'{enter}'"
                            },
                            "value": "{enter}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1528,
                            "end": 1537,
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 17
                              },
                              "end": {
                                "line": 50,
                                "column": 26
                              }
                            },
                            "extra": {
                              "rawValue": "< enter",
                              "raw": "'< enter'"
                            },
                            "value": "< enter"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1546,
                          "end": 1564,
                          "loc": {
                            "start": {
                              "line": 51,
                              "column": 6
                            },
                            "end": {
                              "line": 51,
                              "column": 24
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1546,
                            "end": 1555,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 6
                              },
                              "end": {
                                "line": 51,
                                "column": 15
                              }
                            },
                            "extra": {
                              "rawValue": "{shift}",
                              "raw": "'{shift}'"
                            },
                            "value": "{shift}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1557,
                            "end": 1564,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 17
                              },
                              "end": {
                                "line": 51,
                                "column": 24
                              }
                            },
                            "extra": {
                              "rawValue": "shift",
                              "raw": "'shift'"
                            },
                            "value": "shift"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1573,
                          "end": 1595,
                          "loc": {
                            "start": {
                              "line": 52,
                              "column": 6
                            },
                            "end": {
                              "line": 52,
                              "column": 28
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1573,
                            "end": 1586,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 6
                              },
                              "end": {
                                "line": 52,
                                "column": 19
                              }
                            },
                            "extra": {
                              "rawValue": "{shiftleft}",
                              "raw": "'{shiftleft}'"
                            },
                            "value": "{shiftleft}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1588,
                            "end": 1595,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 21
                              },
                              "end": {
                                "line": 52,
                                "column": 28
                              }
                            },
                            "extra": {
                              "rawValue": "shift",
                              "raw": "'shift'"
                            },
                            "value": "shift"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1604,
                          "end": 1627,
                          "loc": {
                            "start": {
                              "line": 53,
                              "column": 6
                            },
                            "end": {
                              "line": 53,
                              "column": 29
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1604,
                            "end": 1618,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 6
                              },
                              "end": {
                                "line": 53,
                                "column": 20
                              }
                            },
                            "extra": {
                              "rawValue": "{shiftright}",
                              "raw": "'{shiftright}'"
                            },
                            "value": "{shiftright}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1620,
                            "end": 1627,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 22
                              },
                              "end": {
                                "line": 53,
                                "column": 29
                              }
                            },
                            "extra": {
                              "rawValue": "shift",
                              "raw": "'shift'"
                            },
                            "value": "shift"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1636,
                          "end": 1650,
                          "loc": {
                            "start": {
                              "line": 54,
                              "column": 6
                            },
                            "end": {
                              "line": 54,
                              "column": 20
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1636,
                            "end": 1643,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 6
                              },
                              "end": {
                                "line": 54,
                                "column": 13
                              }
                            },
                            "extra": {
                              "rawValue": "{alt}",
                              "raw": "'{alt}'"
                            },
                            "value": "{alt}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1645,
                            "end": 1650,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 15
                              },
                              "end": {
                                "line": 54,
                                "column": 20
                              }
                            },
                            "extra": {
                              "rawValue": "alt",
                              "raw": "'alt'"
                            },
                            "value": "alt"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1659,
                          "end": 1673,
                          "loc": {
                            "start": {
                              "line": 55,
                              "column": 6
                            },
                            "end": {
                              "line": 55,
                              "column": 20
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1659,
                            "end": 1664,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 6
                              },
                              "end": {
                                "line": 55,
                                "column": 11
                              }
                            },
                            "extra": {
                              "rawValue": "{s}",
                              "raw": "'{s}'"
                            },
                            "value": "{s}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1666,
                            "end": 1673,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 13
                              },
                              "end": {
                                "line": 55,
                                "column": 20
                              }
                            },
                            "extra": {
                              "rawValue": "shift",
                              "raw": "'shift'"
                            },
                            "value": "shift"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1682,
                          "end": 1696,
                          "loc": {
                            "start": {
                              "line": 56,
                              "column": 6
                            },
                            "end": {
                              "line": 56,
                              "column": 20
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1682,
                            "end": 1689,
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 6
                              },
                              "end": {
                                "line": 56,
                                "column": 13
                              }
                            },
                            "extra": {
                              "rawValue": "{tab}",
                              "raw": "'{tab}'"
                            },
                            "value": "{tab}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1691,
                            "end": 1696,
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 15
                              },
                              "end": {
                                "line": 56,
                                "column": 20
                              }
                            },
                            "extra": {
                              "rawValue": "tab",
                              "raw": "'tab'"
                            },
                            "value": "tab"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1705,
                          "end": 1721,
                          "loc": {
                            "start": {
                              "line": 57,
                              "column": 6
                            },
                            "end": {
                              "line": 57,
                              "column": 22
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1705,
                            "end": 1713,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 6
                              },
                              "end": {
                                "line": 57,
                                "column": 14
                              }
                            },
                            "extra": {
                              "rawValue": "{lock}",
                              "raw": "'{lock}'"
                            },
                            "value": "{lock}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1715,
                            "end": 1721,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 16
                              },
                              "end": {
                                "line": 57,
                                "column": 22
                              }
                            },
                            "extra": {
                              "rawValue": "caps",
                              "raw": "'caps'"
                            },
                            "value": "caps"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1730,
                          "end": 1750,
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 6
                            },
                            "end": {
                              "line": 58,
                              "column": 26
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1730,
                            "end": 1742,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 6
                              },
                              "end": {
                                "line": 58,
                                "column": 18
                              }
                            },
                            "extra": {
                              "rawValue": "{capslock}",
                              "raw": "'{capslock}'"
                            },
                            "value": "{capslock}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1744,
                            "end": 1750,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 20
                              },
                              "end": {
                                "line": 58,
                                "column": 26
                              }
                            },
                            "extra": {
                              "rawValue": "caps",
                              "raw": "'caps'"
                            },
                            "value": "caps"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1759,
                          "end": 1779,
                          "loc": {
                            "start": {
                              "line": 59,
                              "column": 6
                            },
                            "end": {
                              "line": 59,
                              "column": 26
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1759,
                            "end": 1769,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 6
                              },
                              "end": {
                                "line": 59,
                                "column": 16
                              }
                            },
                            "extra": {
                              "rawValue": "{accept}",
                              "raw": "'{accept}'"
                            },
                            "value": "{accept}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1771,
                            "end": 1779,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 18
                              },
                              "end": {
                                "line": 59,
                                "column": 26
                              }
                            },
                            "extra": {
                              "rawValue": "Submit",
                              "raw": "'Submit'"
                            },
                            "value": "Submit"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1788,
                          "end": 1802,
                          "loc": {
                            "start": {
                              "line": 60,
                              "column": 6
                            },
                            "end": {
                              "line": 60,
                              "column": 20
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1788,
                            "end": 1797,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 6
                              },
                              "end": {
                                "line": 60,
                                "column": 15
                              }
                            },
                            "extra": {
                              "rawValue": "{space}",
                              "raw": "'{space}'"
                            },
                            "value": "{space}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1799,
                            "end": 1802,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 17
                              },
                              "end": {
                                "line": 60,
                                "column": 20
                              }
                            },
                            "extra": {
                              "rawValue": " ",
                              "raw": "' '"
                            },
                            "value": " "
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1811,
                          "end": 1822,
                          "loc": {
                            "start": {
                              "line": 61,
                              "column": 6
                            },
                            "end": {
                              "line": 61,
                              "column": 17
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1811,
                            "end": 1817,
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 6
                              },
                              "end": {
                                "line": 61,
                                "column": 12
                              }
                            },
                            "extra": {
                              "rawValue": "{//}",
                              "raw": "'{//}'"
                            },
                            "value": "{//}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1819,
                            "end": 1822,
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 14
                              },
                              "end": {
                                "line": 61,
                                "column": 17
                              }
                            },
                            "extra": {
                              "rawValue": " ",
                              "raw": "' '"
                            },
                            "value": " "
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1831,
                          "end": 1845,
                          "loc": {
                            "start": {
                              "line": 62,
                              "column": 6
                            },
                            "end": {
                              "line": 62,
                              "column": 20
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1831,
                            "end": 1838,
                            "loc": {
                              "start": {
                                "line": 62,
                                "column": 6
                              },
                              "end": {
                                "line": 62,
                                "column": 13
                              }
                            },
                            "extra": {
                              "rawValue": "{esc}",
                              "raw": "\"{esc}\""
                            },
                            "value": "{esc}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1840,
                            "end": 1845,
                            "loc": {
                              "start": {
                                "line": 62,
                                "column": 15
                              },
                              "end": {
                                "line": 62,
                                "column": 20
                              }
                            },
                            "extra": {
                              "rawValue": "esc",
                              "raw": "\"esc\""
                            },
                            "value": "esc"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1854,
                          "end": 1871,
                          "loc": {
                            "start": {
                              "line": 63,
                              "column": 6
                            },
                            "end": {
                              "line": 63,
                              "column": 23
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1854,
                            "end": 1864,
                            "loc": {
                              "start": {
                                "line": 63,
                                "column": 6
                              },
                              "end": {
                                "line": 63,
                                "column": 16
                              }
                            },
                            "extra": {
                              "rawValue": "{escape}",
                              "raw": "\"{escape}\""
                            },
                            "value": "{escape}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1866,
                            "end": 1871,
                            "loc": {
                              "start": {
                                "line": 63,
                                "column": 18
                              },
                              "end": {
                                "line": 63,
                                "column": 23
                              }
                            },
                            "extra": {
                              "rawValue": "esc",
                              "raw": "\"esc\""
                            },
                            "value": "esc"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1880,
                          "end": 1892,
                          "loc": {
                            "start": {
                              "line": 64,
                              "column": 6
                            },
                            "end": {
                              "line": 64,
                              "column": 18
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1880,
                            "end": 1886,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 6
                              },
                              "end": {
                                "line": 64,
                                "column": 12
                              }
                            },
                            "extra": {
                              "rawValue": "{f1}",
                              "raw": "\"{f1}\""
                            },
                            "value": "{f1}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1888,
                            "end": 1892,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 14
                              },
                              "end": {
                                "line": 64,
                                "column": 18
                              }
                            },
                            "extra": {
                              "rawValue": "f1",
                              "raw": "\"f1\""
                            },
                            "value": "f1"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1901,
                          "end": 1913,
                          "loc": {
                            "start": {
                              "line": 65,
                              "column": 6
                            },
                            "end": {
                              "line": 65,
                              "column": 18
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1901,
                            "end": 1907,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 6
                              },
                              "end": {
                                "line": 65,
                                "column": 12
                              }
                            },
                            "extra": {
                              "rawValue": "{f2}",
                              "raw": "\"{f2}\""
                            },
                            "value": "{f2}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1909,
                            "end": 1913,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 14
                              },
                              "end": {
                                "line": 65,
                                "column": 18
                              }
                            },
                            "extra": {
                              "rawValue": "f2",
                              "raw": "\"f2\""
                            },
                            "value": "f2"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1922,
                          "end": 1934,
                          "loc": {
                            "start": {
                              "line": 66,
                              "column": 6
                            },
                            "end": {
                              "line": 66,
                              "column": 18
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1922,
                            "end": 1928,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 6
                              },
                              "end": {
                                "line": 66,
                                "column": 12
                              }
                            },
                            "extra": {
                              "rawValue": "{f3}",
                              "raw": "\"{f3}\""
                            },
                            "value": "{f3}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1930,
                            "end": 1934,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 14
                              },
                              "end": {
                                "line": 66,
                                "column": 18
                              }
                            },
                            "extra": {
                              "rawValue": "f3",
                              "raw": "\"f3\""
                            },
                            "value": "f3"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1943,
                          "end": 1955,
                          "loc": {
                            "start": {
                              "line": 67,
                              "column": 6
                            },
                            "end": {
                              "line": 67,
                              "column": 18
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1943,
                            "end": 1949,
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 6
                              },
                              "end": {
                                "line": 67,
                                "column": 12
                              }
                            },
                            "extra": {
                              "rawValue": "{f4}",
                              "raw": "\"{f4}\""
                            },
                            "value": "{f4}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1951,
                            "end": 1955,
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 14
                              },
                              "end": {
                                "line": 67,
                                "column": 18
                              }
                            },
                            "extra": {
                              "rawValue": "f4",
                              "raw": "\"f4\""
                            },
                            "value": "f4"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1964,
                          "end": 1976,
                          "loc": {
                            "start": {
                              "line": 68,
                              "column": 6
                            },
                            "end": {
                              "line": 68,
                              "column": 18
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1964,
                            "end": 1970,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 6
                              },
                              "end": {
                                "line": 68,
                                "column": 12
                              }
                            },
                            "extra": {
                              "rawValue": "{f5}",
                              "raw": "\"{f5}\""
                            },
                            "value": "{f5}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1972,
                            "end": 1976,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 14
                              },
                              "end": {
                                "line": 68,
                                "column": 18
                              }
                            },
                            "extra": {
                              "rawValue": "f5",
                              "raw": "\"f5\""
                            },
                            "value": "f5"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 1985,
                          "end": 1997,
                          "loc": {
                            "start": {
                              "line": 69,
                              "column": 6
                            },
                            "end": {
                              "line": 69,
                              "column": 18
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 1985,
                            "end": 1991,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 6
                              },
                              "end": {
                                "line": 69,
                                "column": 12
                              }
                            },
                            "extra": {
                              "rawValue": "{f6}",
                              "raw": "\"{f6}\""
                            },
                            "value": "{f6}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 1993,
                            "end": 1997,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 14
                              },
                              "end": {
                                "line": 69,
                                "column": 18
                              }
                            },
                            "extra": {
                              "rawValue": "f6",
                              "raw": "\"f6\""
                            },
                            "value": "f6"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2006,
                          "end": 2018,
                          "loc": {
                            "start": {
                              "line": 70,
                              "column": 6
                            },
                            "end": {
                              "line": 70,
                              "column": 18
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2006,
                            "end": 2012,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 6
                              },
                              "end": {
                                "line": 70,
                                "column": 12
                              }
                            },
                            "extra": {
                              "rawValue": "{f7}",
                              "raw": "\"{f7}\""
                            },
                            "value": "{f7}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2014,
                            "end": 2018,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 14
                              },
                              "end": {
                                "line": 70,
                                "column": 18
                              }
                            },
                            "extra": {
                              "rawValue": "f7",
                              "raw": "\"f7\""
                            },
                            "value": "f7"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2027,
                          "end": 2039,
                          "loc": {
                            "start": {
                              "line": 71,
                              "column": 6
                            },
                            "end": {
                              "line": 71,
                              "column": 18
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2027,
                            "end": 2033,
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 6
                              },
                              "end": {
                                "line": 71,
                                "column": 12
                              }
                            },
                            "extra": {
                              "rawValue": "{f8}",
                              "raw": "\"{f8}\""
                            },
                            "value": "{f8}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2035,
                            "end": 2039,
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 14
                              },
                              "end": {
                                "line": 71,
                                "column": 18
                              }
                            },
                            "extra": {
                              "rawValue": "f8",
                              "raw": "\"f8\""
                            },
                            "value": "f8"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2048,
                          "end": 2060,
                          "loc": {
                            "start": {
                              "line": 72,
                              "column": 6
                            },
                            "end": {
                              "line": 72,
                              "column": 18
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2048,
                            "end": 2054,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 6
                              },
                              "end": {
                                "line": 72,
                                "column": 12
                              }
                            },
                            "extra": {
                              "rawValue": "{f9}",
                              "raw": "\"{f9}\""
                            },
                            "value": "{f9}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2056,
                            "end": 2060,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 14
                              },
                              "end": {
                                "line": 72,
                                "column": 18
                              }
                            },
                            "extra": {
                              "rawValue": "f9",
                              "raw": "\"f9\""
                            },
                            "value": "f9"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2069,
                          "end": 2083,
                          "loc": {
                            "start": {
                              "line": 73,
                              "column": 6
                            },
                            "end": {
                              "line": 73,
                              "column": 20
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2069,
                            "end": 2076,
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 6
                              },
                              "end": {
                                "line": 73,
                                "column": 13
                              }
                            },
                            "extra": {
                              "rawValue": "{f10}",
                              "raw": "\"{f10}\""
                            },
                            "value": "{f10}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2078,
                            "end": 2083,
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 15
                              },
                              "end": {
                                "line": 73,
                                "column": 20
                              }
                            },
                            "extra": {
                              "rawValue": "f10",
                              "raw": "\"f10\""
                            },
                            "value": "f10"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2092,
                          "end": 2106,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 6
                            },
                            "end": {
                              "line": 74,
                              "column": 20
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2092,
                            "end": 2099,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 6
                              },
                              "end": {
                                "line": 74,
                                "column": 13
                              }
                            },
                            "extra": {
                              "rawValue": "{f11}",
                              "raw": "\"{f11}\""
                            },
                            "value": "{f11}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2101,
                            "end": 2106,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 15
                              },
                              "end": {
                                "line": 74,
                                "column": 20
                              }
                            },
                            "extra": {
                              "rawValue": "f11",
                              "raw": "\"f11\""
                            },
                            "value": "f11"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2115,
                          "end": 2129,
                          "loc": {
                            "start": {
                              "line": 75,
                              "column": 6
                            },
                            "end": {
                              "line": 75,
                              "column": 20
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2115,
                            "end": 2122,
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 6
                              },
                              "end": {
                                "line": 75,
                                "column": 13
                              }
                            },
                            "extra": {
                              "rawValue": "{f12}",
                              "raw": "\"{f12}\""
                            },
                            "value": "{f12}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2124,
                            "end": 2129,
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 15
                              },
                              "end": {
                                "line": 75,
                                "column": 20
                              }
                            },
                            "extra": {
                              "rawValue": "f12",
                              "raw": "\"f12\""
                            },
                            "value": "f12"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2138,
                          "end": 2159,
                          "loc": {
                            "start": {
                              "line": 76,
                              "column": 6
                            },
                            "end": {
                              "line": 76,
                              "column": 27
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2138,
                            "end": 2154,
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 6
                              },
                              "end": {
                                "line": 76,
                                "column": 22
                              }
                            },
                            "extra": {
                              "rawValue": "{numpaddivide}",
                              "raw": "'{numpaddivide}'"
                            },
                            "value": "{numpaddivide}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2156,
                            "end": 2159,
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 24
                              },
                              "end": {
                                "line": 76,
                                "column": 27
                              }
                            },
                            "extra": {
                              "rawValue": "/",
                              "raw": "'/'"
                            },
                            "value": "/"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2168,
                          "end": 2187,
                          "loc": {
                            "start": {
                              "line": 77,
                              "column": 6
                            },
                            "end": {
                              "line": 77,
                              "column": 25
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2168,
                            "end": 2179,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 6
                              },
                              "end": {
                                "line": 77,
                                "column": 17
                              }
                            },
                            "extra": {
                              "rawValue": "{numlock}",
                              "raw": "'{numlock}'"
                            },
                            "value": "{numlock}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2181,
                            "end": 2187,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 19
                              },
                              "end": {
                                "line": 77,
                                "column": 25
                              }
                            },
                            "extra": {
                              "rawValue": "lock",
                              "raw": "'lock'"
                            },
                            "value": "lock"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2196,
                          "end": 2212,
                          "loc": {
                            "start": {
                              "line": 78,
                              "column": 6
                            },
                            "end": {
                              "line": 78,
                              "column": 22
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2196,
                            "end": 2207,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 6
                              },
                              "end": {
                                "line": 78,
                                "column": 17
                              }
                            },
                            "extra": {
                              "rawValue": "{arrowup}",
                              "raw": "\"{arrowup}\""
                            },
                            "value": "{arrowup}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2209,
                            "end": 2212,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 19
                              },
                              "end": {
                                "line": 78,
                                "column": 22
                              }
                            },
                            "extra": {
                              "rawValue": "↑",
                              "raw": "\"↑\""
                            },
                            "value": "↑"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2221,
                          "end": 2239,
                          "loc": {
                            "start": {
                              "line": 79,
                              "column": 6
                            },
                            "end": {
                              "line": 79,
                              "column": 24
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2221,
                            "end": 2234,
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 6
                              },
                              "end": {
                                "line": 79,
                                "column": 19
                              }
                            },
                            "extra": {
                              "rawValue": "{arrowleft}",
                              "raw": "\"{arrowleft}\""
                            },
                            "value": "{arrowleft}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2236,
                            "end": 2239,
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 21
                              },
                              "end": {
                                "line": 79,
                                "column": 24
                              }
                            },
                            "extra": {
                              "rawValue": "←",
                              "raw": "\"←\""
                            },
                            "value": "←"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2248,
                          "end": 2266,
                          "loc": {
                            "start": {
                              "line": 80,
                              "column": 6
                            },
                            "end": {
                              "line": 80,
                              "column": 24
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2248,
                            "end": 2261,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 6
                              },
                              "end": {
                                "line": 80,
                                "column": 19
                              }
                            },
                            "extra": {
                              "rawValue": "{arrowdown}",
                              "raw": "\"{arrowdown}\""
                            },
                            "value": "{arrowdown}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2263,
                            "end": 2266,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 21
                              },
                              "end": {
                                "line": 80,
                                "column": 24
                              }
                            },
                            "extra": {
                              "rawValue": "↓",
                              "raw": "\"↓\""
                            },
                            "value": "↓"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2275,
                          "end": 2294,
                          "loc": {
                            "start": {
                              "line": 81,
                              "column": 6
                            },
                            "end": {
                              "line": 81,
                              "column": 25
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2275,
                            "end": 2289,
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 6
                              },
                              "end": {
                                "line": 81,
                                "column": 20
                              }
                            },
                            "extra": {
                              "rawValue": "{arrowright}",
                              "raw": "\"{arrowright}\""
                            },
                            "value": "{arrowright}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2291,
                            "end": 2294,
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 22
                              },
                              "end": {
                                "line": 81,
                                "column": 25
                              }
                            },
                            "extra": {
                              "rawValue": "→",
                              "raw": "\"→\""
                            },
                            "value": "→"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2303,
                          "end": 2322,
                          "loc": {
                            "start": {
                              "line": 82,
                              "column": 6
                            },
                            "end": {
                              "line": 82,
                              "column": 25
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2303,
                            "end": 2313,
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 6
                              },
                              "end": {
                                "line": 82,
                                "column": 16
                              }
                            },
                            "extra": {
                              "rawValue": "{prtscr}",
                              "raw": "\"{prtscr}\""
                            },
                            "value": "{prtscr}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2315,
                            "end": 2322,
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 18
                              },
                              "end": {
                                "line": 82,
                                "column": 25
                              }
                            },
                            "extra": {
                              "rawValue": "print",
                              "raw": "\"print\""
                            },
                            "value": "print"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2331,
                          "end": 2355,
                          "loc": {
                            "start": {
                              "line": 83,
                              "column": 6
                            },
                            "end": {
                              "line": 83,
                              "column": 30
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2331,
                            "end": 2345,
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 6
                              },
                              "end": {
                                "line": 83,
                                "column": 20
                              }
                            },
                            "extra": {
                              "rawValue": "{scrolllock}",
                              "raw": "\"{scrolllock}\""
                            },
                            "value": "{scrolllock}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2347,
                            "end": 2355,
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 22
                              },
                              "end": {
                                "line": 83,
                                "column": 30
                              }
                            },
                            "extra": {
                              "rawValue": "scroll",
                              "raw": "\"scroll\""
                            },
                            "value": "scroll"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2364,
                          "end": 2382,
                          "loc": {
                            "start": {
                              "line": 84,
                              "column": 6
                            },
                            "end": {
                              "line": 84,
                              "column": 24
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2364,
                            "end": 2373,
                            "loc": {
                              "start": {
                                "line": 84,
                                "column": 6
                              },
                              "end": {
                                "line": 84,
                                "column": 15
                              }
                            },
                            "extra": {
                              "rawValue": "{pause}",
                              "raw": "\"{pause}\""
                            },
                            "value": "{pause}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2375,
                            "end": 2382,
                            "loc": {
                              "start": {
                                "line": 84,
                                "column": 17
                              },
                              "end": {
                                "line": 84,
                                "column": 24
                              }
                            },
                            "extra": {
                              "rawValue": "pause",
                              "raw": "\"pause\""
                            },
                            "value": "pause"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2391,
                          "end": 2408,
                          "loc": {
                            "start": {
                              "line": 85,
                              "column": 6
                            },
                            "end": {
                              "line": 85,
                              "column": 23
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2391,
                            "end": 2401,
                            "loc": {
                              "start": {
                                "line": 85,
                                "column": 6
                              },
                              "end": {
                                "line": 85,
                                "column": 16
                              }
                            },
                            "extra": {
                              "rawValue": "{insert}",
                              "raw": "\"{insert}\""
                            },
                            "value": "{insert}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2403,
                            "end": 2408,
                            "loc": {
                              "start": {
                                "line": 85,
                                "column": 18
                              },
                              "end": {
                                "line": 85,
                                "column": 23
                              }
                            },
                            "extra": {
                              "rawValue": "ins",
                              "raw": "\"ins\""
                            },
                            "value": "ins"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2417,
                          "end": 2433,
                          "loc": {
                            "start": {
                              "line": 86,
                              "column": 6
                            },
                            "end": {
                              "line": 86,
                              "column": 22
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2417,
                            "end": 2425,
                            "loc": {
                              "start": {
                                "line": 86,
                                "column": 6
                              },
                              "end": {
                                "line": 86,
                                "column": 14
                              }
                            },
                            "extra": {
                              "rawValue": "{home}",
                              "raw": "\"{home}\""
                            },
                            "value": "{home}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2427,
                            "end": 2433,
                            "loc": {
                              "start": {
                                "line": 86,
                                "column": 16
                              },
                              "end": {
                                "line": 86,
                                "column": 22
                              }
                            },
                            "extra": {
                              "rawValue": "home",
                              "raw": "\"home\""
                            },
                            "value": "home"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2442,
                          "end": 2458,
                          "loc": {
                            "start": {
                              "line": 87,
                              "column": 6
                            },
                            "end": {
                              "line": 87,
                              "column": 22
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2442,
                            "end": 2452,
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 6
                              },
                              "end": {
                                "line": 87,
                                "column": 16
                              }
                            },
                            "extra": {
                              "rawValue": "{pageup}",
                              "raw": "\"{pageup}\""
                            },
                            "value": "{pageup}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2454,
                            "end": 2458,
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 18
                              },
                              "end": {
                                "line": 87,
                                "column": 22
                              }
                            },
                            "extra": {
                              "rawValue": "up",
                              "raw": "\"up\""
                            },
                            "value": "up"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2467,
                          "end": 2484,
                          "loc": {
                            "start": {
                              "line": 88,
                              "column": 6
                            },
                            "end": {
                              "line": 88,
                              "column": 23
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2467,
                            "end": 2477,
                            "loc": {
                              "start": {
                                "line": 88,
                                "column": 6
                              },
                              "end": {
                                "line": 88,
                                "column": 16
                              }
                            },
                            "extra": {
                              "rawValue": "{delete}",
                              "raw": "\"{delete}\""
                            },
                            "value": "{delete}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2479,
                            "end": 2484,
                            "loc": {
                              "start": {
                                "line": 88,
                                "column": 18
                              },
                              "end": {
                                "line": 88,
                                "column": 23
                              }
                            },
                            "extra": {
                              "rawValue": "del",
                              "raw": "\"del\""
                            },
                            "value": "del"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2493,
                          "end": 2507,
                          "loc": {
                            "start": {
                              "line": 89,
                              "column": 6
                            },
                            "end": {
                              "line": 89,
                              "column": 20
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2493,
                            "end": 2500,
                            "loc": {
                              "start": {
                                "line": 89,
                                "column": 6
                              },
                              "end": {
                                "line": 89,
                                "column": 13
                              }
                            },
                            "extra": {
                              "rawValue": "{end}",
                              "raw": "\"{end}\""
                            },
                            "value": "{end}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2502,
                            "end": 2507,
                            "loc": {
                              "start": {
                                "line": 89,
                                "column": 15
                              },
                              "end": {
                                "line": 89,
                                "column": 20
                              }
                            },
                            "extra": {
                              "rawValue": "end",
                              "raw": "\"end\""
                            },
                            "value": "end"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2516,
                          "end": 2536,
                          "loc": {
                            "start": {
                              "line": 90,
                              "column": 6
                            },
                            "end": {
                              "line": 90,
                              "column": 26
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2516,
                            "end": 2528,
                            "loc": {
                              "start": {
                                "line": 90,
                                "column": 6
                              },
                              "end": {
                                "line": 90,
                                "column": 18
                              }
                            },
                            "extra": {
                              "rawValue": "{pagedown}",
                              "raw": "\"{pagedown}\""
                            },
                            "value": "{pagedown}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2530,
                            "end": 2536,
                            "loc": {
                              "start": {
                                "line": 90,
                                "column": 20
                              },
                              "end": {
                                "line": 90,
                                "column": 26
                              }
                            },
                            "extra": {
                              "rawValue": "down",
                              "raw": "\"down\""
                            },
                            "value": "down"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2545,
                          "end": 2568,
                          "loc": {
                            "start": {
                              "line": 91,
                              "column": 6
                            },
                            "end": {
                              "line": 91,
                              "column": 29
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2545,
                            "end": 2563,
                            "loc": {
                              "start": {
                                "line": 91,
                                "column": 6
                              },
                              "end": {
                                "line": 91,
                                "column": 24
                              }
                            },
                            "extra": {
                              "rawValue": "{numpadmultiply}",
                              "raw": "\"{numpadmultiply}\""
                            },
                            "value": "{numpadmultiply}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2565,
                            "end": 2568,
                            "loc": {
                              "start": {
                                "line": 91,
                                "column": 26
                              },
                              "end": {
                                "line": 91,
                                "column": 29
                              }
                            },
                            "extra": {
                              "rawValue": "*",
                              "raw": "\"*\""
                            },
                            "value": "*"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2577,
                          "end": 2600,
                          "loc": {
                            "start": {
                              "line": 92,
                              "column": 6
                            },
                            "end": {
                              "line": 92,
                              "column": 29
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2577,
                            "end": 2595,
                            "loc": {
                              "start": {
                                "line": 92,
                                "column": 6
                              },
                              "end": {
                                "line": 92,
                                "column": 24
                              }
                            },
                            "extra": {
                              "rawValue": "{numpadsubtract}",
                              "raw": "\"{numpadsubtract}\""
                            },
                            "value": "{numpadsubtract}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2597,
                            "end": 2600,
                            "loc": {
                              "start": {
                                "line": 92,
                                "column": 26
                              },
                              "end": {
                                "line": 92,
                                "column": 29
                              }
                            },
                            "extra": {
                              "rawValue": "-",
                              "raw": "\"-\""
                            },
                            "value": "-"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2609,
                          "end": 2627,
                          "loc": {
                            "start": {
                              "line": 93,
                              "column": 6
                            },
                            "end": {
                              "line": 93,
                              "column": 24
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2609,
                            "end": 2622,
                            "loc": {
                              "start": {
                                "line": 93,
                                "column": 6
                              },
                              "end": {
                                "line": 93,
                                "column": 19
                              }
                            },
                            "extra": {
                              "rawValue": "{numpadadd}",
                              "raw": "\"{numpadadd}\""
                            },
                            "value": "{numpadadd}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2624,
                            "end": 2627,
                            "loc": {
                              "start": {
                                "line": 93,
                                "column": 21
                              },
                              "end": {
                                "line": 93,
                                "column": 24
                              }
                            },
                            "extra": {
                              "rawValue": "+",
                              "raw": "\"+\""
                            },
                            "value": "+"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2636,
                          "end": 2660,
                          "loc": {
                            "start": {
                              "line": 94,
                              "column": 6
                            },
                            "end": {
                              "line": 94,
                              "column": 30
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2636,
                            "end": 2651,
                            "loc": {
                              "start": {
                                "line": 94,
                                "column": 6
                              },
                              "end": {
                                "line": 94,
                                "column": 21
                              }
                            },
                            "extra": {
                              "rawValue": "{numpadenter}",
                              "raw": "\"{numpadenter}\""
                            },
                            "value": "{numpadenter}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2653,
                            "end": 2660,
                            "loc": {
                              "start": {
                                "line": 94,
                                "column": 23
                              },
                              "end": {
                                "line": 94,
                                "column": 30
                              }
                            },
                            "extra": {
                              "rawValue": "enter",
                              "raw": "\"enter\""
                            },
                            "value": "enter"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2669,
                          "end": 2684,
                          "loc": {
                            "start": {
                              "line": 95,
                              "column": 6
                            },
                            "end": {
                              "line": 95,
                              "column": 21
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2669,
                            "end": 2679,
                            "loc": {
                              "start": {
                                "line": 95,
                                "column": 6
                              },
                              "end": {
                                "line": 95,
                                "column": 16
                              }
                            },
                            "extra": {
                              "rawValue": "{period}",
                              "raw": "\"{period}\""
                            },
                            "value": "{period}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2681,
                            "end": 2684,
                            "loc": {
                              "start": {
                                "line": 95,
                                "column": 18
                              },
                              "end": {
                                "line": 95,
                                "column": 21
                              }
                            },
                            "extra": {
                              "rawValue": ".",
                              "raw": "\".\""
                            },
                            "value": "."
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2693,
                          "end": 2715,
                          "loc": {
                            "start": {
                              "line": 96,
                              "column": 6
                            },
                            "end": {
                              "line": 96,
                              "column": 28
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2693,
                            "end": 2710,
                            "loc": {
                              "start": {
                                "line": 96,
                                "column": 6
                              },
                              "end": {
                                "line": 96,
                                "column": 23
                              }
                            },
                            "extra": {
                              "rawValue": "{numpaddecimal}",
                              "raw": "\"{numpaddecimal}\""
                            },
                            "value": "{numpaddecimal}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2712,
                            "end": 2715,
                            "loc": {
                              "start": {
                                "line": 96,
                                "column": 25
                              },
                              "end": {
                                "line": 96,
                                "column": 28
                              }
                            },
                            "extra": {
                              "rawValue": ".",
                              "raw": "\".\""
                            },
                            "value": "."
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2724,
                          "end": 2740,
                          "loc": {
                            "start": {
                              "line": 97,
                              "column": 6
                            },
                            "end": {
                              "line": 97,
                              "column": 22
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2724,
                            "end": 2735,
                            "loc": {
                              "start": {
                                "line": 97,
                                "column": 6
                              },
                              "end": {
                                "line": 97,
                                "column": 17
                              }
                            },
                            "extra": {
                              "rawValue": "{numpad0}",
                              "raw": "\"{numpad0}\""
                            },
                            "value": "{numpad0}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2737,
                            "end": 2740,
                            "loc": {
                              "start": {
                                "line": 97,
                                "column": 19
                              },
                              "end": {
                                "line": 97,
                                "column": 22
                              }
                            },
                            "extra": {
                              "rawValue": "0",
                              "raw": "\"0\""
                            },
                            "value": "0"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2749,
                          "end": 2765,
                          "loc": {
                            "start": {
                              "line": 98,
                              "column": 6
                            },
                            "end": {
                              "line": 98,
                              "column": 22
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2749,
                            "end": 2760,
                            "loc": {
                              "start": {
                                "line": 98,
                                "column": 6
                              },
                              "end": {
                                "line": 98,
                                "column": 17
                              }
                            },
                            "extra": {
                              "rawValue": "{numpad1}",
                              "raw": "\"{numpad1}\""
                            },
                            "value": "{numpad1}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2762,
                            "end": 2765,
                            "loc": {
                              "start": {
                                "line": 98,
                                "column": 19
                              },
                              "end": {
                                "line": 98,
                                "column": 22
                              }
                            },
                            "extra": {
                              "rawValue": "1",
                              "raw": "\"1\""
                            },
                            "value": "1"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2774,
                          "end": 2790,
                          "loc": {
                            "start": {
                              "line": 99,
                              "column": 6
                            },
                            "end": {
                              "line": 99,
                              "column": 22
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2774,
                            "end": 2785,
                            "loc": {
                              "start": {
                                "line": 99,
                                "column": 6
                              },
                              "end": {
                                "line": 99,
                                "column": 17
                              }
                            },
                            "extra": {
                              "rawValue": "{numpad2}",
                              "raw": "\"{numpad2}\""
                            },
                            "value": "{numpad2}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2787,
                            "end": 2790,
                            "loc": {
                              "start": {
                                "line": 99,
                                "column": 19
                              },
                              "end": {
                                "line": 99,
                                "column": 22
                              }
                            },
                            "extra": {
                              "rawValue": "2",
                              "raw": "\"2\""
                            },
                            "value": "2"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2799,
                          "end": 2815,
                          "loc": {
                            "start": {
                              "line": 100,
                              "column": 6
                            },
                            "end": {
                              "line": 100,
                              "column": 22
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2799,
                            "end": 2810,
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 6
                              },
                              "end": {
                                "line": 100,
                                "column": 17
                              }
                            },
                            "extra": {
                              "rawValue": "{numpad3}",
                              "raw": "\"{numpad3}\""
                            },
                            "value": "{numpad3}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2812,
                            "end": 2815,
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 19
                              },
                              "end": {
                                "line": 100,
                                "column": 22
                              }
                            },
                            "extra": {
                              "rawValue": "3",
                              "raw": "\"3\""
                            },
                            "value": "3"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2824,
                          "end": 2840,
                          "loc": {
                            "start": {
                              "line": 101,
                              "column": 6
                            },
                            "end": {
                              "line": 101,
                              "column": 22
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2824,
                            "end": 2835,
                            "loc": {
                              "start": {
                                "line": 101,
                                "column": 6
                              },
                              "end": {
                                "line": 101,
                                "column": 17
                              }
                            },
                            "extra": {
                              "rawValue": "{numpad4}",
                              "raw": "\"{numpad4}\""
                            },
                            "value": "{numpad4}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2837,
                            "end": 2840,
                            "loc": {
                              "start": {
                                "line": 101,
                                "column": 19
                              },
                              "end": {
                                "line": 101,
                                "column": 22
                              }
                            },
                            "extra": {
                              "rawValue": "4",
                              "raw": "\"4\""
                            },
                            "value": "4"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2849,
                          "end": 2865,
                          "loc": {
                            "start": {
                              "line": 102,
                              "column": 6
                            },
                            "end": {
                              "line": 102,
                              "column": 22
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2849,
                            "end": 2860,
                            "loc": {
                              "start": {
                                "line": 102,
                                "column": 6
                              },
                              "end": {
                                "line": 102,
                                "column": 17
                              }
                            },
                            "extra": {
                              "rawValue": "{numpad5}",
                              "raw": "\"{numpad5}\""
                            },
                            "value": "{numpad5}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2862,
                            "end": 2865,
                            "loc": {
                              "start": {
                                "line": 102,
                                "column": 19
                              },
                              "end": {
                                "line": 102,
                                "column": 22
                              }
                            },
                            "extra": {
                              "rawValue": "5",
                              "raw": "\"5\""
                            },
                            "value": "5"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2874,
                          "end": 2890,
                          "loc": {
                            "start": {
                              "line": 103,
                              "column": 6
                            },
                            "end": {
                              "line": 103,
                              "column": 22
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2874,
                            "end": 2885,
                            "loc": {
                              "start": {
                                "line": 103,
                                "column": 6
                              },
                              "end": {
                                "line": 103,
                                "column": 17
                              }
                            },
                            "extra": {
                              "rawValue": "{numpad6}",
                              "raw": "\"{numpad6}\""
                            },
                            "value": "{numpad6}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2887,
                            "end": 2890,
                            "loc": {
                              "start": {
                                "line": 103,
                                "column": 19
                              },
                              "end": {
                                "line": 103,
                                "column": 22
                              }
                            },
                            "extra": {
                              "rawValue": "6",
                              "raw": "\"6\""
                            },
                            "value": "6"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2899,
                          "end": 2915,
                          "loc": {
                            "start": {
                              "line": 104,
                              "column": 6
                            },
                            "end": {
                              "line": 104,
                              "column": 22
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2899,
                            "end": 2910,
                            "loc": {
                              "start": {
                                "line": 104,
                                "column": 6
                              },
                              "end": {
                                "line": 104,
                                "column": 17
                              }
                            },
                            "extra": {
                              "rawValue": "{numpad7}",
                              "raw": "\"{numpad7}\""
                            },
                            "value": "{numpad7}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2912,
                            "end": 2915,
                            "loc": {
                              "start": {
                                "line": 104,
                                "column": 19
                              },
                              "end": {
                                "line": 104,
                                "column": 22
                              }
                            },
                            "extra": {
                              "rawValue": "7",
                              "raw": "\"7\""
                            },
                            "value": "7"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2924,
                          "end": 2940,
                          "loc": {
                            "start": {
                              "line": 105,
                              "column": 6
                            },
                            "end": {
                              "line": 105,
                              "column": 22
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2924,
                            "end": 2935,
                            "loc": {
                              "start": {
                                "line": 105,
                                "column": 6
                              },
                              "end": {
                                "line": 105,
                                "column": 17
                              }
                            },
                            "extra": {
                              "rawValue": "{numpad8}",
                              "raw": "\"{numpad8}\""
                            },
                            "value": "{numpad8}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2937,
                            "end": 2940,
                            "loc": {
                              "start": {
                                "line": 105,
                                "column": 19
                              },
                              "end": {
                                "line": 105,
                                "column": 22
                              }
                            },
                            "extra": {
                              "rawValue": "8",
                              "raw": "\"8\""
                            },
                            "value": "8"
                          }
                        },
                        {
                          "type": "ObjectProperty",
                          "start": 2949,
                          "end": 2965,
                          "loc": {
                            "start": {
                              "line": 106,
                              "column": 6
                            },
                            "end": {
                              "line": 106,
                              "column": 22
                            }
                          },
                          "method": false,
                          "shorthand": false,
                          "computed": false,
                          "key": {
                            "type": "StringLiteral",
                            "start": 2949,
                            "end": 2960,
                            "loc": {
                              "start": {
                                "line": 106,
                                "column": 6
                              },
                              "end": {
                                "line": 106,
                                "column": 17
                              }
                            },
                            "extra": {
                              "rawValue": "{numpad9}",
                              "raw": "\"{numpad9}\""
                            },
                            "value": "{numpad9}"
                          },
                          "value": {
                            "type": "StringLiteral",
                            "start": 2962,
                            "end": 2965,
                            "loc": {
                              "start": {
                                "line": 106,
                                "column": 19
                              },
                              "end": {
                                "line": 106,
                                "column": 22
                              }
                            },
                            "extra": {
                              "rawValue": "9",
                              "raw": "\"9\""
                            },
                            "value": "9"
                          }
                        }
                      ]
                    }
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Default button display labels\r\n   ",
                  "start": 1361,
                  "end": 1407,
                  "loc": {
                    "start": {
                      "line": 43,
                      "column": 2
                    },
                    "end": {
                      "line": 45,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Returns the display (label) name for a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @param  {object} display The provided display option\r\n   * @param  {boolean} mergeDisplay Whether the provided param value should be merged with the default one.\r\n   ",
                  "start": 2983,
                  "end": 3281,
                  "loc": {
                    "start": {
                      "line": 109,
                      "column": 2
                    },
                    "end": {
                      "line": 115,
                      "column": 5
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 3285,
              "end": 3550,
              "loc": {
                "start": {
                  "line": 116,
                  "column": 2
                },
                "end": {
                  "line": 124,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 3285,
                "end": 3305,
                "loc": {
                  "start": {
                    "line": 116,
                    "column": 2
                  },
                  "end": {
                    "line": 116,
                    "column": 22
                  },
                  "identifierName": "getButtonDisplayName"
                },
                "name": "getButtonDisplayName",
                "leadingComments": null
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 3306,
                  "end": 3312,
                  "loc": {
                    "start": {
                      "line": 116,
                      "column": 23
                    },
                    "end": {
                      "line": 116,
                      "column": 29
                    },
                    "identifierName": "button"
                  },
                  "name": "button"
                },
                {
                  "type": "Identifier",
                  "start": 3314,
                  "end": 3321,
                  "loc": {
                    "start": {
                      "line": 116,
                      "column": 31
                    },
                    "end": {
                      "line": 116,
                      "column": 38
                    },
                    "identifierName": "display"
                  },
                  "name": "display"
                },
                {
                  "type": "Identifier",
                  "start": 3323,
                  "end": 3335,
                  "loc": {
                    "start": {
                      "line": 116,
                      "column": 40
                    },
                    "end": {
                      "line": 116,
                      "column": 52
                    },
                    "identifierName": "mergeDisplay"
                  },
                  "name": "mergeDisplay"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 3336,
                "end": 3550,
                "loc": {
                  "start": {
                    "line": 116,
                    "column": 53
                  },
                  "end": {
                    "line": 124,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "IfStatement",
                    "start": 3343,
                    "end": 3504,
                    "loc": {
                      "start": {
                        "line": 117,
                        "column": 4
                      },
                      "end": {
                        "line": 121,
                        "column": 5
                      }
                    },
                    "test": {
                      "type": "Identifier",
                      "start": 3346,
                      "end": 3358,
                      "loc": {
                        "start": {
                          "line": 117,
                          "column": 7
                        },
                        "end": {
                          "line": 117,
                          "column": 19
                        },
                        "identifierName": "mergeDisplay"
                      },
                      "name": "mergeDisplay"
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 3359,
                      "end": 3437,
                      "loc": {
                        "start": {
                          "line": 117,
                          "column": 20
                        },
                        "end": {
                          "line": 119,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 3368,
                          "end": 3430,
                          "loc": {
                            "start": {
                              "line": 118,
                              "column": 6
                            },
                            "end": {
                              "line": 118,
                              "column": 68
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 3368,
                            "end": 3429,
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 6
                              },
                              "end": {
                                "line": 118,
                                "column": 67
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 3368,
                              "end": 3375,
                              "loc": {
                                "start": {
                                  "line": 118,
                                  "column": 6
                                },
                                "end": {
                                  "line": 118,
                                  "column": 13
                                },
                                "identifierName": "display"
                              },
                              "name": "display"
                            },
                            "right": {
                              "type": "CallExpression",
                              "start": 3378,
                              "end": 3429,
                              "loc": {
                                "start": {
                                  "line": 118,
                                  "column": 16
                                },
                                "end": {
                                  "line": 118,
                                  "column": 67
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 3378,
                                "end": 3391,
                                "loc": {
                                  "start": {
                                    "line": 118,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 118,
                                    "column": 29
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 3378,
                                  "end": 3384,
                                  "loc": {
                                    "start": {
                                      "line": 118,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 118,
                                      "column": 22
                                    },
                                    "identifierName": "Object"
                                  },
                                  "name": "Object"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 3385,
                                  "end": 3391,
                                  "loc": {
                                    "start": {
                                      "line": 118,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 118,
                                      "column": 29
                                    },
                                    "identifierName": "assign"
                                  },
                                  "name": "assign"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "ObjectExpression",
                                  "start": 3392,
                                  "end": 3394,
                                  "loc": {
                                    "start": {
                                      "line": 118,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 118,
                                      "column": 32
                                    }
                                  },
                                  "properties": []
                                },
                                {
                                  "type": "CallExpression",
                                  "start": 3396,
                                  "end": 3419,
                                  "loc": {
                                    "start": {
                                      "line": 118,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 118,
                                      "column": 57
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 3396,
                                    "end": 3417,
                                    "loc": {
                                      "start": {
                                        "line": 118,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 118,
                                        "column": 55
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 3396,
                                      "end": 3400,
                                      "loc": {
                                        "start": {
                                          "line": 118,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 118,
                                          "column": 38
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3401,
                                      "end": 3417,
                                      "loc": {
                                        "start": {
                                          "line": 118,
                                          "column": 39
                                        },
                                        "end": {
                                          "line": 118,
                                          "column": 55
                                        },
                                        "identifierName": "getDefaultDiplay"
                                      },
                                      "name": "getDefaultDiplay"
                                    },
                                    "computed": false
                                  },
                                  "arguments": []
                                },
                                {
                                  "type": "Identifier",
                                  "start": 3421,
                                  "end": 3428,
                                  "loc": {
                                    "start": {
                                      "line": 118,
                                      "column": 59
                                    },
                                    "end": {
                                      "line": 118,
                                      "column": 66
                                    },
                                    "identifierName": "display"
                                  },
                                  "name": "display"
                                }
                              ]
                            }
                          }
                        }
                      ],
                      "directives": []
                    },
                    "alternate": {
                      "type": "BlockStatement",
                      "start": 3443,
                      "end": 3504,
                      "loc": {
                        "start": {
                          "line": 119,
                          "column": 11
                        },
                        "end": {
                          "line": 121,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 3452,
                          "end": 3497,
                          "loc": {
                            "start": {
                              "line": 120,
                              "column": 6
                            },
                            "end": {
                              "line": 120,
                              "column": 51
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 3452,
                            "end": 3496,
                            "loc": {
                              "start": {
                                "line": 120,
                                "column": 6
                              },
                              "end": {
                                "line": 120,
                                "column": 50
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 3452,
                              "end": 3459,
                              "loc": {
                                "start": {
                                  "line": 120,
                                  "column": 6
                                },
                                "end": {
                                  "line": 120,
                                  "column": 13
                                },
                                "identifierName": "display"
                              },
                              "name": "display"
                            },
                            "right": {
                              "type": "LogicalExpression",
                              "start": 3462,
                              "end": 3496,
                              "loc": {
                                "start": {
                                  "line": 120,
                                  "column": 16
                                },
                                "end": {
                                  "line": 120,
                                  "column": 50
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 3462,
                                "end": 3469,
                                "loc": {
                                  "start": {
                                    "line": 120,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 120,
                                    "column": 23
                                  },
                                  "identifierName": "display"
                                },
                                "name": "display"
                              },
                              "operator": "||",
                              "right": {
                                "type": "CallExpression",
                                "start": 3473,
                                "end": 3496,
                                "loc": {
                                  "start": {
                                    "line": 120,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 120,
                                    "column": 50
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 3473,
                                  "end": 3494,
                                  "loc": {
                                    "start": {
                                      "line": 120,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 120,
                                      "column": 48
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 3473,
                                    "end": 3477,
                                    "loc": {
                                      "start": {
                                        "line": 120,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 120,
                                        "column": 31
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3478,
                                    "end": 3494,
                                    "loc": {
                                      "start": {
                                        "line": 120,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 120,
                                        "column": 48
                                      },
                                      "identifierName": "getDefaultDiplay"
                                    },
                                    "name": "getDefaultDiplay"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            }
                          }
                        }
                      ],
                      "directives": []
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 3512,
                    "end": 3545,
                    "loc": {
                      "start": {
                        "line": 123,
                        "column": 4
                      },
                      "end": {
                        "line": 123,
                        "column": 37
                      }
                    },
                    "argument": {
                      "type": "LogicalExpression",
                      "start": 3519,
                      "end": 3544,
                      "loc": {
                        "start": {
                          "line": 123,
                          "column": 11
                        },
                        "end": {
                          "line": 123,
                          "column": 36
                        }
                      },
                      "left": {
                        "type": "MemberExpression",
                        "start": 3519,
                        "end": 3534,
                        "loc": {
                          "start": {
                            "line": 123,
                            "column": 11
                          },
                          "end": {
                            "line": 123,
                            "column": 26
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 3519,
                          "end": 3526,
                          "loc": {
                            "start": {
                              "line": 123,
                              "column": 11
                            },
                            "end": {
                              "line": 123,
                              "column": 18
                            },
                            "identifierName": "display"
                          },
                          "name": "display"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 3527,
                          "end": 3533,
                          "loc": {
                            "start": {
                              "line": 123,
                              "column": 19
                            },
                            "end": {
                              "line": 123,
                              "column": 25
                            },
                            "identifierName": "button"
                          },
                          "name": "button"
                        },
                        "computed": true
                      },
                      "operator": "||",
                      "right": {
                        "type": "Identifier",
                        "start": 3538,
                        "end": 3544,
                        "loc": {
                          "start": {
                            "line": 123,
                            "column": 30
                          },
                          "end": {
                            "line": 123,
                            "column": 36
                          },
                          "identifierName": "button"
                        },
                        "name": "button"
                      }
                    }
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Returns the display (label) name for a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @param  {object} display The provided display option\r\n   * @param  {boolean} mergeDisplay Whether the provided param value should be merged with the default one.\r\n   ",
                  "start": 2983,
                  "end": 3281,
                  "loc": {
                    "start": {
                      "line": 109,
                      "column": 2
                    },
                    "end": {
                      "line": 115,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Returns the updated input resulting from clicking a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @param  {string} input The input string\r\n   * @param  {object} options The simple-keyboard options object\r\n   * @param  {number} caretPos The cursor's current position\r\n   * @param  {boolean} moveCaret Whether to update simple-keyboard's cursor\r\n   ",
                  "start": 3560,
                  "end": 3954,
                  "loc": {
                    "start": {
                      "line": 127,
                      "column": 2
                    },
                    "end": {
                      "line": 135,
                      "column": 5
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 3958,
              "end": 5678,
              "loc": {
                "start": {
                  "line": 136,
                  "column": 2
                },
                "end": {
                  "line": 177,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 3958,
                "end": 3973,
                "loc": {
                  "start": {
                    "line": 136,
                    "column": 2
                  },
                  "end": {
                    "line": 136,
                    "column": 17
                  },
                  "identifierName": "getUpdatedInput"
                },
                "name": "getUpdatedInput",
                "leadingComments": null
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 3974,
                  "end": 3980,
                  "loc": {
                    "start": {
                      "line": 136,
                      "column": 18
                    },
                    "end": {
                      "line": 136,
                      "column": 24
                    },
                    "identifierName": "button"
                  },
                  "name": "button"
                },
                {
                  "type": "Identifier",
                  "start": 3982,
                  "end": 3987,
                  "loc": {
                    "start": {
                      "line": 136,
                      "column": 26
                    },
                    "end": {
                      "line": 136,
                      "column": 31
                    },
                    "identifierName": "input"
                  },
                  "name": "input"
                },
                {
                  "type": "Identifier",
                  "start": 3989,
                  "end": 3996,
                  "loc": {
                    "start": {
                      "line": 136,
                      "column": 33
                    },
                    "end": {
                      "line": 136,
                      "column": 40
                    },
                    "identifierName": "options"
                  },
                  "name": "options"
                },
                {
                  "type": "Identifier",
                  "start": 3998,
                  "end": 4006,
                  "loc": {
                    "start": {
                      "line": 136,
                      "column": 42
                    },
                    "end": {
                      "line": 136,
                      "column": 50
                    },
                    "identifierName": "caretPos"
                  },
                  "name": "caretPos"
                },
                {
                  "type": "Identifier",
                  "start": 4008,
                  "end": 4017,
                  "loc": {
                    "start": {
                      "line": 136,
                      "column": 52
                    },
                    "end": {
                      "line": 136,
                      "column": 61
                    },
                    "identifierName": "moveCaret"
                  },
                  "name": "moveCaret"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 4018,
                "end": 5678,
                "loc": {
                  "start": {
                    "line": 136,
                    "column": 62
                  },
                  "end": {
                    "line": 177,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 4031,
                    "end": 4050,
                    "loc": {
                      "start": {
                        "line": 138,
                        "column": 4
                      },
                      "end": {
                        "line": 138,
                        "column": 23
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 4035,
                        "end": 4049,
                        "loc": {
                          "start": {
                            "line": 138,
                            "column": 8
                          },
                          "end": {
                            "line": 138,
                            "column": 22
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 4035,
                          "end": 4041,
                          "loc": {
                            "start": {
                              "line": 138,
                              "column": 8
                            },
                            "end": {
                              "line": 138,
                              "column": 14
                            },
                            "identifierName": "output"
                          },
                          "name": "output"
                        },
                        "init": {
                          "type": "Identifier",
                          "start": 4044,
                          "end": 4049,
                          "loc": {
                            "start": {
                              "line": 138,
                              "column": 17
                            },
                            "end": {
                              "line": 138,
                              "column": 22
                            },
                            "identifierName": "input"
                          },
                          "name": "input"
                        }
                      }
                    ],
                    "kind": "let"
                  },
                  {
                    "type": "IfStatement",
                    "start": 4058,
                    "end": 5651,
                    "loc": {
                      "start": {
                        "line": 140,
                        "column": 4
                      },
                      "end": {
                        "line": 174,
                        "column": 69
                      }
                    },
                    "test": {
                      "type": "LogicalExpression",
                      "start": 4061,
                      "end": 4131,
                      "loc": {
                        "start": {
                          "line": 140,
                          "column": 7
                        },
                        "end": {
                          "line": 140,
                          "column": 77
                        }
                      },
                      "left": {
                        "type": "LogicalExpression",
                        "start": 4062,
                        "end": 4109,
                        "loc": {
                          "start": {
                            "line": 140,
                            "column": 8
                          },
                          "end": {
                            "line": 140,
                            "column": 55
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 4062,
                          "end": 4081,
                          "loc": {
                            "start": {
                              "line": 140,
                              "column": 8
                            },
                            "end": {
                              "line": 140,
                              "column": 27
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 4062,
                            "end": 4068,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 8
                              },
                              "end": {
                                "line": 140,
                                "column": 14
                              },
                              "identifierName": "button"
                            },
                            "name": "button"
                          },
                          "operator": "===",
                          "right": {
                            "type": "StringLiteral",
                            "start": 4073,
                            "end": 4081,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 19
                              },
                              "end": {
                                "line": 140,
                                "column": 27
                              }
                            },
                            "extra": {
                              "rawValue": "{bksp}",
                              "raw": "\"{bksp}\""
                            },
                            "value": "{bksp}"
                          }
                        },
                        "operator": "||",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 4085,
                          "end": 4109,
                          "loc": {
                            "start": {
                              "line": 140,
                              "column": 31
                            },
                            "end": {
                              "line": 140,
                              "column": 55
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 4085,
                            "end": 4091,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 31
                              },
                              "end": {
                                "line": 140,
                                "column": 37
                              },
                              "identifierName": "button"
                            },
                            "name": "button"
                          },
                          "operator": "===",
                          "right": {
                            "type": "StringLiteral",
                            "start": 4096,
                            "end": 4109,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 42
                              },
                              "end": {
                                "line": 140,
                                "column": 55
                              }
                            },
                            "extra": {
                              "rawValue": "{backspace}",
                              "raw": "\"{backspace}\""
                            },
                            "value": "{backspace}"
                          }
                        },
                        "extra": {
                          "parenthesized": true,
                          "parenStart": 4061
                        }
                      },
                      "operator": "&&",
                      "right": {
                        "type": "BinaryExpression",
                        "start": 4114,
                        "end": 4131,
                        "loc": {
                          "start": {
                            "line": 140,
                            "column": 60
                          },
                          "end": {
                            "line": 140,
                            "column": 77
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 4114,
                          "end": 4127,
                          "loc": {
                            "start": {
                              "line": 140,
                              "column": 60
                            },
                            "end": {
                              "line": 140,
                              "column": 73
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 4114,
                            "end": 4120,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 60
                              },
                              "end": {
                                "line": 140,
                                "column": 66
                              },
                              "identifierName": "output"
                            },
                            "name": "output"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 4121,
                            "end": 4127,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 67
                              },
                              "end": {
                                "line": 140,
                                "column": 73
                              },
                              "identifierName": "length"
                            },
                            "name": "length"
                          },
                          "computed": false
                        },
                        "operator": ">",
                        "right": {
                          "type": "NumericLiteral",
                          "start": 4130,
                          "end": 4131,
                          "loc": {
                            "start": {
                              "line": 140,
                              "column": 76
                            },
                            "end": {
                              "line": 140,
                              "column": 77
                            }
                          },
                          "extra": {
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "value": 0
                        }
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 4132,
                      "end": 4202,
                      "loc": {
                        "start": {
                          "line": 140,
                          "column": 78
                        },
                        "end": {
                          "line": 143,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 4141,
                          "end": 4193,
                          "loc": {
                            "start": {
                              "line": 141,
                              "column": 6
                            },
                            "end": {
                              "line": 141,
                              "column": 58
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 4141,
                            "end": 4192,
                            "loc": {
                              "start": {
                                "line": 141,
                                "column": 6
                              },
                              "end": {
                                "line": 141,
                                "column": 57
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 4141,
                              "end": 4147,
                              "loc": {
                                "start": {
                                  "line": 141,
                                  "column": 6
                                },
                                "end": {
                                  "line": 141,
                                  "column": 12
                                },
                                "identifierName": "output"
                              },
                              "name": "output"
                            },
                            "right": {
                              "type": "CallExpression",
                              "start": 4150,
                              "end": 4192,
                              "loc": {
                                "start": {
                                  "line": 141,
                                  "column": 15
                                },
                                "end": {
                                  "line": 141,
                                  "column": 57
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 4150,
                                "end": 4163,
                                "loc": {
                                  "start": {
                                    "line": 141,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 141,
                                    "column": 28
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 4150,
                                  "end": 4154,
                                  "loc": {
                                    "start": {
                                      "line": 141,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 141,
                                      "column": 19
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4155,
                                  "end": 4163,
                                  "loc": {
                                    "start": {
                                      "line": 141,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 141,
                                      "column": 28
                                    },
                                    "identifierName": "removeAt"
                                  },
                                  "name": "removeAt"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 4164,
                                  "end": 4170,
                                  "loc": {
                                    "start": {
                                      "line": 141,
                                      "column": 29
                                    },
                                    "end": {
                                      "line": 141,
                                      "column": 35
                                    },
                                    "identifierName": "output"
                                  },
                                  "name": "output"
                                },
                                {
                                  "type": "Identifier",
                                  "start": 4172,
                                  "end": 4180,
                                  "loc": {
                                    "start": {
                                      "line": 141,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 141,
                                      "column": 45
                                    },
                                    "identifierName": "caretPos"
                                  },
                                  "name": "caretPos"
                                },
                                {
                                  "type": "Identifier",
                                  "start": 4182,
                                  "end": 4191,
                                  "loc": {
                                    "start": {
                                      "line": 141,
                                      "column": 47
                                    },
                                    "end": {
                                      "line": 141,
                                      "column": 56
                                    },
                                    "identifierName": "moveCaret"
                                  },
                                  "name": "moveCaret"
                                }
                              ]
                            }
                          }
                        }
                      ],
                      "directives": []
                    },
                    "alternate": {
                      "type": "IfStatement",
                      "start": 4208,
                      "end": 5651,
                      "loc": {
                        "start": {
                          "line": 143,
                          "column": 11
                        },
                        "end": {
                          "line": 174,
                          "column": 69
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 4211,
                        "end": 4231,
                        "loc": {
                          "start": {
                            "line": 143,
                            "column": 14
                          },
                          "end": {
                            "line": 143,
                            "column": 34
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 4211,
                          "end": 4217,
                          "loc": {
                            "start": {
                              "line": 143,
                              "column": 14
                            },
                            "end": {
                              "line": 143,
                              "column": 20
                            },
                            "identifierName": "button"
                          },
                          "name": "button"
                        },
                        "operator": "===",
                        "right": {
                          "type": "StringLiteral",
                          "start": 4222,
                          "end": 4231,
                          "loc": {
                            "start": {
                              "line": 143,
                              "column": 25
                            },
                            "end": {
                              "line": 143,
                              "column": 34
                            }
                          },
                          "extra": {
                            "rawValue": "{space}",
                            "raw": "\"{space}\""
                          },
                          "value": "{space}"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 4240,
                        "end": 4300,
                        "loc": {
                          "start": {
                            "line": 144,
                            "column": 6
                          },
                          "end": {
                            "line": 144,
                            "column": 66
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 4240,
                          "end": 4299,
                          "loc": {
                            "start": {
                              "line": 144,
                              "column": 6
                            },
                            "end": {
                              "line": 144,
                              "column": 65
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 4240,
                            "end": 4246,
                            "loc": {
                              "start": {
                                "line": 144,
                                "column": 6
                              },
                              "end": {
                                "line": 144,
                                "column": 12
                              },
                              "identifierName": "output"
                            },
                            "name": "output"
                          },
                          "right": {
                            "type": "CallExpression",
                            "start": 4249,
                            "end": 4299,
                            "loc": {
                              "start": {
                                "line": 144,
                                "column": 15
                              },
                              "end": {
                                "line": 144,
                                "column": 65
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 4249,
                              "end": 4265,
                              "loc": {
                                "start": {
                                  "line": 144,
                                  "column": 15
                                },
                                "end": {
                                  "line": 144,
                                  "column": 31
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 4249,
                                "end": 4253,
                                "loc": {
                                  "start": {
                                    "line": 144,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 144,
                                    "column": 19
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4254,
                                "end": 4265,
                                "loc": {
                                  "start": {
                                    "line": 144,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 144,
                                    "column": 31
                                  },
                                  "identifierName": "addStringAt"
                                },
                                "name": "addStringAt"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "Identifier",
                                "start": 4266,
                                "end": 4272,
                                "loc": {
                                  "start": {
                                    "line": 144,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 144,
                                    "column": 38
                                  },
                                  "identifierName": "output"
                                },
                                "name": "output"
                              },
                              {
                                "type": "StringLiteral",
                                "start": 4274,
                                "end": 4277,
                                "loc": {
                                  "start": {
                                    "line": 144,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 144,
                                    "column": 43
                                  }
                                },
                                "extra": {
                                  "rawValue": " ",
                                  "raw": "\" \""
                                },
                                "value": " "
                              },
                              {
                                "type": "Identifier",
                                "start": 4279,
                                "end": 4287,
                                "loc": {
                                  "start": {
                                    "line": 144,
                                    "column": 45
                                  },
                                  "end": {
                                    "line": 144,
                                    "column": 53
                                  },
                                  "identifierName": "caretPos"
                                },
                                "name": "caretPos"
                              },
                              {
                                "type": "Identifier",
                                "start": 4289,
                                "end": 4298,
                                "loc": {
                                  "start": {
                                    "line": 144,
                                    "column": 55
                                  },
                                  "end": {
                                    "line": 144,
                                    "column": 64
                                  },
                                  "identifierName": "moveCaret"
                                },
                                "name": "moveCaret"
                              }
                            ]
                          }
                        }
                      },
                      "alternate": {
                        "type": "IfStatement",
                        "start": 4313,
                        "end": 5651,
                        "loc": {
                          "start": {
                            "line": 146,
                            "column": 9
                          },
                          "end": {
                            "line": 174,
                            "column": 69
                          }
                        },
                        "test": {
                          "type": "LogicalExpression",
                          "start": 4316,
                          "end": 4416,
                          "loc": {
                            "start": {
                              "line": 146,
                              "column": 12
                            },
                            "end": {
                              "line": 146,
                              "column": 112
                            }
                          },
                          "left": {
                            "type": "BinaryExpression",
                            "start": 4316,
                            "end": 4334,
                            "loc": {
                              "start": {
                                "line": 146,
                                "column": 12
                              },
                              "end": {
                                "line": 146,
                                "column": 30
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 4316,
                              "end": 4322,
                              "loc": {
                                "start": {
                                  "line": 146,
                                  "column": 12
                                },
                                "end": {
                                  "line": 146,
                                  "column": 18
                                },
                                "identifierName": "button"
                              },
                              "name": "button"
                            },
                            "operator": "===",
                            "right": {
                              "type": "StringLiteral",
                              "start": 4327,
                              "end": 4334,
                              "loc": {
                                "start": {
                                  "line": 146,
                                  "column": 23
                                },
                                "end": {
                                  "line": 146,
                                  "column": 30
                                }
                              },
                              "extra": {
                                "rawValue": "{tab}",
                                "raw": "\"{tab}\""
                              },
                              "value": "{tab}"
                            }
                          },
                          "operator": "&&",
                          "right": {
                            "type": "UnaryExpression",
                            "start": 4338,
                            "end": 4416,
                            "loc": {
                              "start": {
                                "line": 146,
                                "column": 34
                              },
                              "end": {
                                "line": 146,
                                "column": 112
                              }
                            },
                            "operator": "!",
                            "prefix": true,
                            "argument": {
                              "type": "LogicalExpression",
                              "start": 4340,
                              "end": 4415,
                              "loc": {
                                "start": {
                                  "line": 146,
                                  "column": 36
                                },
                                "end": {
                                  "line": 146,
                                  "column": 111
                                }
                              },
                              "left": {
                                "type": "BinaryExpression",
                                "start": 4340,
                                "end": 4381,
                                "loc": {
                                  "start": {
                                    "line": 146,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 146,
                                    "column": 77
                                  }
                                },
                                "left": {
                                  "type": "UnaryExpression",
                                  "start": 4340,
                                  "end": 4367,
                                  "loc": {
                                    "start": {
                                      "line": 146,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 146,
                                      "column": 63
                                    }
                                  },
                                  "operator": "typeof",
                                  "prefix": true,
                                  "argument": {
                                    "type": "MemberExpression",
                                    "start": 4347,
                                    "end": 4367,
                                    "loc": {
                                      "start": {
                                        "line": 146,
                                        "column": 43
                                      },
                                      "end": {
                                        "line": 146,
                                        "column": 63
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 4347,
                                      "end": 4354,
                                      "loc": {
                                        "start": {
                                          "line": 146,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 146,
                                          "column": 50
                                        },
                                        "identifierName": "options"
                                      },
                                      "name": "options"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4355,
                                      "end": 4367,
                                      "loc": {
                                        "start": {
                                          "line": 146,
                                          "column": 51
                                        },
                                        "end": {
                                          "line": 146,
                                          "column": 63
                                        },
                                        "identifierName": "tabCharOnTab"
                                      },
                                      "name": "tabCharOnTab"
                                    },
                                    "computed": false
                                  },
                                  "extra": {
                                    "parenthesizedArgument": false
                                  }
                                },
                                "operator": "===",
                                "right": {
                                  "type": "StringLiteral",
                                  "start": 4372,
                                  "end": 4381,
                                  "loc": {
                                    "start": {
                                      "line": 146,
                                      "column": 68
                                    },
                                    "end": {
                                      "line": 146,
                                      "column": 77
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "boolean",
                                    "raw": "\"boolean\""
                                  },
                                  "value": "boolean"
                                }
                              },
                              "operator": "&&",
                              "right": {
                                "type": "BinaryExpression",
                                "start": 4385,
                                "end": 4415,
                                "loc": {
                                  "start": {
                                    "line": 146,
                                    "column": 81
                                  },
                                  "end": {
                                    "line": 146,
                                    "column": 111
                                  }
                                },
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 4385,
                                  "end": 4405,
                                  "loc": {
                                    "start": {
                                      "line": 146,
                                      "column": 81
                                    },
                                    "end": {
                                      "line": 146,
                                      "column": 101
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 4385,
                                    "end": 4392,
                                    "loc": {
                                      "start": {
                                        "line": 146,
                                        "column": 81
                                      },
                                      "end": {
                                        "line": 146,
                                        "column": 88
                                      },
                                      "identifierName": "options"
                                    },
                                    "name": "options"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4393,
                                    "end": 4405,
                                    "loc": {
                                      "start": {
                                        "line": 146,
                                        "column": 89
                                      },
                                      "end": {
                                        "line": 146,
                                        "column": 101
                                      },
                                      "identifierName": "tabCharOnTab"
                                    },
                                    "name": "tabCharOnTab"
                                  },
                                  "computed": false
                                },
                                "operator": "===",
                                "right": {
                                  "type": "BooleanLiteral",
                                  "start": 4410,
                                  "end": 4415,
                                  "loc": {
                                    "start": {
                                      "line": 146,
                                      "column": 106
                                    },
                                    "end": {
                                      "line": 146,
                                      "column": 111
                                    }
                                  },
                                  "value": false
                                }
                              },
                              "extra": {
                                "parenthesized": true,
                                "parenStart": 4339
                              }
                            },
                            "extra": {
                              "parenthesizedArgument": false
                            }
                          }
                        },
                        "consequent": {
                          "type": "BlockStatement",
                          "start": 4417,
                          "end": 4496,
                          "loc": {
                            "start": {
                              "line": 146,
                              "column": 113
                            },
                            "end": {
                              "line": 149,
                              "column": 5
                            }
                          },
                          "body": [
                            {
                              "type": "ExpressionStatement",
                              "start": 4426,
                              "end": 4487,
                              "loc": {
                                "start": {
                                  "line": 147,
                                  "column": 6
                                },
                                "end": {
                                  "line": 147,
                                  "column": 67
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 4426,
                                "end": 4486,
                                "loc": {
                                  "start": {
                                    "line": 147,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 147,
                                    "column": 66
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "start": 4426,
                                  "end": 4432,
                                  "loc": {
                                    "start": {
                                      "line": 147,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 147,
                                      "column": 12
                                    },
                                    "identifierName": "output"
                                  },
                                  "name": "output"
                                },
                                "right": {
                                  "type": "CallExpression",
                                  "start": 4435,
                                  "end": 4486,
                                  "loc": {
                                    "start": {
                                      "line": 147,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 147,
                                      "column": 66
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 4435,
                                    "end": 4451,
                                    "loc": {
                                      "start": {
                                        "line": 147,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 147,
                                        "column": 31
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 4435,
                                      "end": 4439,
                                      "loc": {
                                        "start": {
                                          "line": 147,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 147,
                                          "column": 19
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4440,
                                      "end": 4451,
                                      "loc": {
                                        "start": {
                                          "line": 147,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 147,
                                          "column": 31
                                        },
                                        "identifierName": "addStringAt"
                                      },
                                      "name": "addStringAt"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 4452,
                                      "end": 4458,
                                      "loc": {
                                        "start": {
                                          "line": 147,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 147,
                                          "column": 38
                                        },
                                        "identifierName": "output"
                                      },
                                      "name": "output"
                                    },
                                    {
                                      "type": "StringLiteral",
                                      "start": 4460,
                                      "end": 4464,
                                      "loc": {
                                        "start": {
                                          "line": 147,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 147,
                                          "column": 44
                                        }
                                      },
                                      "extra": {
                                        "rawValue": "\t",
                                        "raw": "\"\\t\""
                                      },
                                      "value": "\t"
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 4466,
                                      "end": 4474,
                                      "loc": {
                                        "start": {
                                          "line": 147,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 147,
                                          "column": 54
                                        },
                                        "identifierName": "caretPos"
                                      },
                                      "name": "caretPos"
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 4476,
                                      "end": 4485,
                                      "loc": {
                                        "start": {
                                          "line": 147,
                                          "column": 56
                                        },
                                        "end": {
                                          "line": 147,
                                          "column": 65
                                        },
                                        "identifierName": "moveCaret"
                                      },
                                      "name": "moveCaret"
                                    }
                                  ]
                                }
                              }
                            }
                          ],
                          "directives": []
                        },
                        "alternate": {
                          "type": "IfStatement",
                          "start": 4502,
                          "end": 5651,
                          "loc": {
                            "start": {
                              "line": 149,
                              "column": 11
                            },
                            "end": {
                              "line": 174,
                              "column": 69
                            }
                          },
                          "test": {
                            "type": "LogicalExpression",
                            "start": 4505,
                            "end": 4583,
                            "loc": {
                              "start": {
                                "line": 149,
                                "column": 14
                              },
                              "end": {
                                "line": 149,
                                "column": 92
                              }
                            },
                            "left": {
                              "type": "LogicalExpression",
                              "start": 4506,
                              "end": 4556,
                              "loc": {
                                "start": {
                                  "line": 149,
                                  "column": 15
                                },
                                "end": {
                                  "line": 149,
                                  "column": 65
                                }
                              },
                              "left": {
                                "type": "BinaryExpression",
                                "start": 4506,
                                "end": 4526,
                                "loc": {
                                  "start": {
                                    "line": 149,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 149,
                                    "column": 35
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 4506,
                                  "end": 4512,
                                  "loc": {
                                    "start": {
                                      "line": 149,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 149,
                                      "column": 21
                                    },
                                    "identifierName": "button"
                                  },
                                  "name": "button"
                                },
                                "operator": "===",
                                "right": {
                                  "type": "StringLiteral",
                                  "start": 4517,
                                  "end": 4526,
                                  "loc": {
                                    "start": {
                                      "line": 149,
                                      "column": 26
                                    },
                                    "end": {
                                      "line": 149,
                                      "column": 35
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "{enter}",
                                    "raw": "\"{enter}\""
                                  },
                                  "value": "{enter}"
                                }
                              },
                              "operator": "||",
                              "right": {
                                "type": "BinaryExpression",
                                "start": 4530,
                                "end": 4556,
                                "loc": {
                                  "start": {
                                    "line": 149,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 149,
                                    "column": 65
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 4530,
                                  "end": 4536,
                                  "loc": {
                                    "start": {
                                      "line": 149,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 149,
                                      "column": 45
                                    },
                                    "identifierName": "button"
                                  },
                                  "name": "button"
                                },
                                "operator": "===",
                                "right": {
                                  "type": "StringLiteral",
                                  "start": 4541,
                                  "end": 4556,
                                  "loc": {
                                    "start": {
                                      "line": 149,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 149,
                                      "column": 65
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "{numpadenter}",
                                    "raw": "\"{numpadenter}\""
                                  },
                                  "value": "{numpadenter}"
                                }
                              },
                              "extra": {
                                "parenthesized": true,
                                "parenStart": 4505
                              }
                            },
                            "operator": "&&",
                            "right": {
                              "type": "MemberExpression",
                              "start": 4561,
                              "end": 4583,
                              "loc": {
                                "start": {
                                  "line": 149,
                                  "column": 70
                                },
                                "end": {
                                  "line": 149,
                                  "column": 92
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 4561,
                                "end": 4568,
                                "loc": {
                                  "start": {
                                    "line": 149,
                                    "column": 70
                                  },
                                  "end": {
                                    "line": 149,
                                    "column": 77
                                  },
                                  "identifierName": "options"
                                },
                                "name": "options"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 4569,
                                "end": 4583,
                                "loc": {
                                  "start": {
                                    "line": 149,
                                    "column": 78
                                  },
                                  "end": {
                                    "line": 149,
                                    "column": 92
                                  },
                                  "identifierName": "newLineOnEnter"
                                },
                                "name": "newLineOnEnter"
                              },
                              "computed": false
                            }
                          },
                          "consequent": {
                            "type": "ExpressionStatement",
                            "start": 4592,
                            "end": 4653,
                            "loc": {
                              "start": {
                                "line": 150,
                                "column": 6
                              },
                              "end": {
                                "line": 150,
                                "column": 67
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 4592,
                              "end": 4652,
                              "loc": {
                                "start": {
                                  "line": 150,
                                  "column": 6
                                },
                                "end": {
                                  "line": 150,
                                  "column": 66
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 4592,
                                "end": 4598,
                                "loc": {
                                  "start": {
                                    "line": 150,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 150,
                                    "column": 12
                                  },
                                  "identifierName": "output"
                                },
                                "name": "output"
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 4601,
                                "end": 4652,
                                "loc": {
                                  "start": {
                                    "line": 150,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 150,
                                    "column": 66
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4601,
                                  "end": 4617,
                                  "loc": {
                                    "start": {
                                      "line": 150,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 150,
                                      "column": 31
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 4601,
                                    "end": 4605,
                                    "loc": {
                                      "start": {
                                        "line": 150,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 150,
                                        "column": 19
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4606,
                                    "end": 4617,
                                    "loc": {
                                      "start": {
                                        "line": 150,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 150,
                                        "column": 31
                                      },
                                      "identifierName": "addStringAt"
                                    },
                                    "name": "addStringAt"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 4618,
                                    "end": 4624,
                                    "loc": {
                                      "start": {
                                        "line": 150,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 150,
                                        "column": 38
                                      },
                                      "identifierName": "output"
                                    },
                                    "name": "output"
                                  },
                                  {
                                    "type": "StringLiteral",
                                    "start": 4626,
                                    "end": 4630,
                                    "loc": {
                                      "start": {
                                        "line": 150,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 150,
                                        "column": 44
                                      }
                                    },
                                    "extra": {
                                      "rawValue": "\n",
                                      "raw": "\"\\n\""
                                    },
                                    "value": "\n"
                                  },
                                  {
                                    "type": "Identifier",
                                    "start": 4632,
                                    "end": 4640,
                                    "loc": {
                                      "start": {
                                        "line": 150,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 150,
                                        "column": 54
                                      },
                                      "identifierName": "caretPos"
                                    },
                                    "name": "caretPos"
                                  },
                                  {
                                    "type": "Identifier",
                                    "start": 4642,
                                    "end": 4651,
                                    "loc": {
                                      "start": {
                                        "line": 150,
                                        "column": 56
                                      },
                                      "end": {
                                        "line": 150,
                                        "column": 65
                                      },
                                      "identifierName": "moveCaret"
                                    },
                                    "name": "moveCaret"
                                  }
                                ]
                              }
                            }
                          },
                          "alternate": {
                            "type": "IfStatement",
                            "start": 4666,
                            "end": 5651,
                            "loc": {
                              "start": {
                                "line": 152,
                                "column": 9
                              },
                              "end": {
                                "line": 174,
                                "column": 69
                              }
                            },
                            "test": {
                              "type": "LogicalExpression",
                              "start": 4669,
                              "end": 4749,
                              "loc": {
                                "start": {
                                  "line": 152,
                                  "column": 12
                                },
                                "end": {
                                  "line": 152,
                                  "column": 92
                                }
                              },
                              "left": {
                                "type": "CallExpression",
                                "start": 4669,
                                "end": 4694,
                                "loc": {
                                  "start": {
                                    "line": 152,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 152,
                                    "column": 37
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4669,
                                  "end": 4684,
                                  "loc": {
                                    "start": {
                                      "line": 152,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 152,
                                      "column": 27
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 4669,
                                    "end": 4675,
                                    "loc": {
                                      "start": {
                                        "line": 152,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 152,
                                        "column": 18
                                      },
                                      "identifierName": "button"
                                    },
                                    "name": "button"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4676,
                                    "end": 4684,
                                    "loc": {
                                      "start": {
                                        "line": 152,
                                        "column": 19
                                      },
                                      "end": {
                                        "line": 152,
                                        "column": 27
                                      },
                                      "identifierName": "includes"
                                    },
                                    "name": "includes"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "StringLiteral",
                                    "start": 4685,
                                    "end": 4693,
                                    "loc": {
                                      "start": {
                                        "line": 152,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 152,
                                        "column": 36
                                      }
                                    },
                                    "extra": {
                                      "rawValue": "numpad",
                                      "raw": "\"numpad\""
                                    },
                                    "value": "numpad"
                                  }
                                ]
                              },
                              "operator": "&&",
                              "right": {
                                "type": "CallExpression",
                                "start": 4698,
                                "end": 4749,
                                "loc": {
                                  "start": {
                                    "line": 152,
                                    "column": 41
                                  },
                                  "end": {
                                    "line": 152,
                                    "column": 92
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4698,
                                  "end": 4714,
                                  "loc": {
                                    "start": {
                                      "line": 152,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 152,
                                      "column": 57
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 4698,
                                    "end": 4704,
                                    "loc": {
                                      "start": {
                                        "line": 152,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 152,
                                        "column": 47
                                      },
                                      "identifierName": "Number"
                                    },
                                    "name": "Number"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4705,
                                    "end": 4714,
                                    "loc": {
                                      "start": {
                                        "line": 152,
                                        "column": 48
                                      },
                                      "end": {
                                        "line": 152,
                                        "column": 57
                                      },
                                      "identifierName": "isInteger"
                                    },
                                    "name": "isInteger"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "CallExpression",
                                    "start": 4715,
                                    "end": 4748,
                                    "loc": {
                                      "start": {
                                        "line": 152,
                                        "column": 58
                                      },
                                      "end": {
                                        "line": 152,
                                        "column": 91
                                      }
                                    },
                                    "callee": {
                                      "type": "Identifier",
                                      "start": 4715,
                                      "end": 4721,
                                      "loc": {
                                        "start": {
                                          "line": 152,
                                          "column": 58
                                        },
                                        "end": {
                                          "line": 152,
                                          "column": 64
                                        },
                                        "identifierName": "Number"
                                      },
                                      "name": "Number"
                                    },
                                    "arguments": [
                                      {
                                        "type": "MemberExpression",
                                        "start": 4722,
                                        "end": 4747,
                                        "loc": {
                                          "start": {
                                            "line": 152,
                                            "column": 65
                                          },
                                          "end": {
                                            "line": 152,
                                            "column": 90
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 4722,
                                          "end": 4728,
                                          "loc": {
                                            "start": {
                                              "line": 152,
                                              "column": 65
                                            },
                                            "end": {
                                              "line": 152,
                                              "column": 71
                                            },
                                            "identifierName": "button"
                                          },
                                          "name": "button"
                                        },
                                        "property": {
                                          "type": "BinaryExpression",
                                          "start": 4729,
                                          "end": 4746,
                                          "loc": {
                                            "start": {
                                              "line": 152,
                                              "column": 72
                                            },
                                            "end": {
                                              "line": 152,
                                              "column": 89
                                            }
                                          },
                                          "left": {
                                            "type": "MemberExpression",
                                            "start": 4729,
                                            "end": 4742,
                                            "loc": {
                                              "start": {
                                                "line": 152,
                                                "column": 72
                                              },
                                              "end": {
                                                "line": 152,
                                                "column": 85
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 4729,
                                              "end": 4735,
                                              "loc": {
                                                "start": {
                                                  "line": 152,
                                                  "column": 72
                                                },
                                                "end": {
                                                  "line": 152,
                                                  "column": 78
                                                },
                                                "identifierName": "button"
                                              },
                                              "name": "button"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 4736,
                                              "end": 4742,
                                              "loc": {
                                                "start": {
                                                  "line": 152,
                                                  "column": 79
                                                },
                                                "end": {
                                                  "line": 152,
                                                  "column": 85
                                                },
                                                "identifierName": "length"
                                              },
                                              "name": "length"
                                            },
                                            "computed": false
                                          },
                                          "operator": "-",
                                          "right": {
                                            "type": "NumericLiteral",
                                            "start": 4745,
                                            "end": 4746,
                                            "loc": {
                                              "start": {
                                                "line": 152,
                                                "column": 88
                                              },
                                              "end": {
                                                "line": 152,
                                                "column": 89
                                              }
                                            },
                                            "extra": {
                                              "rawValue": 2,
                                              "raw": "2"
                                            },
                                            "value": 2
                                          }
                                        },
                                        "computed": true
                                      }
                                    ]
                                  }
                                ]
                              }
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 4750,
                              "end": 4837,
                              "loc": {
                                "start": {
                                  "line": 152,
                                  "column": 93
                                },
                                "end": {
                                  "line": 154,
                                  "column": 5
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 4759,
                                  "end": 4830,
                                  "loc": {
                                    "start": {
                                      "line": 153,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 153,
                                      "column": 77
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 4759,
                                    "end": 4829,
                                    "loc": {
                                      "start": {
                                        "line": 153,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 153,
                                        "column": 76
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "Identifier",
                                      "start": 4759,
                                      "end": 4765,
                                      "loc": {
                                        "start": {
                                          "line": 153,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 153,
                                          "column": 12
                                        },
                                        "identifierName": "output"
                                      },
                                      "name": "output"
                                    },
                                    "right": {
                                      "type": "CallExpression",
                                      "start": 4768,
                                      "end": 4829,
                                      "loc": {
                                        "start": {
                                          "line": 153,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 153,
                                          "column": 76
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 4768,
                                        "end": 4784,
                                        "loc": {
                                          "start": {
                                            "line": 153,
                                            "column": 15
                                          },
                                          "end": {
                                            "line": 153,
                                            "column": 31
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 4768,
                                          "end": 4772,
                                          "loc": {
                                            "start": {
                                              "line": 153,
                                              "column": 15
                                            },
                                            "end": {
                                              "line": 153,
                                              "column": 19
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 4773,
                                          "end": 4784,
                                          "loc": {
                                            "start": {
                                              "line": 153,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 153,
                                              "column": 31
                                            },
                                            "identifierName": "addStringAt"
                                          },
                                          "name": "addStringAt"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 4785,
                                          "end": 4791,
                                          "loc": {
                                            "start": {
                                              "line": 153,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 153,
                                              "column": 38
                                            },
                                            "identifierName": "output"
                                          },
                                          "name": "output"
                                        },
                                        {
                                          "type": "MemberExpression",
                                          "start": 4793,
                                          "end": 4818,
                                          "loc": {
                                            "start": {
                                              "line": 153,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 153,
                                              "column": 65
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 4793,
                                            "end": 4799,
                                            "loc": {
                                              "start": {
                                                "line": 153,
                                                "column": 40
                                              },
                                              "end": {
                                                "line": 153,
                                                "column": 46
                                              },
                                              "identifierName": "button"
                                            },
                                            "name": "button"
                                          },
                                          "property": {
                                            "type": "BinaryExpression",
                                            "start": 4800,
                                            "end": 4817,
                                            "loc": {
                                              "start": {
                                                "line": 153,
                                                "column": 47
                                              },
                                              "end": {
                                                "line": 153,
                                                "column": 64
                                              }
                                            },
                                            "left": {
                                              "type": "MemberExpression",
                                              "start": 4800,
                                              "end": 4813,
                                              "loc": {
                                                "start": {
                                                  "line": 153,
                                                  "column": 47
                                                },
                                                "end": {
                                                  "line": 153,
                                                  "column": 60
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 4800,
                                                "end": 4806,
                                                "loc": {
                                                  "start": {
                                                    "line": 153,
                                                    "column": 47
                                                  },
                                                  "end": {
                                                    "line": 153,
                                                    "column": 53
                                                  },
                                                  "identifierName": "button"
                                                },
                                                "name": "button"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4807,
                                                "end": 4813,
                                                "loc": {
                                                  "start": {
                                                    "line": 153,
                                                    "column": 54
                                                  },
                                                  "end": {
                                                    "line": 153,
                                                    "column": 60
                                                  },
                                                  "identifierName": "length"
                                                },
                                                "name": "length"
                                              },
                                              "computed": false
                                            },
                                            "operator": "-",
                                            "right": {
                                              "type": "NumericLiteral",
                                              "start": 4816,
                                              "end": 4817,
                                              "loc": {
                                                "start": {
                                                  "line": 153,
                                                  "column": 63
                                                },
                                                "end": {
                                                  "line": 153,
                                                  "column": 64
                                                }
                                              },
                                              "extra": {
                                                "rawValue": 2,
                                                "raw": "2"
                                              },
                                              "value": 2
                                            }
                                          },
                                          "computed": true
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 4820,
                                          "end": 4828,
                                          "loc": {
                                            "start": {
                                              "line": 153,
                                              "column": 67
                                            },
                                            "end": {
                                              "line": 153,
                                              "column": 75
                                            },
                                            "identifierName": "caretPos"
                                          },
                                          "name": "caretPos"
                                        }
                                      ]
                                    }
                                  }
                                }
                              ],
                              "directives": []
                            },
                            "alternate": {
                              "type": "IfStatement",
                              "start": 4848,
                              "end": 5651,
                              "loc": {
                                "start": {
                                  "line": 155,
                                  "column": 9
                                },
                                "end": {
                                  "line": 174,
                                  "column": 69
                                }
                              },
                              "test": {
                                "type": "BinaryExpression",
                                "start": 4851,
                                "end": 4878,
                                "loc": {
                                  "start": {
                                    "line": 155,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 155,
                                    "column": 39
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 4851,
                                  "end": 4857,
                                  "loc": {
                                    "start": {
                                      "line": 155,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 155,
                                      "column": 18
                                    },
                                    "identifierName": "button"
                                  },
                                  "name": "button"
                                },
                                "operator": "===",
                                "right": {
                                  "type": "StringLiteral",
                                  "start": 4862,
                                  "end": 4878,
                                  "loc": {
                                    "start": {
                                      "line": 155,
                                      "column": 23
                                    },
                                    "end": {
                                      "line": 155,
                                      "column": 39
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "{numpaddivide}",
                                    "raw": "\"{numpaddivide}\""
                                  },
                                  "value": "{numpaddivide}"
                                }
                              },
                              "consequent": {
                                "type": "ExpressionStatement",
                                "start": 4887,
                                "end": 4947,
                                "loc": {
                                  "start": {
                                    "line": 156,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 156,
                                    "column": 66
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 4887,
                                  "end": 4946,
                                  "loc": {
                                    "start": {
                                      "line": 156,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 156,
                                      "column": 65
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "Identifier",
                                    "start": 4887,
                                    "end": 4893,
                                    "loc": {
                                      "start": {
                                        "line": 156,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 156,
                                        "column": 12
                                      },
                                      "identifierName": "output"
                                    },
                                    "name": "output"
                                  },
                                  "right": {
                                    "type": "CallExpression",
                                    "start": 4896,
                                    "end": 4946,
                                    "loc": {
                                      "start": {
                                        "line": 156,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 156,
                                        "column": 65
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 4896,
                                      "end": 4912,
                                      "loc": {
                                        "start": {
                                          "line": 156,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 156,
                                          "column": 31
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 4896,
                                        "end": 4900,
                                        "loc": {
                                          "start": {
                                            "line": 156,
                                            "column": 15
                                          },
                                          "end": {
                                            "line": 156,
                                            "column": 19
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 4901,
                                        "end": 4912,
                                        "loc": {
                                          "start": {
                                            "line": 156,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 156,
                                            "column": 31
                                          },
                                          "identifierName": "addStringAt"
                                        },
                                        "name": "addStringAt"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 4913,
                                        "end": 4919,
                                        "loc": {
                                          "start": {
                                            "line": 156,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 156,
                                            "column": 38
                                          },
                                          "identifierName": "output"
                                        },
                                        "name": "output"
                                      },
                                      {
                                        "type": "StringLiteral",
                                        "start": 4921,
                                        "end": 4924,
                                        "loc": {
                                          "start": {
                                            "line": 156,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 156,
                                            "column": 43
                                          }
                                        },
                                        "extra": {
                                          "rawValue": "/",
                                          "raw": "'/'"
                                        },
                                        "value": "/"
                                      },
                                      {
                                        "type": "Identifier",
                                        "start": 4926,
                                        "end": 4934,
                                        "loc": {
                                          "start": {
                                            "line": 156,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 156,
                                            "column": 53
                                          },
                                          "identifierName": "caretPos"
                                        },
                                        "name": "caretPos"
                                      },
                                      {
                                        "type": "Identifier",
                                        "start": 4936,
                                        "end": 4945,
                                        "loc": {
                                          "start": {
                                            "line": 156,
                                            "column": 55
                                          },
                                          "end": {
                                            "line": 156,
                                            "column": 64
                                          },
                                          "identifierName": "moveCaret"
                                        },
                                        "name": "moveCaret"
                                      }
                                    ]
                                  }
                                }
                              },
                              "alternate": {
                                "type": "IfStatement",
                                "start": 4960,
                                "end": 5651,
                                "loc": {
                                  "start": {
                                    "line": 158,
                                    "column": 9
                                  },
                                  "end": {
                                    "line": 174,
                                    "column": 69
                                  }
                                },
                                "test": {
                                  "type": "BinaryExpression",
                                  "start": 4963,
                                  "end": 4992,
                                  "loc": {
                                    "start": {
                                      "line": 158,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 158,
                                      "column": 41
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 4963,
                                    "end": 4969,
                                    "loc": {
                                      "start": {
                                        "line": 158,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 158,
                                        "column": 18
                                      },
                                      "identifierName": "button"
                                    },
                                    "name": "button"
                                  },
                                  "operator": "===",
                                  "right": {
                                    "type": "StringLiteral",
                                    "start": 4974,
                                    "end": 4992,
                                    "loc": {
                                      "start": {
                                        "line": 158,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 158,
                                        "column": 41
                                      }
                                    },
                                    "extra": {
                                      "rawValue": "{numpadmultiply}",
                                      "raw": "\"{numpadmultiply}\""
                                    },
                                    "value": "{numpadmultiply}"
                                  }
                                },
                                "consequent": {
                                  "type": "ExpressionStatement",
                                  "start": 5001,
                                  "end": 5061,
                                  "loc": {
                                    "start": {
                                      "line": 159,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 159,
                                      "column": 66
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 5001,
                                    "end": 5060,
                                    "loc": {
                                      "start": {
                                        "line": 159,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 159,
                                        "column": 65
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "Identifier",
                                      "start": 5001,
                                      "end": 5007,
                                      "loc": {
                                        "start": {
                                          "line": 159,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 159,
                                          "column": 12
                                        },
                                        "identifierName": "output"
                                      },
                                      "name": "output"
                                    },
                                    "right": {
                                      "type": "CallExpression",
                                      "start": 5010,
                                      "end": 5060,
                                      "loc": {
                                        "start": {
                                          "line": 159,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 159,
                                          "column": 65
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 5010,
                                        "end": 5026,
                                        "loc": {
                                          "start": {
                                            "line": 159,
                                            "column": 15
                                          },
                                          "end": {
                                            "line": 159,
                                            "column": 31
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 5010,
                                          "end": 5014,
                                          "loc": {
                                            "start": {
                                              "line": 159,
                                              "column": 15
                                            },
                                            "end": {
                                              "line": 159,
                                              "column": 19
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 5015,
                                          "end": 5026,
                                          "loc": {
                                            "start": {
                                              "line": 159,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 159,
                                              "column": 31
                                            },
                                            "identifierName": "addStringAt"
                                          },
                                          "name": "addStringAt"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 5027,
                                          "end": 5033,
                                          "loc": {
                                            "start": {
                                              "line": 159,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 159,
                                              "column": 38
                                            },
                                            "identifierName": "output"
                                          },
                                          "name": "output"
                                        },
                                        {
                                          "type": "StringLiteral",
                                          "start": 5035,
                                          "end": 5038,
                                          "loc": {
                                            "start": {
                                              "line": 159,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 159,
                                              "column": 43
                                            }
                                          },
                                          "extra": {
                                            "rawValue": "*",
                                            "raw": "'*'"
                                          },
                                          "value": "*"
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 5040,
                                          "end": 5048,
                                          "loc": {
                                            "start": {
                                              "line": 159,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 159,
                                              "column": 53
                                            },
                                            "identifierName": "caretPos"
                                          },
                                          "name": "caretPos"
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 5050,
                                          "end": 5059,
                                          "loc": {
                                            "start": {
                                              "line": 159,
                                              "column": 55
                                            },
                                            "end": {
                                              "line": 159,
                                              "column": 64
                                            },
                                            "identifierName": "moveCaret"
                                          },
                                          "name": "moveCaret"
                                        }
                                      ]
                                    }
                                  }
                                },
                                "alternate": {
                                  "type": "IfStatement",
                                  "start": 5074,
                                  "end": 5651,
                                  "loc": {
                                    "start": {
                                      "line": 161,
                                      "column": 9
                                    },
                                    "end": {
                                      "line": 174,
                                      "column": 69
                                    }
                                  },
                                  "test": {
                                    "type": "BinaryExpression",
                                    "start": 5077,
                                    "end": 5106,
                                    "loc": {
                                      "start": {
                                        "line": 161,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 161,
                                        "column": 41
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 5077,
                                      "end": 5083,
                                      "loc": {
                                        "start": {
                                          "line": 161,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 161,
                                          "column": 18
                                        },
                                        "identifierName": "button"
                                      },
                                      "name": "button"
                                    },
                                    "operator": "===",
                                    "right": {
                                      "type": "StringLiteral",
                                      "start": 5088,
                                      "end": 5106,
                                      "loc": {
                                        "start": {
                                          "line": 161,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 161,
                                          "column": 41
                                        }
                                      },
                                      "extra": {
                                        "rawValue": "{numpadsubtract}",
                                        "raw": "\"{numpadsubtract}\""
                                      },
                                      "value": "{numpadsubtract}"
                                    }
                                  },
                                  "consequent": {
                                    "type": "ExpressionStatement",
                                    "start": 5115,
                                    "end": 5175,
                                    "loc": {
                                      "start": {
                                        "line": 162,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 162,
                                        "column": 66
                                      }
                                    },
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "start": 5115,
                                      "end": 5174,
                                      "loc": {
                                        "start": {
                                          "line": 162,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 162,
                                          "column": 65
                                        }
                                      },
                                      "operator": "=",
                                      "left": {
                                        "type": "Identifier",
                                        "start": 5115,
                                        "end": 5121,
                                        "loc": {
                                          "start": {
                                            "line": 162,
                                            "column": 6
                                          },
                                          "end": {
                                            "line": 162,
                                            "column": 12
                                          },
                                          "identifierName": "output"
                                        },
                                        "name": "output"
                                      },
                                      "right": {
                                        "type": "CallExpression",
                                        "start": 5124,
                                        "end": 5174,
                                        "loc": {
                                          "start": {
                                            "line": 162,
                                            "column": 15
                                          },
                                          "end": {
                                            "line": 162,
                                            "column": 65
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 5124,
                                          "end": 5140,
                                          "loc": {
                                            "start": {
                                              "line": 162,
                                              "column": 15
                                            },
                                            "end": {
                                              "line": 162,
                                              "column": 31
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 5124,
                                            "end": 5128,
                                            "loc": {
                                              "start": {
                                                "line": 162,
                                                "column": 15
                                              },
                                              "end": {
                                                "line": 162,
                                                "column": 19
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 5129,
                                            "end": 5140,
                                            "loc": {
                                              "start": {
                                                "line": 162,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 162,
                                                "column": 31
                                              },
                                              "identifierName": "addStringAt"
                                            },
                                            "name": "addStringAt"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 5141,
                                            "end": 5147,
                                            "loc": {
                                              "start": {
                                                "line": 162,
                                                "column": 32
                                              },
                                              "end": {
                                                "line": 162,
                                                "column": 38
                                              },
                                              "identifierName": "output"
                                            },
                                            "name": "output"
                                          },
                                          {
                                            "type": "StringLiteral",
                                            "start": 5149,
                                            "end": 5152,
                                            "loc": {
                                              "start": {
                                                "line": 162,
                                                "column": 40
                                              },
                                              "end": {
                                                "line": 162,
                                                "column": 43
                                              }
                                            },
                                            "extra": {
                                              "rawValue": "-",
                                              "raw": "'-'"
                                            },
                                            "value": "-"
                                          },
                                          {
                                            "type": "Identifier",
                                            "start": 5154,
                                            "end": 5162,
                                            "loc": {
                                              "start": {
                                                "line": 162,
                                                "column": 45
                                              },
                                              "end": {
                                                "line": 162,
                                                "column": 53
                                              },
                                              "identifierName": "caretPos"
                                            },
                                            "name": "caretPos"
                                          },
                                          {
                                            "type": "Identifier",
                                            "start": 5164,
                                            "end": 5173,
                                            "loc": {
                                              "start": {
                                                "line": 162,
                                                "column": 55
                                              },
                                              "end": {
                                                "line": 162,
                                                "column": 64
                                              },
                                              "identifierName": "moveCaret"
                                            },
                                            "name": "moveCaret"
                                          }
                                        ]
                                      }
                                    }
                                  },
                                  "alternate": {
                                    "type": "IfStatement",
                                    "start": 5188,
                                    "end": 5651,
                                    "loc": {
                                      "start": {
                                        "line": 164,
                                        "column": 9
                                      },
                                      "end": {
                                        "line": 174,
                                        "column": 69
                                      }
                                    },
                                    "test": {
                                      "type": "BinaryExpression",
                                      "start": 5191,
                                      "end": 5215,
                                      "loc": {
                                        "start": {
                                          "line": 164,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 164,
                                          "column": 36
                                        }
                                      },
                                      "left": {
                                        "type": "Identifier",
                                        "start": 5191,
                                        "end": 5197,
                                        "loc": {
                                          "start": {
                                            "line": 164,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 164,
                                            "column": 18
                                          },
                                          "identifierName": "button"
                                        },
                                        "name": "button"
                                      },
                                      "operator": "===",
                                      "right": {
                                        "type": "StringLiteral",
                                        "start": 5202,
                                        "end": 5215,
                                        "loc": {
                                          "start": {
                                            "line": 164,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 164,
                                            "column": 36
                                          }
                                        },
                                        "extra": {
                                          "rawValue": "{numpadadd}",
                                          "raw": "\"{numpadadd}\""
                                        },
                                        "value": "{numpadadd}"
                                      }
                                    },
                                    "consequent": {
                                      "type": "ExpressionStatement",
                                      "start": 5224,
                                      "end": 5284,
                                      "loc": {
                                        "start": {
                                          "line": 165,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 165,
                                          "column": 66
                                        }
                                      },
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 5224,
                                        "end": 5283,
                                        "loc": {
                                          "start": {
                                            "line": 165,
                                            "column": 6
                                          },
                                          "end": {
                                            "line": 165,
                                            "column": 65
                                          }
                                        },
                                        "operator": "=",
                                        "left": {
                                          "type": "Identifier",
                                          "start": 5224,
                                          "end": 5230,
                                          "loc": {
                                            "start": {
                                              "line": 165,
                                              "column": 6
                                            },
                                            "end": {
                                              "line": 165,
                                              "column": 12
                                            },
                                            "identifierName": "output"
                                          },
                                          "name": "output"
                                        },
                                        "right": {
                                          "type": "CallExpression",
                                          "start": 5233,
                                          "end": 5283,
                                          "loc": {
                                            "start": {
                                              "line": 165,
                                              "column": 15
                                            },
                                            "end": {
                                              "line": 165,
                                              "column": 65
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 5233,
                                            "end": 5249,
                                            "loc": {
                                              "start": {
                                                "line": 165,
                                                "column": 15
                                              },
                                              "end": {
                                                "line": 165,
                                                "column": 31
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 5233,
                                              "end": 5237,
                                              "loc": {
                                                "start": {
                                                  "line": 165,
                                                  "column": 15
                                                },
                                                "end": {
                                                  "line": 165,
                                                  "column": 19
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 5238,
                                              "end": 5249,
                                              "loc": {
                                                "start": {
                                                  "line": 165,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 165,
                                                  "column": 31
                                                },
                                                "identifierName": "addStringAt"
                                              },
                                              "name": "addStringAt"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "start": 5250,
                                              "end": 5256,
                                              "loc": {
                                                "start": {
                                                  "line": 165,
                                                  "column": 32
                                                },
                                                "end": {
                                                  "line": 165,
                                                  "column": 38
                                                },
                                                "identifierName": "output"
                                              },
                                              "name": "output"
                                            },
                                            {
                                              "type": "StringLiteral",
                                              "start": 5258,
                                              "end": 5261,
                                              "loc": {
                                                "start": {
                                                  "line": 165,
                                                  "column": 40
                                                },
                                                "end": {
                                                  "line": 165,
                                                  "column": 43
                                                }
                                              },
                                              "extra": {
                                                "rawValue": "+",
                                                "raw": "'+'"
                                              },
                                              "value": "+"
                                            },
                                            {
                                              "type": "Identifier",
                                              "start": 5263,
                                              "end": 5271,
                                              "loc": {
                                                "start": {
                                                  "line": 165,
                                                  "column": 45
                                                },
                                                "end": {
                                                  "line": 165,
                                                  "column": 53
                                                },
                                                "identifierName": "caretPos"
                                              },
                                              "name": "caretPos"
                                            },
                                            {
                                              "type": "Identifier",
                                              "start": 5273,
                                              "end": 5282,
                                              "loc": {
                                                "start": {
                                                  "line": 165,
                                                  "column": 55
                                                },
                                                "end": {
                                                  "line": 165,
                                                  "column": 64
                                                },
                                                "identifierName": "moveCaret"
                                              },
                                              "name": "moveCaret"
                                            }
                                          ]
                                        }
                                      }
                                    },
                                    "alternate": {
                                      "type": "IfStatement",
                                      "start": 5297,
                                      "end": 5651,
                                      "loc": {
                                        "start": {
                                          "line": 167,
                                          "column": 9
                                        },
                                        "end": {
                                          "line": 174,
                                          "column": 69
                                        }
                                      },
                                      "test": {
                                        "type": "BinaryExpression",
                                        "start": 5300,
                                        "end": 5328,
                                        "loc": {
                                          "start": {
                                            "line": 167,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 167,
                                            "column": 40
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 5300,
                                          "end": 5306,
                                          "loc": {
                                            "start": {
                                              "line": 167,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 167,
                                              "column": 18
                                            },
                                            "identifierName": "button"
                                          },
                                          "name": "button"
                                        },
                                        "operator": "===",
                                        "right": {
                                          "type": "StringLiteral",
                                          "start": 5311,
                                          "end": 5328,
                                          "loc": {
                                            "start": {
                                              "line": 167,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 167,
                                              "column": 40
                                            }
                                          },
                                          "extra": {
                                            "rawValue": "{numpaddecimal}",
                                            "raw": "\"{numpaddecimal}\""
                                          },
                                          "value": "{numpaddecimal}"
                                        }
                                      },
                                      "consequent": {
                                        "type": "ExpressionStatement",
                                        "start": 5337,
                                        "end": 5397,
                                        "loc": {
                                          "start": {
                                            "line": 168,
                                            "column": 6
                                          },
                                          "end": {
                                            "line": 168,
                                            "column": 66
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 5337,
                                          "end": 5396,
                                          "loc": {
                                            "start": {
                                              "line": 168,
                                              "column": 6
                                            },
                                            "end": {
                                              "line": 168,
                                              "column": 65
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "Identifier",
                                            "start": 5337,
                                            "end": 5343,
                                            "loc": {
                                              "start": {
                                                "line": 168,
                                                "column": 6
                                              },
                                              "end": {
                                                "line": 168,
                                                "column": 12
                                              },
                                              "identifierName": "output"
                                            },
                                            "name": "output"
                                          },
                                          "right": {
                                            "type": "CallExpression",
                                            "start": 5346,
                                            "end": 5396,
                                            "loc": {
                                              "start": {
                                                "line": 168,
                                                "column": 15
                                              },
                                              "end": {
                                                "line": 168,
                                                "column": 65
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 5346,
                                              "end": 5362,
                                              "loc": {
                                                "start": {
                                                  "line": 168,
                                                  "column": 15
                                                },
                                                "end": {
                                                  "line": 168,
                                                  "column": 31
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 5346,
                                                "end": 5350,
                                                "loc": {
                                                  "start": {
                                                    "line": 168,
                                                    "column": 15
                                                  },
                                                  "end": {
                                                    "line": 168,
                                                    "column": 19
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 5351,
                                                "end": 5362,
                                                "loc": {
                                                  "start": {
                                                    "line": 168,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 168,
                                                    "column": 31
                                                  },
                                                  "identifierName": "addStringAt"
                                                },
                                                "name": "addStringAt"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 5363,
                                                "end": 5369,
                                                "loc": {
                                                  "start": {
                                                    "line": 168,
                                                    "column": 32
                                                  },
                                                  "end": {
                                                    "line": 168,
                                                    "column": 38
                                                  },
                                                  "identifierName": "output"
                                                },
                                                "name": "output"
                                              },
                                              {
                                                "type": "StringLiteral",
                                                "start": 5371,
                                                "end": 5374,
                                                "loc": {
                                                  "start": {
                                                    "line": 168,
                                                    "column": 40
                                                  },
                                                  "end": {
                                                    "line": 168,
                                                    "column": 43
                                                  }
                                                },
                                                "extra": {
                                                  "rawValue": ".",
                                                  "raw": "'.'"
                                                },
                                                "value": "."
                                              },
                                              {
                                                "type": "Identifier",
                                                "start": 5376,
                                                "end": 5384,
                                                "loc": {
                                                  "start": {
                                                    "line": 168,
                                                    "column": 45
                                                  },
                                                  "end": {
                                                    "line": 168,
                                                    "column": 53
                                                  },
                                                  "identifierName": "caretPos"
                                                },
                                                "name": "caretPos"
                                              },
                                              {
                                                "type": "Identifier",
                                                "start": 5386,
                                                "end": 5395,
                                                "loc": {
                                                  "start": {
                                                    "line": 168,
                                                    "column": 55
                                                  },
                                                  "end": {
                                                    "line": 168,
                                                    "column": 64
                                                  },
                                                  "identifierName": "moveCaret"
                                                },
                                                "name": "moveCaret"
                                              }
                                            ]
                                          }
                                        }
                                      },
                                      "alternate": {
                                        "type": "IfStatement",
                                        "start": 5410,
                                        "end": 5651,
                                        "loc": {
                                          "start": {
                                            "line": 170,
                                            "column": 9
                                          },
                                          "end": {
                                            "line": 174,
                                            "column": 69
                                          }
                                        },
                                        "test": {
                                          "type": "LogicalExpression",
                                          "start": 5413,
                                          "end": 5445,
                                          "loc": {
                                            "start": {
                                              "line": 170,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 170,
                                              "column": 44
                                            }
                                          },
                                          "left": {
                                            "type": "BinaryExpression",
                                            "start": 5413,
                                            "end": 5427,
                                            "loc": {
                                              "start": {
                                                "line": 170,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 170,
                                                "column": 26
                                              }
                                            },
                                            "left": {
                                              "type": "Identifier",
                                              "start": 5413,
                                              "end": 5419,
                                              "loc": {
                                                "start": {
                                                  "line": 170,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 170,
                                                  "column": 18
                                                },
                                                "identifierName": "button"
                                              },
                                              "name": "button"
                                            },
                                            "operator": "===",
                                            "right": {
                                              "type": "StringLiteral",
                                              "start": 5424,
                                              "end": 5427,
                                              "loc": {
                                                "start": {
                                                  "line": 170,
                                                  "column": 23
                                                },
                                                "end": {
                                                  "line": 170,
                                                  "column": 26
                                                }
                                              },
                                              "extra": {
                                                "rawValue": "{",
                                                "raw": "\"{\""
                                              },
                                              "value": "{"
                                            }
                                          },
                                          "operator": "||",
                                          "right": {
                                            "type": "BinaryExpression",
                                            "start": 5431,
                                            "end": 5445,
                                            "loc": {
                                              "start": {
                                                "line": 170,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 170,
                                                "column": 44
                                              }
                                            },
                                            "left": {
                                              "type": "Identifier",
                                              "start": 5431,
                                              "end": 5437,
                                              "loc": {
                                                "start": {
                                                  "line": 170,
                                                  "column": 30
                                                },
                                                "end": {
                                                  "line": 170,
                                                  "column": 36
                                                },
                                                "identifierName": "button"
                                              },
                                              "name": "button"
                                            },
                                            "operator": "===",
                                            "right": {
                                              "type": "StringLiteral",
                                              "start": 5442,
                                              "end": 5445,
                                              "loc": {
                                                "start": {
                                                  "line": 170,
                                                  "column": 41
                                                },
                                                "end": {
                                                  "line": 170,
                                                  "column": 44
                                                }
                                              },
                                              "extra": {
                                                "rawValue": "}",
                                                "raw": "\"}\""
                                              },
                                              "value": "}"
                                            }
                                          }
                                        },
                                        "consequent": {
                                          "type": "ExpressionStatement",
                                          "start": 5454,
                                          "end": 5517,
                                          "loc": {
                                            "start": {
                                              "line": 171,
                                              "column": 6
                                            },
                                            "end": {
                                              "line": 171,
                                              "column": 69
                                            }
                                          },
                                          "expression": {
                                            "type": "AssignmentExpression",
                                            "start": 5454,
                                            "end": 5516,
                                            "loc": {
                                              "start": {
                                                "line": 171,
                                                "column": 6
                                              },
                                              "end": {
                                                "line": 171,
                                                "column": 68
                                              }
                                            },
                                            "operator": "=",
                                            "left": {
                                              "type": "Identifier",
                                              "start": 5454,
                                              "end": 5460,
                                              "loc": {
                                                "start": {
                                                  "line": 171,
                                                  "column": 6
                                                },
                                                "end": {
                                                  "line": 171,
                                                  "column": 12
                                                },
                                                "identifierName": "output"
                                              },
                                              "name": "output"
                                            },
                                            "right": {
                                              "type": "CallExpression",
                                              "start": 5463,
                                              "end": 5516,
                                              "loc": {
                                                "start": {
                                                  "line": 171,
                                                  "column": 15
                                                },
                                                "end": {
                                                  "line": 171,
                                                  "column": 68
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 5463,
                                                "end": 5479,
                                                "loc": {
                                                  "start": {
                                                    "line": 171,
                                                    "column": 15
                                                  },
                                                  "end": {
                                                    "line": 171,
                                                    "column": 31
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 5463,
                                                  "end": 5467,
                                                  "loc": {
                                                    "start": {
                                                      "line": 171,
                                                      "column": 15
                                                    },
                                                    "end": {
                                                      "line": 171,
                                                      "column": 19
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 5468,
                                                  "end": 5479,
                                                  "loc": {
                                                    "start": {
                                                      "line": 171,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 171,
                                                      "column": 31
                                                    },
                                                    "identifierName": "addStringAt"
                                                  },
                                                  "name": "addStringAt"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 5480,
                                                  "end": 5486,
                                                  "loc": {
                                                    "start": {
                                                      "line": 171,
                                                      "column": 32
                                                    },
                                                    "end": {
                                                      "line": 171,
                                                      "column": 38
                                                    },
                                                    "identifierName": "output"
                                                  },
                                                  "name": "output"
                                                },
                                                {
                                                  "type": "Identifier",
                                                  "start": 5488,
                                                  "end": 5494,
                                                  "loc": {
                                                    "start": {
                                                      "line": 171,
                                                      "column": 40
                                                    },
                                                    "end": {
                                                      "line": 171,
                                                      "column": 46
                                                    },
                                                    "identifierName": "button"
                                                  },
                                                  "name": "button"
                                                },
                                                {
                                                  "type": "Identifier",
                                                  "start": 5496,
                                                  "end": 5504,
                                                  "loc": {
                                                    "start": {
                                                      "line": 171,
                                                      "column": 48
                                                    },
                                                    "end": {
                                                      "line": 171,
                                                      "column": 56
                                                    },
                                                    "identifierName": "caretPos"
                                                  },
                                                  "name": "caretPos"
                                                },
                                                {
                                                  "type": "Identifier",
                                                  "start": 5506,
                                                  "end": 5515,
                                                  "loc": {
                                                    "start": {
                                                      "line": 171,
                                                      "column": 58
                                                    },
                                                    "end": {
                                                      "line": 171,
                                                      "column": 67
                                                    },
                                                    "identifierName": "moveCaret"
                                                  },
                                                  "name": "moveCaret"
                                                }
                                              ]
                                            }
                                          }
                                        },
                                        "alternate": {
                                          "type": "IfStatement",
                                          "start": 5530,
                                          "end": 5651,
                                          "loc": {
                                            "start": {
                                              "line": 173,
                                              "column": 9
                                            },
                                            "end": {
                                              "line": 174,
                                              "column": 69
                                            }
                                          },
                                          "test": {
                                            "type": "LogicalExpression",
                                            "start": 5533,
                                            "end": 5579,
                                            "loc": {
                                              "start": {
                                                "line": 173,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 173,
                                                "column": 58
                                              }
                                            },
                                            "left": {
                                              "type": "UnaryExpression",
                                              "start": 5533,
                                              "end": 5554,
                                              "loc": {
                                                "start": {
                                                  "line": 173,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 173,
                                                  "column": 33
                                                }
                                              },
                                              "operator": "!",
                                              "prefix": true,
                                              "argument": {
                                                "type": "CallExpression",
                                                "start": 5534,
                                                "end": 5554,
                                                "loc": {
                                                  "start": {
                                                    "line": 173,
                                                    "column": 13
                                                  },
                                                  "end": {
                                                    "line": 173,
                                                    "column": 33
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 5534,
                                                  "end": 5549,
                                                  "loc": {
                                                    "start": {
                                                      "line": 173,
                                                      "column": 13
                                                    },
                                                    "end": {
                                                      "line": 173,
                                                      "column": 28
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 5534,
                                                    "end": 5540,
                                                    "loc": {
                                                      "start": {
                                                        "line": 173,
                                                        "column": 13
                                                      },
                                                      "end": {
                                                        "line": 173,
                                                        "column": 19
                                                      },
                                                      "identifierName": "button"
                                                    },
                                                    "name": "button"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5541,
                                                    "end": 5549,
                                                    "loc": {
                                                      "start": {
                                                        "line": 173,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 173,
                                                        "column": 28
                                                      },
                                                      "identifierName": "includes"
                                                    },
                                                    "name": "includes"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "StringLiteral",
                                                    "start": 5550,
                                                    "end": 5553,
                                                    "loc": {
                                                      "start": {
                                                        "line": 173,
                                                        "column": 29
                                                      },
                                                      "end": {
                                                        "line": 173,
                                                        "column": 32
                                                      }
                                                    },
                                                    "extra": {
                                                      "rawValue": "{",
                                                      "raw": "\"{\""
                                                    },
                                                    "value": "{"
                                                  }
                                                ]
                                              },
                                              "extra": {
                                                "parenthesizedArgument": false
                                              }
                                            },
                                            "operator": "&&",
                                            "right": {
                                              "type": "UnaryExpression",
                                              "start": 5558,
                                              "end": 5579,
                                              "loc": {
                                                "start": {
                                                  "line": 173,
                                                  "column": 37
                                                },
                                                "end": {
                                                  "line": 173,
                                                  "column": 58
                                                }
                                              },
                                              "operator": "!",
                                              "prefix": true,
                                              "argument": {
                                                "type": "CallExpression",
                                                "start": 5559,
                                                "end": 5579,
                                                "loc": {
                                                  "start": {
                                                    "line": 173,
                                                    "column": 38
                                                  },
                                                  "end": {
                                                    "line": 173,
                                                    "column": 58
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 5559,
                                                  "end": 5574,
                                                  "loc": {
                                                    "start": {
                                                      "line": 173,
                                                      "column": 38
                                                    },
                                                    "end": {
                                                      "line": 173,
                                                      "column": 53
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "Identifier",
                                                    "start": 5559,
                                                    "end": 5565,
                                                    "loc": {
                                                      "start": {
                                                        "line": 173,
                                                        "column": 38
                                                      },
                                                      "end": {
                                                        "line": 173,
                                                        "column": 44
                                                      },
                                                      "identifierName": "button"
                                                    },
                                                    "name": "button"
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5566,
                                                    "end": 5574,
                                                    "loc": {
                                                      "start": {
                                                        "line": 173,
                                                        "column": 45
                                                      },
                                                      "end": {
                                                        "line": 173,
                                                        "column": 53
                                                      },
                                                      "identifierName": "includes"
                                                    },
                                                    "name": "includes"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "StringLiteral",
                                                    "start": 5575,
                                                    "end": 5578,
                                                    "loc": {
                                                      "start": {
                                                        "line": 173,
                                                        "column": 54
                                                      },
                                                      "end": {
                                                        "line": 173,
                                                        "column": 57
                                                      }
                                                    },
                                                    "extra": {
                                                      "rawValue": "}",
                                                      "raw": "\"}\""
                                                    },
                                                    "value": "}"
                                                  }
                                                ]
                                              },
                                              "extra": {
                                                "parenthesizedArgument": false
                                              }
                                            }
                                          },
                                          "consequent": {
                                            "type": "ExpressionStatement",
                                            "start": 5588,
                                            "end": 5651,
                                            "loc": {
                                              "start": {
                                                "line": 174,
                                                "column": 6
                                              },
                                              "end": {
                                                "line": 174,
                                                "column": 69
                                              }
                                            },
                                            "expression": {
                                              "type": "AssignmentExpression",
                                              "start": 5588,
                                              "end": 5650,
                                              "loc": {
                                                "start": {
                                                  "line": 174,
                                                  "column": 6
                                                },
                                                "end": {
                                                  "line": 174,
                                                  "column": 68
                                                }
                                              },
                                              "operator": "=",
                                              "left": {
                                                "type": "Identifier",
                                                "start": 5588,
                                                "end": 5594,
                                                "loc": {
                                                  "start": {
                                                    "line": 174,
                                                    "column": 6
                                                  },
                                                  "end": {
                                                    "line": 174,
                                                    "column": 12
                                                  },
                                                  "identifierName": "output"
                                                },
                                                "name": "output"
                                              },
                                              "right": {
                                                "type": "CallExpression",
                                                "start": 5597,
                                                "end": 5650,
                                                "loc": {
                                                  "start": {
                                                    "line": 174,
                                                    "column": 15
                                                  },
                                                  "end": {
                                                    "line": 174,
                                                    "column": 68
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 5597,
                                                  "end": 5613,
                                                  "loc": {
                                                    "start": {
                                                      "line": 174,
                                                      "column": 15
                                                    },
                                                    "end": {
                                                      "line": 174,
                                                      "column": 31
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5597,
                                                    "end": 5601,
                                                    "loc": {
                                                      "start": {
                                                        "line": 174,
                                                        "column": 15
                                                      },
                                                      "end": {
                                                        "line": 174,
                                                        "column": 19
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5602,
                                                    "end": 5613,
                                                    "loc": {
                                                      "start": {
                                                        "line": 174,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 174,
                                                        "column": 31
                                                      },
                                                      "identifierName": "addStringAt"
                                                    },
                                                    "name": "addStringAt"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "start": 5614,
                                                    "end": 5620,
                                                    "loc": {
                                                      "start": {
                                                        "line": 174,
                                                        "column": 32
                                                      },
                                                      "end": {
                                                        "line": 174,
                                                        "column": 38
                                                      },
                                                      "identifierName": "output"
                                                    },
                                                    "name": "output"
                                                  },
                                                  {
                                                    "type": "Identifier",
                                                    "start": 5622,
                                                    "end": 5628,
                                                    "loc": {
                                                      "start": {
                                                        "line": 174,
                                                        "column": 40
                                                      },
                                                      "end": {
                                                        "line": 174,
                                                        "column": 46
                                                      },
                                                      "identifierName": "button"
                                                    },
                                                    "name": "button"
                                                  },
                                                  {
                                                    "type": "Identifier",
                                                    "start": 5630,
                                                    "end": 5638,
                                                    "loc": {
                                                      "start": {
                                                        "line": 174,
                                                        "column": 48
                                                      },
                                                      "end": {
                                                        "line": 174,
                                                        "column": 56
                                                      },
                                                      "identifierName": "caretPos"
                                                    },
                                                    "name": "caretPos"
                                                  },
                                                  {
                                                    "type": "Identifier",
                                                    "start": 5640,
                                                    "end": 5649,
                                                    "loc": {
                                                      "start": {
                                                        "line": 174,
                                                        "column": 58
                                                      },
                                                      "end": {
                                                        "line": 174,
                                                        "column": 67
                                                      },
                                                      "identifierName": "moveCaret"
                                                    },
                                                    "name": "moveCaret"
                                                  }
                                                ]
                                              }
                                            }
                                          },
                                          "alternate": null
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 5659,
                    "end": 5673,
                    "loc": {
                      "start": {
                        "line": 176,
                        "column": 4
                      },
                      "end": {
                        "line": 176,
                        "column": 18
                      }
                    },
                    "argument": {
                      "type": "Identifier",
                      "start": 5666,
                      "end": 5672,
                      "loc": {
                        "start": {
                          "line": 176,
                          "column": 11
                        },
                        "end": {
                          "line": 176,
                          "column": 17
                        },
                        "identifierName": "output"
                      },
                      "name": "output"
                    }
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Returns the updated input resulting from clicking a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @param  {string} input The input string\r\n   * @param  {object} options The simple-keyboard options object\r\n   * @param  {number} caretPos The cursor's current position\r\n   * @param  {boolean} moveCaret Whether to update simple-keyboard's cursor\r\n   ",
                  "start": 3560,
                  "end": 3954,
                  "loc": {
                    "start": {
                      "line": 127,
                      "column": 2
                    },
                    "end": {
                      "line": 135,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Moves the cursor position by a given amount\r\n   * \r\n   * @param  {number} length Represents by how many characters the input should be moved\r\n   * @param  {boolean} minus Whether the cursor should be moved to the left or not.\r\n   ",
                  "start": 5684,
                  "end": 5926,
                  "loc": {
                    "start": {
                      "line": 179,
                      "column": 2
                    },
                    "end": {
                      "line": 184,
                      "column": 5
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 5930,
              "end": 6267,
              "loc": {
                "start": {
                  "line": 185,
                  "column": 2
                },
                "end": {
                  "line": 192,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 5930,
                "end": 5944,
                "loc": {
                  "start": {
                    "line": 185,
                    "column": 2
                  },
                  "end": {
                    "line": 185,
                    "column": 16
                  },
                  "identifierName": "updateCaretPos"
                },
                "name": "updateCaretPos",
                "leadingComments": null
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 5945,
                  "end": 5951,
                  "loc": {
                    "start": {
                      "line": 185,
                      "column": 17
                    },
                    "end": {
                      "line": 185,
                      "column": 23
                    },
                    "identifierName": "length"
                  },
                  "name": "length"
                },
                {
                  "type": "Identifier",
                  "start": 5953,
                  "end": 5958,
                  "loc": {
                    "start": {
                      "line": 185,
                      "column": 25
                    },
                    "end": {
                      "line": 185,
                      "column": 30
                    },
                    "identifierName": "minus"
                  },
                  "name": "minus"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 5959,
                "end": 6267,
                "loc": {
                  "start": {
                    "line": 185,
                    "column": 31
                  },
                  "end": {
                    "line": 192,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "IfStatement",
                    "start": 5966,
                    "end": 6262,
                    "loc": {
                      "start": {
                        "line": 186,
                        "column": 4
                      },
                      "end": {
                        "line": 191,
                        "column": 5
                      }
                    },
                    "test": {
                      "type": "Identifier",
                      "start": 5969,
                      "end": 5974,
                      "loc": {
                        "start": {
                          "line": 186,
                          "column": 7
                        },
                        "end": {
                          "line": 186,
                          "column": 12
                        },
                        "identifierName": "minus"
                      },
                      "name": "minus"
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 5975,
                      "end": 6145,
                      "loc": {
                        "start": {
                          "line": 186,
                          "column": 13
                        },
                        "end": {
                          "line": 189,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "IfStatement",
                          "start": 5984,
                          "end": 6138,
                          "loc": {
                            "start": {
                              "line": 187,
                              "column": 6
                            },
                            "end": {
                              "line": 188,
                              "column": 103
                            }
                          },
                          "test": {
                            "type": "BinaryExpression",
                            "start": 5987,
                            "end": 6032,
                            "loc": {
                              "start": {
                                "line": 187,
                                "column": 9
                              },
                              "end": {
                                "line": 187,
                                "column": 54
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 5987,
                              "end": 6028,
                              "loc": {
                                "start": {
                                  "line": 187,
                                  "column": 9
                                },
                                "end": {
                                  "line": 187,
                                  "column": 50
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 5987,
                                "end": 6014,
                                "loc": {
                                  "start": {
                                    "line": 187,
                                    "column": 9
                                  },
                                  "end": {
                                    "line": 187,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 5987,
                                  "end": 5991,
                                  "loc": {
                                    "start": {
                                      "line": 187,
                                      "column": 9
                                    },
                                    "end": {
                                      "line": 187,
                                      "column": 13
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 5992,
                                  "end": 6014,
                                  "loc": {
                                    "start": {
                                      "line": 187,
                                      "column": 14
                                    },
                                    "end": {
                                      "line": 187,
                                      "column": 36
                                    },
                                    "identifierName": "simpleKeyboardInstance"
                                  },
                                  "name": "simpleKeyboardInstance"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6015,
                                "end": 6028,
                                "loc": {
                                  "start": {
                                    "line": 187,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 187,
                                    "column": 50
                                  },
                                  "identifierName": "caretPosition"
                                },
                                "name": "caretPosition"
                              },
                              "computed": false
                            },
                            "operator": ">",
                            "right": {
                              "type": "NumericLiteral",
                              "start": 6031,
                              "end": 6032,
                              "loc": {
                                "start": {
                                  "line": 187,
                                  "column": 53
                                },
                                "end": {
                                  "line": 187,
                                  "column": 54
                                }
                              },
                              "extra": {
                                "rawValue": 0,
                                "raw": "0"
                              },
                              "value": 0
                            }
                          },
                          "consequent": {
                            "type": "ExpressionStatement",
                            "start": 6043,
                            "end": 6138,
                            "loc": {
                              "start": {
                                "line": 188,
                                "column": 8
                              },
                              "end": {
                                "line": 188,
                                "column": 103
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 6043,
                              "end": 6137,
                              "loc": {
                                "start": {
                                  "line": 188,
                                  "column": 8
                                },
                                "end": {
                                  "line": 188,
                                  "column": 102
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 6043,
                                "end": 6084,
                                "loc": {
                                  "start": {
                                    "line": 188,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 188,
                                    "column": 49
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 6043,
                                  "end": 6070,
                                  "loc": {
                                    "start": {
                                      "line": 188,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 188,
                                      "column": 35
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 6043,
                                    "end": 6047,
                                    "loc": {
                                      "start": {
                                        "line": 188,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 188,
                                        "column": 12
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 6048,
                                    "end": 6070,
                                    "loc": {
                                      "start": {
                                        "line": 188,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 188,
                                        "column": 35
                                      },
                                      "identifierName": "simpleKeyboardInstance"
                                    },
                                    "name": "simpleKeyboardInstance"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6071,
                                  "end": 6084,
                                  "loc": {
                                    "start": {
                                      "line": 188,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 188,
                                      "column": 49
                                    },
                                    "identifierName": "caretPosition"
                                  },
                                  "name": "caretPosition"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "BinaryExpression",
                                "start": 6087,
                                "end": 6137,
                                "loc": {
                                  "start": {
                                    "line": 188,
                                    "column": 52
                                  },
                                  "end": {
                                    "line": 188,
                                    "column": 102
                                  }
                                },
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 6087,
                                  "end": 6128,
                                  "loc": {
                                    "start": {
                                      "line": 188,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 188,
                                      "column": 93
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 6087,
                                    "end": 6114,
                                    "loc": {
                                      "start": {
                                        "line": 188,
                                        "column": 52
                                      },
                                      "end": {
                                        "line": 188,
                                        "column": 79
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 6087,
                                      "end": 6091,
                                      "loc": {
                                        "start": {
                                          "line": 188,
                                          "column": 52
                                        },
                                        "end": {
                                          "line": 188,
                                          "column": 56
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 6092,
                                      "end": 6114,
                                      "loc": {
                                        "start": {
                                          "line": 188,
                                          "column": 57
                                        },
                                        "end": {
                                          "line": 188,
                                          "column": 79
                                        },
                                        "identifierName": "simpleKeyboardInstance"
                                      },
                                      "name": "simpleKeyboardInstance"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 6115,
                                    "end": 6128,
                                    "loc": {
                                      "start": {
                                        "line": 188,
                                        "column": 80
                                      },
                                      "end": {
                                        "line": 188,
                                        "column": 93
                                      },
                                      "identifierName": "caretPosition"
                                    },
                                    "name": "caretPosition"
                                  },
                                  "computed": false
                                },
                                "operator": "-",
                                "right": {
                                  "type": "Identifier",
                                  "start": 6131,
                                  "end": 6137,
                                  "loc": {
                                    "start": {
                                      "line": 188,
                                      "column": 96
                                    },
                                    "end": {
                                      "line": 188,
                                      "column": 102
                                    },
                                    "identifierName": "length"
                                  },
                                  "name": "length"
                                }
                              }
                            }
                          },
                          "alternate": null
                        }
                      ],
                      "directives": []
                    },
                    "alternate": {
                      "type": "BlockStatement",
                      "start": 6151,
                      "end": 6262,
                      "loc": {
                        "start": {
                          "line": 189,
                          "column": 11
                        },
                        "end": {
                          "line": 191,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 6160,
                          "end": 6255,
                          "loc": {
                            "start": {
                              "line": 190,
                              "column": 6
                            },
                            "end": {
                              "line": 190,
                              "column": 101
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 6160,
                            "end": 6254,
                            "loc": {
                              "start": {
                                "line": 190,
                                "column": 6
                              },
                              "end": {
                                "line": 190,
                                "column": 100
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "start": 6160,
                              "end": 6201,
                              "loc": {
                                "start": {
                                  "line": 190,
                                  "column": 6
                                },
                                "end": {
                                  "line": 190,
                                  "column": 47
                                }
                              },
                              "object": {
                                "type": "MemberExpression",
                                "start": 6160,
                                "end": 6187,
                                "loc": {
                                  "start": {
                                    "line": 190,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 190,
                                    "column": 33
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 6160,
                                  "end": 6164,
                                  "loc": {
                                    "start": {
                                      "line": 190,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 190,
                                      "column": 10
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6165,
                                  "end": 6187,
                                  "loc": {
                                    "start": {
                                      "line": 190,
                                      "column": 11
                                    },
                                    "end": {
                                      "line": 190,
                                      "column": 33
                                    },
                                    "identifierName": "simpleKeyboardInstance"
                                  },
                                  "name": "simpleKeyboardInstance"
                                },
                                "computed": false
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 6188,
                                "end": 6201,
                                "loc": {
                                  "start": {
                                    "line": 190,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 190,
                                    "column": 47
                                  },
                                  "identifierName": "caretPosition"
                                },
                                "name": "caretPosition"
                              },
                              "computed": false
                            },
                            "right": {
                              "type": "BinaryExpression",
                              "start": 6204,
                              "end": 6254,
                              "loc": {
                                "start": {
                                  "line": 190,
                                  "column": 50
                                },
                                "end": {
                                  "line": 190,
                                  "column": 100
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 6204,
                                "end": 6245,
                                "loc": {
                                  "start": {
                                    "line": 190,
                                    "column": 50
                                  },
                                  "end": {
                                    "line": 190,
                                    "column": 91
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 6204,
                                  "end": 6231,
                                  "loc": {
                                    "start": {
                                      "line": 190,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 190,
                                      "column": 77
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 6204,
                                    "end": 6208,
                                    "loc": {
                                      "start": {
                                        "line": 190,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 190,
                                        "column": 54
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 6209,
                                    "end": 6231,
                                    "loc": {
                                      "start": {
                                        "line": 190,
                                        "column": 55
                                      },
                                      "end": {
                                        "line": 190,
                                        "column": 77
                                      },
                                      "identifierName": "simpleKeyboardInstance"
                                    },
                                    "name": "simpleKeyboardInstance"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6232,
                                  "end": 6245,
                                  "loc": {
                                    "start": {
                                      "line": 190,
                                      "column": 78
                                    },
                                    "end": {
                                      "line": 190,
                                      "column": 91
                                    },
                                    "identifierName": "caretPosition"
                                  },
                                  "name": "caretPosition"
                                },
                                "computed": false
                              },
                              "operator": "+",
                              "right": {
                                "type": "Identifier",
                                "start": 6248,
                                "end": 6254,
                                "loc": {
                                  "start": {
                                    "line": 190,
                                    "column": 94
                                  },
                                  "end": {
                                    "line": 190,
                                    "column": 100
                                  },
                                  "identifierName": "length"
                                },
                                "name": "length"
                              }
                            }
                          }
                        }
                      ],
                      "directives": []
                    }
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Moves the cursor position by a given amount\r\n   * \r\n   * @param  {number} length Represents by how many characters the input should be moved\r\n   * @param  {boolean} minus Whether the cursor should be moved to the left or not.\r\n   ",
                  "start": 5684,
                  "end": 5926,
                  "loc": {
                    "start": {
                      "line": 179,
                      "column": 2
                    },
                    "end": {
                      "line": 184,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Adds a string to the input at a given position\r\n   * \r\n   * @param  {string} source The source input\r\n   * @param  {string} string The string to add\r\n   * @param  {number} position The (cursor) position where the string should be added\r\n   * @param  {boolean} moveCaret Whether to update simple-keyboard's cursor\r\n   ",
                  "start": 6273,
                  "end": 6602,
                  "loc": {
                    "start": {
                      "line": 194,
                      "column": 2
                    },
                    "end": {
                      "line": 201,
                      "column": 5
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 6606,
              "end": 7189,
              "loc": {
                "start": {
                  "line": 202,
                  "column": 2
                },
                "end": {
                  "line": 224,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 6606,
                "end": 6617,
                "loc": {
                  "start": {
                    "line": 202,
                    "column": 2
                  },
                  "end": {
                    "line": 202,
                    "column": 13
                  },
                  "identifierName": "addStringAt"
                },
                "name": "addStringAt",
                "leadingComments": null
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 6618,
                  "end": 6624,
                  "loc": {
                    "start": {
                      "line": 202,
                      "column": 14
                    },
                    "end": {
                      "line": 202,
                      "column": 20
                    },
                    "identifierName": "source"
                  },
                  "name": "source"
                },
                {
                  "type": "Identifier",
                  "start": 6626,
                  "end": 6632,
                  "loc": {
                    "start": {
                      "line": 202,
                      "column": 22
                    },
                    "end": {
                      "line": 202,
                      "column": 28
                    },
                    "identifierName": "string"
                  },
                  "name": "string"
                },
                {
                  "type": "Identifier",
                  "start": 6634,
                  "end": 6642,
                  "loc": {
                    "start": {
                      "line": 202,
                      "column": 30
                    },
                    "end": {
                      "line": 202,
                      "column": 38
                    },
                    "identifierName": "position"
                  },
                  "name": "position"
                },
                {
                  "type": "Identifier",
                  "start": 6644,
                  "end": 6653,
                  "loc": {
                    "start": {
                      "line": 202,
                      "column": 40
                    },
                    "end": {
                      "line": 202,
                      "column": 49
                    },
                    "identifierName": "moveCaret"
                  },
                  "name": "moveCaret"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 6654,
                "end": 7189,
                "loc": {
                  "start": {
                    "line": 202,
                    "column": 50
                  },
                  "end": {
                    "line": 224,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 6661,
                    "end": 6672,
                    "loc": {
                      "start": {
                        "line": 203,
                        "column": 4
                      },
                      "end": {
                        "line": 203,
                        "column": 15
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 6665,
                        "end": 6671,
                        "loc": {
                          "start": {
                            "line": 203,
                            "column": 8
                          },
                          "end": {
                            "line": 203,
                            "column": 14
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 6665,
                          "end": 6671,
                          "loc": {
                            "start": {
                              "line": 203,
                              "column": 8
                            },
                            "end": {
                              "line": 203,
                              "column": 14
                            },
                            "identifierName": "output"
                          },
                          "name": "output"
                        },
                        "init": null
                      }
                    ],
                    "kind": "let"
                  },
                  {
                    "type": "IfStatement",
                    "start": 6680,
                    "end": 7045,
                    "loc": {
                      "start": {
                        "line": 205,
                        "column": 4
                      },
                      "end": {
                        "line": 217,
                        "column": 5
                      }
                    },
                    "test": {
                      "type": "LogicalExpression",
                      "start": 6683,
                      "end": 6710,
                      "loc": {
                        "start": {
                          "line": 205,
                          "column": 7
                        },
                        "end": {
                          "line": 205,
                          "column": 34
                        }
                      },
                      "left": {
                        "type": "UnaryExpression",
                        "start": 6683,
                        "end": 6692,
                        "loc": {
                          "start": {
                            "line": 205,
                            "column": 7
                          },
                          "end": {
                            "line": 205,
                            "column": 16
                          }
                        },
                        "operator": "!",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 6684,
                          "end": 6692,
                          "loc": {
                            "start": {
                              "line": 205,
                              "column": 8
                            },
                            "end": {
                              "line": 205,
                              "column": 16
                            },
                            "identifierName": "position"
                          },
                          "name": "position"
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      },
                      "operator": "&&",
                      "right": {
                        "type": "BinaryExpression",
                        "start": 6696,
                        "end": 6710,
                        "loc": {
                          "start": {
                            "line": 205,
                            "column": 20
                          },
                          "end": {
                            "line": 205,
                            "column": 34
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 6696,
                          "end": 6704,
                          "loc": {
                            "start": {
                              "line": 205,
                              "column": 20
                            },
                            "end": {
                              "line": 205,
                              "column": 28
                            },
                            "identifierName": "position"
                          },
                          "name": "position"
                        },
                        "operator": "!==",
                        "right": {
                          "type": "NumericLiteral",
                          "start": 6709,
                          "end": 6710,
                          "loc": {
                            "start": {
                              "line": 205,
                              "column": 33
                            },
                            "end": {
                              "line": 205,
                              "column": 34
                            }
                          },
                          "extra": {
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "value": 0
                        }
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 6711,
                      "end": 6752,
                      "loc": {
                        "start": {
                          "line": 205,
                          "column": 35
                        },
                        "end": {
                          "line": 207,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 6720,
                          "end": 6745,
                          "loc": {
                            "start": {
                              "line": 206,
                              "column": 6
                            },
                            "end": {
                              "line": 206,
                              "column": 31
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 6720,
                            "end": 6744,
                            "loc": {
                              "start": {
                                "line": 206,
                                "column": 6
                              },
                              "end": {
                                "line": 206,
                                "column": 30
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 6720,
                              "end": 6726,
                              "loc": {
                                "start": {
                                  "line": 206,
                                  "column": 6
                                },
                                "end": {
                                  "line": 206,
                                  "column": 12
                                },
                                "identifierName": "output"
                              },
                              "name": "output"
                            },
                            "right": {
                              "type": "BinaryExpression",
                              "start": 6729,
                              "end": 6744,
                              "loc": {
                                "start": {
                                  "line": 206,
                                  "column": 15
                                },
                                "end": {
                                  "line": 206,
                                  "column": 30
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 6729,
                                "end": 6735,
                                "loc": {
                                  "start": {
                                    "line": 206,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 206,
                                    "column": 21
                                  },
                                  "identifierName": "source"
                                },
                                "name": "source"
                              },
                              "operator": "+",
                              "right": {
                                "type": "Identifier",
                                "start": 6738,
                                "end": 6744,
                                "loc": {
                                  "start": {
                                    "line": 206,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 206,
                                    "column": 30
                                  },
                                  "identifierName": "string"
                                },
                                "name": "string"
                              }
                            }
                          }
                        }
                      ],
                      "directives": []
                    },
                    "alternate": {
                      "type": "BlockStatement",
                      "start": 6758,
                      "end": 7045,
                      "loc": {
                        "start": {
                          "line": 207,
                          "column": 11
                        },
                        "end": {
                          "line": 217,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 6767,
                          "end": 6845,
                          "loc": {
                            "start": {
                              "line": 208,
                              "column": 6
                            },
                            "end": {
                              "line": 208,
                              "column": 84
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 6767,
                            "end": 6844,
                            "loc": {
                              "start": {
                                "line": 208,
                                "column": 6
                              },
                              "end": {
                                "line": 208,
                                "column": 83
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 6767,
                              "end": 6773,
                              "loc": {
                                "start": {
                                  "line": 208,
                                  "column": 6
                                },
                                "end": {
                                  "line": 208,
                                  "column": 12
                                },
                                "identifierName": "output"
                              },
                              "name": "output"
                            },
                            "right": {
                              "type": "CallExpression",
                              "start": 6776,
                              "end": 6844,
                              "loc": {
                                "start": {
                                  "line": 208,
                                  "column": 15
                                },
                                "end": {
                                  "line": 208,
                                  "column": 83
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 6776,
                                "end": 6840,
                                "loc": {
                                  "start": {
                                    "line": 208,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 208,
                                    "column": 79
                                  }
                                },
                                "object": {
                                  "type": "ArrayExpression",
                                  "start": 6776,
                                  "end": 6835,
                                  "loc": {
                                    "start": {
                                      "line": 208,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 208,
                                      "column": 74
                                    }
                                  },
                                  "elements": [
                                    {
                                      "type": "CallExpression",
                                      "start": 6777,
                                      "end": 6802,
                                      "loc": {
                                        "start": {
                                          "line": 208,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 208,
                                          "column": 41
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 6777,
                                        "end": 6789,
                                        "loc": {
                                          "start": {
                                            "line": 208,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 208,
                                            "column": 28
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 6777,
                                          "end": 6783,
                                          "loc": {
                                            "start": {
                                              "line": 208,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 208,
                                              "column": 22
                                            },
                                            "identifierName": "source"
                                          },
                                          "name": "source"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 6784,
                                          "end": 6789,
                                          "loc": {
                                            "start": {
                                              "line": 208,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 208,
                                              "column": 28
                                            },
                                            "identifierName": "slice"
                                          },
                                          "name": "slice"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "NumericLiteral",
                                          "start": 6790,
                                          "end": 6791,
                                          "loc": {
                                            "start": {
                                              "line": 208,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 208,
                                              "column": 30
                                            }
                                          },
                                          "extra": {
                                            "rawValue": 0,
                                            "raw": "0"
                                          },
                                          "value": 0
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 6793,
                                          "end": 6801,
                                          "loc": {
                                            "start": {
                                              "line": 208,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 208,
                                              "column": 40
                                            },
                                            "identifierName": "position"
                                          },
                                          "name": "position"
                                        }
                                      ]
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 6804,
                                      "end": 6810,
                                      "loc": {
                                        "start": {
                                          "line": 208,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 208,
                                          "column": 49
                                        },
                                        "identifierName": "string"
                                      },
                                      "name": "string"
                                    },
                                    {
                                      "type": "CallExpression",
                                      "start": 6812,
                                      "end": 6834,
                                      "loc": {
                                        "start": {
                                          "line": 208,
                                          "column": 51
                                        },
                                        "end": {
                                          "line": 208,
                                          "column": 73
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 6812,
                                        "end": 6824,
                                        "loc": {
                                          "start": {
                                            "line": 208,
                                            "column": 51
                                          },
                                          "end": {
                                            "line": 208,
                                            "column": 63
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 6812,
                                          "end": 6818,
                                          "loc": {
                                            "start": {
                                              "line": 208,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 208,
                                              "column": 57
                                            },
                                            "identifierName": "source"
                                          },
                                          "name": "source"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 6819,
                                          "end": 6824,
                                          "loc": {
                                            "start": {
                                              "line": 208,
                                              "column": 58
                                            },
                                            "end": {
                                              "line": 208,
                                              "column": 63
                                            },
                                            "identifierName": "slice"
                                          },
                                          "name": "slice"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 6825,
                                          "end": 6833,
                                          "loc": {
                                            "start": {
                                              "line": 208,
                                              "column": 64
                                            },
                                            "end": {
                                              "line": 208,
                                              "column": 72
                                            },
                                            "identifierName": "position"
                                          },
                                          "name": "position"
                                        }
                                      ]
                                    }
                                  ]
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6836,
                                  "end": 6840,
                                  "loc": {
                                    "start": {
                                      "line": 208,
                                      "column": 75
                                    },
                                    "end": {
                                      "line": 208,
                                      "column": 79
                                    },
                                    "identifierName": "join"
                                  },
                                  "name": "join"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "StringLiteral",
                                  "start": 6841,
                                  "end": 6843,
                                  "loc": {
                                    "start": {
                                      "line": 208,
                                      "column": 80
                                    },
                                    "end": {
                                      "line": 208,
                                      "column": 82
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "",
                                    "raw": "''"
                                  },
                                  "value": ""
                                }
                              ]
                            }
                          },
                          "trailingComments": [
                            {
                              "type": "CommentBlock",
                              "value": "*\r\n       * Avoid caret position change when maxLength is set\r\n       ",
                              "start": 6855,
                              "end": 6929,
                              "loc": {
                                "start": {
                                  "line": 210,
                                  "column": 6
                                },
                                "end": {
                                  "line": 212,
                                  "column": 9
                                }
                              }
                            }
                          ]
                        },
                        {
                          "type": "IfStatement",
                          "start": 6937,
                          "end": 7036,
                          "loc": {
                            "start": {
                              "line": 213,
                              "column": 6
                            },
                            "end": {
                              "line": 215,
                              "column": 7
                            }
                          },
                          "test": {
                            "type": "UnaryExpression",
                            "start": 6940,
                            "end": 6966,
                            "loc": {
                              "start": {
                                "line": 213,
                                "column": 9
                              },
                              "end": {
                                "line": 213,
                                "column": 35
                              }
                            },
                            "operator": "!",
                            "prefix": true,
                            "argument": {
                              "type": "CallExpression",
                              "start": 6941,
                              "end": 6966,
                              "loc": {
                                "start": {
                                  "line": 213,
                                  "column": 10
                                },
                                "end": {
                                  "line": 213,
                                  "column": 35
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 6941,
                                "end": 6964,
                                "loc": {
                                  "start": {
                                    "line": 213,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 213,
                                    "column": 33
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 6941,
                                  "end": 6945,
                                  "loc": {
                                    "start": {
                                      "line": 213,
                                      "column": 10
                                    },
                                    "end": {
                                      "line": 213,
                                      "column": 14
                                    }
                                  },
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6946,
                                  "end": 6964,
                                  "loc": {
                                    "start": {
                                      "line": 213,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 213,
                                      "column": 33
                                    },
                                    "identifierName": "isMaxLengthReached"
                                  },
                                  "name": "isMaxLengthReached"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "arguments": [],
                              "leadingComments": null
                            },
                            "extra": {
                              "parenthesizedArgument": false
                            },
                            "leadingComments": null
                          },
                          "consequent": {
                            "type": "BlockStatement",
                            "start": 6967,
                            "end": 7036,
                            "loc": {
                              "start": {
                                "line": 213,
                                "column": 36
                              },
                              "end": {
                                "line": 215,
                                "column": 7
                              }
                            },
                            "body": [
                              {
                                "type": "IfStatement",
                                "start": 6978,
                                "end": 7027,
                                "loc": {
                                  "start": {
                                    "line": 214,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 214,
                                    "column": 57
                                  }
                                },
                                "test": {
                                  "type": "Identifier",
                                  "start": 6981,
                                  "end": 6990,
                                  "loc": {
                                    "start": {
                                      "line": 214,
                                      "column": 11
                                    },
                                    "end": {
                                      "line": 214,
                                      "column": 20
                                    },
                                    "identifierName": "moveCaret"
                                  },
                                  "name": "moveCaret"
                                },
                                "consequent": {
                                  "type": "ExpressionStatement",
                                  "start": 6992,
                                  "end": 7027,
                                  "loc": {
                                    "start": {
                                      "line": 214,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 214,
                                      "column": 57
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 6992,
                                    "end": 7026,
                                    "loc": {
                                      "start": {
                                        "line": 214,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 214,
                                        "column": 56
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 6992,
                                      "end": 7011,
                                      "loc": {
                                        "start": {
                                          "line": 214,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 214,
                                          "column": 41
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 6992,
                                        "end": 6996,
                                        "loc": {
                                          "start": {
                                            "line": 214,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 214,
                                            "column": 26
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 6997,
                                        "end": 7011,
                                        "loc": {
                                          "start": {
                                            "line": 214,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 214,
                                            "column": 41
                                          },
                                          "identifierName": "updateCaretPos"
                                        },
                                        "name": "updateCaretPos"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "MemberExpression",
                                        "start": 7012,
                                        "end": 7025,
                                        "loc": {
                                          "start": {
                                            "line": 214,
                                            "column": 42
                                          },
                                          "end": {
                                            "line": 214,
                                            "column": 55
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 7012,
                                          "end": 7018,
                                          "loc": {
                                            "start": {
                                              "line": 214,
                                              "column": 42
                                            },
                                            "end": {
                                              "line": 214,
                                              "column": 48
                                            },
                                            "identifierName": "string"
                                          },
                                          "name": "string"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 7019,
                                          "end": 7025,
                                          "loc": {
                                            "start": {
                                              "line": 214,
                                              "column": 49
                                            },
                                            "end": {
                                              "line": 214,
                                              "column": 55
                                            },
                                            "identifierName": "length"
                                          },
                                          "name": "length"
                                        },
                                        "computed": false
                                      }
                                    ]
                                  }
                                },
                                "alternate": null
                              }
                            ],
                            "directives": []
                          },
                          "alternate": null,
                          "leadingComments": [
                            {
                              "type": "CommentBlock",
                              "value": "*\r\n       * Avoid caret position change when maxLength is set\r\n       ",
                              "start": 6855,
                              "end": 6929,
                              "loc": {
                                "start": {
                                  "line": 210,
                                  "column": 6
                                },
                                "end": {
                                  "line": 212,
                                  "column": 9
                                }
                              }
                            }
                          ]
                        }
                      ],
                      "directives": []
                    }
                  },
                  {
                    "type": "IfStatement",
                    "start": 7053,
                    "end": 7162,
                    "loc": {
                      "start": {
                        "line": 219,
                        "column": 4
                      },
                      "end": {
                        "line": 221,
                        "column": 5
                      }
                    },
                    "test": {
                      "type": "LogicalExpression",
                      "start": 7056,
                      "end": 7110,
                      "loc": {
                        "start": {
                          "line": 219,
                          "column": 7
                        },
                        "end": {
                          "line": 219,
                          "column": 61
                        }
                      },
                      "left": {
                        "type": "MemberExpression",
                        "start": 7056,
                        "end": 7097,
                        "loc": {
                          "start": {
                            "line": 219,
                            "column": 7
                          },
                          "end": {
                            "line": 219,
                            "column": 48
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 7056,
                          "end": 7091,
                          "loc": {
                            "start": {
                              "line": 219,
                              "column": 7
                            },
                            "end": {
                              "line": 219,
                              "column": 42
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 7056,
                            "end": 7083,
                            "loc": {
                              "start": {
                                "line": 219,
                                "column": 7
                              },
                              "end": {
                                "line": 219,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 7056,
                              "end": 7060,
                              "loc": {
                                "start": {
                                  "line": 219,
                                  "column": 7
                                },
                                "end": {
                                  "line": 219,
                                  "column": 11
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7061,
                              "end": 7083,
                              "loc": {
                                "start": {
                                  "line": 219,
                                  "column": 12
                                },
                                "end": {
                                  "line": 219,
                                  "column": 34
                                },
                                "identifierName": "simpleKeyboardInstance"
                              },
                              "name": "simpleKeyboardInstance"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7084,
                            "end": 7091,
                            "loc": {
                              "start": {
                                "line": 219,
                                "column": 35
                              },
                              "end": {
                                "line": 219,
                                "column": 42
                              },
                              "identifierName": "options"
                            },
                            "name": "options"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 7092,
                          "end": 7097,
                          "loc": {
                            "start": {
                              "line": 219,
                              "column": 43
                            },
                            "end": {
                              "line": 219,
                              "column": 48
                            },
                            "identifierName": "debug"
                          },
                          "name": "debug"
                        },
                        "computed": false
                      },
                      "operator": "&&",
                      "right": {
                        "type": "Identifier",
                        "start": 7101,
                        "end": 7110,
                        "loc": {
                          "start": {
                            "line": 219,
                            "column": 52
                          },
                          "end": {
                            "line": 219,
                            "column": 61
                          },
                          "identifierName": "moveCaret"
                        },
                        "name": "moveCaret"
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 7111,
                      "end": 7162,
                      "loc": {
                        "start": {
                          "line": 219,
                          "column": 62
                        },
                        "end": {
                          "line": 221,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 7120,
                          "end": 7155,
                          "loc": {
                            "start": {
                              "line": 220,
                              "column": 6
                            },
                            "end": {
                              "line": 220,
                              "column": 41
                            }
                          },
                          "expression": {
                            "type": "CallExpression",
                            "start": 7120,
                            "end": 7154,
                            "loc": {
                              "start": {
                                "line": 220,
                                "column": 6
                              },
                              "end": {
                                "line": 220,
                                "column": 40
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 7120,
                              "end": 7131,
                              "loc": {
                                "start": {
                                  "line": 220,
                                  "column": 6
                                },
                                "end": {
                                  "line": 220,
                                  "column": 17
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 7120,
                                "end": 7127,
                                "loc": {
                                  "start": {
                                    "line": 220,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 220,
                                    "column": 13
                                  },
                                  "identifierName": "console"
                                },
                                "name": "console"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7128,
                                "end": 7131,
                                "loc": {
                                  "start": {
                                    "line": 220,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 220,
                                    "column": 17
                                  },
                                  "identifierName": "log"
                                },
                                "name": "log"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "StringLiteral",
                                "start": 7132,
                                "end": 7143,
                                "loc": {
                                  "start": {
                                    "line": 220,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 220,
                                    "column": 29
                                  }
                                },
                                "extra": {
                                  "rawValue": "Caret at:",
                                  "raw": "\"Caret at:\""
                                },
                                "value": "Caret at:"
                              },
                              {
                                "type": "Identifier",
                                "start": 7145,
                                "end": 7153,
                                "loc": {
                                  "start": {
                                    "line": 220,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 220,
                                    "column": 39
                                  },
                                  "identifierName": "position"
                                },
                                "name": "position"
                              }
                            ]
                          }
                        }
                      ],
                      "directives": []
                    },
                    "alternate": null
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 7170,
                    "end": 7184,
                    "loc": {
                      "start": {
                        "line": 223,
                        "column": 4
                      },
                      "end": {
                        "line": 223,
                        "column": 18
                      }
                    },
                    "argument": {
                      "type": "Identifier",
                      "start": 7177,
                      "end": 7183,
                      "loc": {
                        "start": {
                          "line": 223,
                          "column": 11
                        },
                        "end": {
                          "line": 223,
                          "column": 17
                        },
                        "identifierName": "output"
                      },
                      "name": "output"
                    }
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Adds a string to the input at a given position\r\n   * \r\n   * @param  {string} source The source input\r\n   * @param  {string} string The string to add\r\n   * @param  {number} position The (cursor) position where the string should be added\r\n   * @param  {boolean} moveCaret Whether to update simple-keyboard's cursor\r\n   ",
                  "start": 6273,
                  "end": 6602,
                  "loc": {
                    "start": {
                      "line": 194,
                      "column": 2
                    },
                    "end": {
                      "line": 201,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Removes an amount of characters at a given position\r\n   * \r\n   * @param  {string} source The source input\r\n   * @param  {number} position The (cursor) position from where the characters should be removed\r\n   * @param  {boolean} moveCaret Whether to update simple-keyboard's cursor\r\n   ",
                  "start": 7195,
                  "end": 7492,
                  "loc": {
                    "start": {
                      "line": 226,
                      "column": 2
                    },
                    "end": {
                      "line": 232,
                      "column": 5
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 7496,
              "end": 8943,
              "loc": {
                "start": {
                  "line": 233,
                  "column": 2
                },
                "end": {
                  "line": 276,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 7496,
                "end": 7504,
                "loc": {
                  "start": {
                    "line": 233,
                    "column": 2
                  },
                  "end": {
                    "line": 233,
                    "column": 10
                  },
                  "identifierName": "removeAt"
                },
                "name": "removeAt",
                "leadingComments": null
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 7505,
                  "end": 7511,
                  "loc": {
                    "start": {
                      "line": 233,
                      "column": 11
                    },
                    "end": {
                      "line": 233,
                      "column": 17
                    },
                    "identifierName": "source"
                  },
                  "name": "source"
                },
                {
                  "type": "Identifier",
                  "start": 7513,
                  "end": 7521,
                  "loc": {
                    "start": {
                      "line": 233,
                      "column": 19
                    },
                    "end": {
                      "line": 233,
                      "column": 27
                    },
                    "identifierName": "position"
                  },
                  "name": "position"
                },
                {
                  "type": "Identifier",
                  "start": 7523,
                  "end": 7532,
                  "loc": {
                    "start": {
                      "line": 233,
                      "column": 29
                    },
                    "end": {
                      "line": 233,
                      "column": 38
                    },
                    "identifierName": "moveCaret"
                  },
                  "name": "moveCaret"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 7533,
                "end": 8943,
                "loc": {
                  "start": {
                    "line": 233,
                    "column": 39
                  },
                  "end": {
                    "line": 276,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "IfStatement",
                    "start": 7540,
                    "end": 7621,
                    "loc": {
                      "start": {
                        "line": 234,
                        "column": 4
                      },
                      "end": {
                        "line": 236,
                        "column": 5
                      }
                    },
                    "test": {
                      "type": "BinaryExpression",
                      "start": 7543,
                      "end": 7590,
                      "loc": {
                        "start": {
                          "line": 234,
                          "column": 7
                        },
                        "end": {
                          "line": 234,
                          "column": 54
                        }
                      },
                      "left": {
                        "type": "MemberExpression",
                        "start": 7543,
                        "end": 7584,
                        "loc": {
                          "start": {
                            "line": 234,
                            "column": 7
                          },
                          "end": {
                            "line": 234,
                            "column": 48
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 7543,
                          "end": 7570,
                          "loc": {
                            "start": {
                              "line": 234,
                              "column": 7
                            },
                            "end": {
                              "line": 234,
                              "column": 34
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 7543,
                            "end": 7547,
                            "loc": {
                              "start": {
                                "line": 234,
                                "column": 7
                              },
                              "end": {
                                "line": 234,
                                "column": 11
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7548,
                            "end": 7570,
                            "loc": {
                              "start": {
                                "line": 234,
                                "column": 12
                              },
                              "end": {
                                "line": 234,
                                "column": 34
                              },
                              "identifierName": "simpleKeyboardInstance"
                            },
                            "name": "simpleKeyboardInstance"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 7571,
                          "end": 7584,
                          "loc": {
                            "start": {
                              "line": 234,
                              "column": 35
                            },
                            "end": {
                              "line": 234,
                              "column": 48
                            },
                            "identifierName": "caretPosition"
                          },
                          "name": "caretPosition"
                        },
                        "computed": false
                      },
                      "operator": "===",
                      "right": {
                        "type": "NumericLiteral",
                        "start": 7589,
                        "end": 7590,
                        "loc": {
                          "start": {
                            "line": 234,
                            "column": 53
                          },
                          "end": {
                            "line": 234,
                            "column": 54
                          }
                        },
                        "extra": {
                          "rawValue": 0,
                          "raw": "0"
                        },
                        "value": 0
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 7591,
                      "end": 7621,
                      "loc": {
                        "start": {
                          "line": 234,
                          "column": 55
                        },
                        "end": {
                          "line": 236,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "ReturnStatement",
                          "start": 7600,
                          "end": 7614,
                          "loc": {
                            "start": {
                              "line": 235,
                              "column": 6
                            },
                            "end": {
                              "line": 235,
                              "column": 20
                            }
                          },
                          "argument": {
                            "type": "Identifier",
                            "start": 7607,
                            "end": 7613,
                            "loc": {
                              "start": {
                                "line": 235,
                                "column": 13
                              },
                              "end": {
                                "line": 235,
                                "column": 19
                              },
                              "identifierName": "source"
                            },
                            "name": "source"
                          }
                        }
                      ],
                      "directives": []
                    },
                    "alternate": null
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 7629,
                    "end": 7640,
                    "loc": {
                      "start": {
                        "line": 238,
                        "column": 4
                      },
                      "end": {
                        "line": 238,
                        "column": 15
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 7633,
                        "end": 7639,
                        "loc": {
                          "start": {
                            "line": 238,
                            "column": 8
                          },
                          "end": {
                            "line": 238,
                            "column": 14
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 7633,
                          "end": 7639,
                          "loc": {
                            "start": {
                              "line": 238,
                              "column": 8
                            },
                            "end": {
                              "line": 238,
                              "column": 14
                            },
                            "identifierName": "output"
                          },
                          "name": "output"
                        },
                        "init": null
                      }
                    ],
                    "kind": "let"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 7646,
                    "end": 7663,
                    "loc": {
                      "start": {
                        "line": 239,
                        "column": 4
                      },
                      "end": {
                        "line": 239,
                        "column": 21
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 7650,
                        "end": 7662,
                        "loc": {
                          "start": {
                            "line": 239,
                            "column": 8
                          },
                          "end": {
                            "line": 239,
                            "column": 20
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 7650,
                          "end": 7662,
                          "loc": {
                            "start": {
                              "line": 239,
                              "column": 8
                            },
                            "end": {
                              "line": 239,
                              "column": 20
                            },
                            "identifierName": "prevTwoChars"
                          },
                          "name": "prevTwoChars"
                        },
                        "init": null
                      }
                    ],
                    "kind": "let"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 7669,
                    "end": 7686,
                    "loc": {
                      "start": {
                        "line": 240,
                        "column": 4
                      },
                      "end": {
                        "line": 240,
                        "column": 21
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 7673,
                        "end": 7685,
                        "loc": {
                          "start": {
                            "line": 240,
                            "column": 8
                          },
                          "end": {
                            "line": 240,
                            "column": 20
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 7673,
                          "end": 7685,
                          "loc": {
                            "start": {
                              "line": 240,
                              "column": 8
                            },
                            "end": {
                              "line": 240,
                              "column": 20
                            },
                            "identifierName": "emojiMatched"
                          },
                          "name": "emojiMatched"
                        },
                        "init": null
                      }
                    ],
                    "kind": "let"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 7692,
                    "end": 7750,
                    "loc": {
                      "start": {
                        "line": 241,
                        "column": 4
                      },
                      "end": {
                        "line": 241,
                        "column": 62
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 7696,
                        "end": 7749,
                        "loc": {
                          "start": {
                            "line": 241,
                            "column": 8
                          },
                          "end": {
                            "line": 241,
                            "column": 61
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 7696,
                          "end": 7711,
                          "loc": {
                            "start": {
                              "line": 241,
                              "column": 8
                            },
                            "end": {
                              "line": 241,
                              "column": 23
                            },
                            "identifierName": "emojiMatchedReg"
                          },
                          "name": "emojiMatchedReg"
                        },
                        "init": {
                          "type": "RegExpLiteral",
                          "start": 7714,
                          "end": 7749,
                          "loc": {
                            "start": {
                              "line": 241,
                              "column": 26
                            },
                            "end": {
                              "line": 241,
                              "column": 61
                            }
                          },
                          "extra": {
                            "raw": "/([\\uD800-\\uDBFF][\\uDC00-\\uDFFF])/g"
                          },
                          "pattern": "([\\uD800-\\uDBFF][\\uDC00-\\uDFFF])",
                          "flags": "g"
                        }
                      }
                    ],
                    "kind": "let",
                    "trailingComments": [
                      {
                        "type": "CommentBlock",
                        "value": "*\r\n     * Emojis are made out of two characters, so we must take a custom approach to trim them.\r\n     * For more info: https://mathiasbynens.be/notes/javascript-unicode\r\n     ",
                        "start": 7758,
                        "end": 7938,
                        "loc": {
                          "start": {
                            "line": 243,
                            "column": 4
                          },
                          "end": {
                            "line": 246,
                            "column": 7
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "IfStatement",
                    "start": 7944,
                    "end": 8766,
                    "loc": {
                      "start": {
                        "line": 247,
                        "column": 4
                      },
                      "end": {
                        "line": 269,
                        "column": 5
                      }
                    },
                    "test": {
                      "type": "LogicalExpression",
                      "start": 7947,
                      "end": 7972,
                      "loc": {
                        "start": {
                          "line": 247,
                          "column": 7
                        },
                        "end": {
                          "line": 247,
                          "column": 32
                        }
                      },
                      "left": {
                        "type": "Identifier",
                        "start": 7947,
                        "end": 7955,
                        "loc": {
                          "start": {
                            "line": 247,
                            "column": 7
                          },
                          "end": {
                            "line": 247,
                            "column": 15
                          },
                          "identifierName": "position"
                        },
                        "name": "position",
                        "leadingComments": null
                      },
                      "operator": "&&",
                      "right": {
                        "type": "BinaryExpression",
                        "start": 7959,
                        "end": 7972,
                        "loc": {
                          "start": {
                            "line": 247,
                            "column": 19
                          },
                          "end": {
                            "line": 247,
                            "column": 32
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 7959,
                          "end": 7967,
                          "loc": {
                            "start": {
                              "line": 247,
                              "column": 19
                            },
                            "end": {
                              "line": 247,
                              "column": 27
                            },
                            "identifierName": "position"
                          },
                          "name": "position"
                        },
                        "operator": ">=",
                        "right": {
                          "type": "NumericLiteral",
                          "start": 7971,
                          "end": 7972,
                          "loc": {
                            "start": {
                              "line": 247,
                              "column": 31
                            },
                            "end": {
                              "line": 247,
                              "column": 32
                            }
                          },
                          "extra": {
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "value": 0
                        }
                      },
                      "leadingComments": null
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 7973,
                      "end": 8417,
                      "loc": {
                        "start": {
                          "line": 247,
                          "column": 33
                        },
                        "end": {
                          "line": 258,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 7982,
                          "end": 8037,
                          "loc": {
                            "start": {
                              "line": 248,
                              "column": 6
                            },
                            "end": {
                              "line": 248,
                              "column": 61
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 7982,
                            "end": 8037,
                            "loc": {
                              "start": {
                                "line": 248,
                                "column": 6
                              },
                              "end": {
                                "line": 248,
                                "column": 61
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 7982,
                              "end": 7994,
                              "loc": {
                                "start": {
                                  "line": 248,
                                  "column": 6
                                },
                                "end": {
                                  "line": 248,
                                  "column": 18
                                },
                                "identifierName": "prevTwoChars"
                              },
                              "name": "prevTwoChars"
                            },
                            "right": {
                              "type": "CallExpression",
                              "start": 7997,
                              "end": 8037,
                              "loc": {
                                "start": {
                                  "line": 248,
                                  "column": 21
                                },
                                "end": {
                                  "line": 248,
                                  "column": 61
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 7997,
                                "end": 8013,
                                "loc": {
                                  "start": {
                                    "line": 248,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 248,
                                    "column": 37
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 7997,
                                  "end": 8003,
                                  "loc": {
                                    "start": {
                                      "line": 248,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 248,
                                      "column": 27
                                    },
                                    "identifierName": "source"
                                  },
                                  "name": "source"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8004,
                                  "end": 8013,
                                  "loc": {
                                    "start": {
                                      "line": 248,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 248,
                                      "column": 37
                                    },
                                    "identifierName": "substring"
                                  },
                                  "name": "substring"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "BinaryExpression",
                                  "start": 8014,
                                  "end": 8026,
                                  "loc": {
                                    "start": {
                                      "line": 248,
                                      "column": 38
                                    },
                                    "end": {
                                      "line": 248,
                                      "column": 50
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 8014,
                                    "end": 8022,
                                    "loc": {
                                      "start": {
                                        "line": 248,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 248,
                                        "column": 46
                                      },
                                      "identifierName": "position"
                                    },
                                    "name": "position"
                                  },
                                  "operator": "-",
                                  "right": {
                                    "type": "NumericLiteral",
                                    "start": 8025,
                                    "end": 8026,
                                    "loc": {
                                      "start": {
                                        "line": 248,
                                        "column": 49
                                      },
                                      "end": {
                                        "line": 248,
                                        "column": 50
                                      }
                                    },
                                    "extra": {
                                      "rawValue": 2,
                                      "raw": "2"
                                    },
                                    "value": 2
                                  }
                                },
                                {
                                  "type": "Identifier",
                                  "start": 8028,
                                  "end": 8036,
                                  "loc": {
                                    "start": {
                                      "line": 248,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 248,
                                      "column": 60
                                    },
                                    "identifierName": "position"
                                  },
                                  "name": "position"
                                }
                              ]
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "start": 8045,
                          "end": 8096,
                          "loc": {
                            "start": {
                              "line": 249,
                              "column": 6
                            },
                            "end": {
                              "line": 249,
                              "column": 57
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 8045,
                            "end": 8095,
                            "loc": {
                              "start": {
                                "line": 249,
                                "column": 6
                              },
                              "end": {
                                "line": 249,
                                "column": 56
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 8045,
                              "end": 8057,
                              "loc": {
                                "start": {
                                  "line": 249,
                                  "column": 6
                                },
                                "end": {
                                  "line": 249,
                                  "column": 18
                                },
                                "identifierName": "emojiMatched"
                              },
                              "name": "emojiMatched"
                            },
                            "right": {
                              "type": "CallExpression",
                              "start": 8060,
                              "end": 8095,
                              "loc": {
                                "start": {
                                  "line": 249,
                                  "column": 21
                                },
                                "end": {
                                  "line": 249,
                                  "column": 56
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 8060,
                                "end": 8078,
                                "loc": {
                                  "start": {
                                    "line": 249,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 249,
                                    "column": 39
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 8060,
                                  "end": 8072,
                                  "loc": {
                                    "start": {
                                      "line": 249,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 249,
                                      "column": 33
                                    },
                                    "identifierName": "prevTwoChars"
                                  },
                                  "name": "prevTwoChars"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8073,
                                  "end": 8078,
                                  "loc": {
                                    "start": {
                                      "line": 249,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 249,
                                      "column": 39
                                    },
                                    "identifierName": "match"
                                  },
                                  "name": "match"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 8079,
                                  "end": 8094,
                                  "loc": {
                                    "start": {
                                      "line": 249,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 249,
                                      "column": 55
                                    },
                                    "identifierName": "emojiMatchedReg"
                                  },
                                  "name": "emojiMatchedReg"
                                }
                              ]
                            }
                          }
                        },
                        {
                          "type": "IfStatement",
                          "start": 8106,
                          "end": 8410,
                          "loc": {
                            "start": {
                              "line": 251,
                              "column": 6
                            },
                            "end": {
                              "line": 257,
                              "column": 7
                            }
                          },
                          "test": {
                            "type": "Identifier",
                            "start": 8109,
                            "end": 8121,
                            "loc": {
                              "start": {
                                "line": 251,
                                "column": 9
                              },
                              "end": {
                                "line": 251,
                                "column": 21
                              },
                              "identifierName": "emojiMatched"
                            },
                            "name": "emojiMatched"
                          },
                          "consequent": {
                            "type": "BlockStatement",
                            "start": 8122,
                            "end": 8263,
                            "loc": {
                              "start": {
                                "line": 251,
                                "column": 22
                              },
                              "end": {
                                "line": 254,
                                "column": 7
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 8133,
                                "end": 8201,
                                "loc": {
                                  "start": {
                                    "line": 252,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 252,
                                    "column": 76
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 8133,
                                  "end": 8200,
                                  "loc": {
                                    "start": {
                                      "line": 252,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 252,
                                      "column": 75
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "Identifier",
                                    "start": 8133,
                                    "end": 8139,
                                    "loc": {
                                      "start": {
                                        "line": 252,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 252,
                                        "column": 14
                                      },
                                      "identifierName": "output"
                                    },
                                    "name": "output"
                                  },
                                  "right": {
                                    "type": "BinaryExpression",
                                    "start": 8142,
                                    "end": 8200,
                                    "loc": {
                                      "start": {
                                        "line": 252,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 252,
                                        "column": 75
                                      }
                                    },
                                    "left": {
                                      "type": "CallExpression",
                                      "start": 8142,
                                      "end": 8174,
                                      "loc": {
                                        "start": {
                                          "line": 252,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 252,
                                          "column": 49
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 8142,
                                        "end": 8155,
                                        "loc": {
                                          "start": {
                                            "line": 252,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 252,
                                            "column": 30
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 8142,
                                          "end": 8148,
                                          "loc": {
                                            "start": {
                                              "line": 252,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 252,
                                              "column": 23
                                            },
                                            "identifierName": "source"
                                          },
                                          "name": "source"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 8149,
                                          "end": 8155,
                                          "loc": {
                                            "start": {
                                              "line": 252,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 252,
                                              "column": 30
                                            },
                                            "identifierName": "substr"
                                          },
                                          "name": "substr"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "NumericLiteral",
                                          "start": 8156,
                                          "end": 8157,
                                          "loc": {
                                            "start": {
                                              "line": 252,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 252,
                                              "column": 32
                                            }
                                          },
                                          "extra": {
                                            "rawValue": 0,
                                            "raw": "0"
                                          },
                                          "value": 0
                                        },
                                        {
                                          "type": "BinaryExpression",
                                          "start": 8160,
                                          "end": 8172,
                                          "loc": {
                                            "start": {
                                              "line": 252,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 252,
                                              "column": 47
                                            }
                                          },
                                          "left": {
                                            "type": "Identifier",
                                            "start": 8160,
                                            "end": 8168,
                                            "loc": {
                                              "start": {
                                                "line": 252,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 252,
                                                "column": 43
                                              },
                                              "identifierName": "position"
                                            },
                                            "name": "position"
                                          },
                                          "operator": "-",
                                          "right": {
                                            "type": "NumericLiteral",
                                            "start": 8171,
                                            "end": 8172,
                                            "loc": {
                                              "start": {
                                                "line": 252,
                                                "column": 46
                                              },
                                              "end": {
                                                "line": 252,
                                                "column": 47
                                              }
                                            },
                                            "extra": {
                                              "rawValue": 2,
                                              "raw": "2"
                                            },
                                            "value": 2
                                          },
                                          "extra": {
                                            "parenthesized": true,
                                            "parenStart": 8159
                                          }
                                        }
                                      ]
                                    },
                                    "operator": "+",
                                    "right": {
                                      "type": "CallExpression",
                                      "start": 8177,
                                      "end": 8200,
                                      "loc": {
                                        "start": {
                                          "line": 252,
                                          "column": 52
                                        },
                                        "end": {
                                          "line": 252,
                                          "column": 75
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 8177,
                                        "end": 8190,
                                        "loc": {
                                          "start": {
                                            "line": 252,
                                            "column": 52
                                          },
                                          "end": {
                                            "line": 252,
                                            "column": 65
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 8177,
                                          "end": 8183,
                                          "loc": {
                                            "start": {
                                              "line": 252,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 252,
                                              "column": 58
                                            },
                                            "identifierName": "source"
                                          },
                                          "name": "source"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 8184,
                                          "end": 8190,
                                          "loc": {
                                            "start": {
                                              "line": 252,
                                              "column": 59
                                            },
                                            "end": {
                                              "line": 252,
                                              "column": 65
                                            },
                                            "identifierName": "substr"
                                          },
                                          "name": "substr"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 8191,
                                          "end": 8199,
                                          "loc": {
                                            "start": {
                                              "line": 252,
                                              "column": 66
                                            },
                                            "end": {
                                              "line": 252,
                                              "column": 74
                                            },
                                            "identifierName": "position"
                                          },
                                          "name": "position"
                                        }
                                      ]
                                    }
                                  }
                                }
                              },
                              {
                                "type": "IfStatement",
                                "start": 8211,
                                "end": 8254,
                                "loc": {
                                  "start": {
                                    "line": 253,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 253,
                                    "column": 51
                                  }
                                },
                                "test": {
                                  "type": "Identifier",
                                  "start": 8214,
                                  "end": 8223,
                                  "loc": {
                                    "start": {
                                      "line": 253,
                                      "column": 11
                                    },
                                    "end": {
                                      "line": 253,
                                      "column": 20
                                    },
                                    "identifierName": "moveCaret"
                                  },
                                  "name": "moveCaret"
                                },
                                "consequent": {
                                  "type": "ExpressionStatement",
                                  "start": 8225,
                                  "end": 8254,
                                  "loc": {
                                    "start": {
                                      "line": 253,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 253,
                                      "column": 51
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 8225,
                                    "end": 8253,
                                    "loc": {
                                      "start": {
                                        "line": 253,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 253,
                                        "column": 50
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 8225,
                                      "end": 8244,
                                      "loc": {
                                        "start": {
                                          "line": 253,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 253,
                                          "column": 41
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 8225,
                                        "end": 8229,
                                        "loc": {
                                          "start": {
                                            "line": 253,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 253,
                                            "column": 26
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 8230,
                                        "end": 8244,
                                        "loc": {
                                          "start": {
                                            "line": 253,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 253,
                                            "column": 41
                                          },
                                          "identifierName": "updateCaretPos"
                                        },
                                        "name": "updateCaretPos"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "NumericLiteral",
                                        "start": 8245,
                                        "end": 8246,
                                        "loc": {
                                          "start": {
                                            "line": 253,
                                            "column": 42
                                          },
                                          "end": {
                                            "line": 253,
                                            "column": 43
                                          }
                                        },
                                        "extra": {
                                          "rawValue": 2,
                                          "raw": "2"
                                        },
                                        "value": 2
                                      },
                                      {
                                        "type": "BooleanLiteral",
                                        "start": 8248,
                                        "end": 8252,
                                        "loc": {
                                          "start": {
                                            "line": 253,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 253,
                                            "column": 49
                                          }
                                        },
                                        "value": true
                                      }
                                    ]
                                  }
                                },
                                "alternate": null
                              }
                            ],
                            "directives": []
                          },
                          "alternate": {
                            "type": "BlockStatement",
                            "start": 8269,
                            "end": 8410,
                            "loc": {
                              "start": {
                                "line": 254,
                                "column": 13
                              },
                              "end": {
                                "line": 257,
                                "column": 7
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 8280,
                                "end": 8348,
                                "loc": {
                                  "start": {
                                    "line": 255,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 255,
                                    "column": 76
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 8280,
                                  "end": 8347,
                                  "loc": {
                                    "start": {
                                      "line": 255,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 255,
                                      "column": 75
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "Identifier",
                                    "start": 8280,
                                    "end": 8286,
                                    "loc": {
                                      "start": {
                                        "line": 255,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 255,
                                        "column": 14
                                      },
                                      "identifierName": "output"
                                    },
                                    "name": "output"
                                  },
                                  "right": {
                                    "type": "BinaryExpression",
                                    "start": 8289,
                                    "end": 8347,
                                    "loc": {
                                      "start": {
                                        "line": 255,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 255,
                                        "column": 75
                                      }
                                    },
                                    "left": {
                                      "type": "CallExpression",
                                      "start": 8289,
                                      "end": 8321,
                                      "loc": {
                                        "start": {
                                          "line": 255,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 255,
                                          "column": 49
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 8289,
                                        "end": 8302,
                                        "loc": {
                                          "start": {
                                            "line": 255,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 255,
                                            "column": 30
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 8289,
                                          "end": 8295,
                                          "loc": {
                                            "start": {
                                              "line": 255,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 255,
                                              "column": 23
                                            },
                                            "identifierName": "source"
                                          },
                                          "name": "source"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 8296,
                                          "end": 8302,
                                          "loc": {
                                            "start": {
                                              "line": 255,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 255,
                                              "column": 30
                                            },
                                            "identifierName": "substr"
                                          },
                                          "name": "substr"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "NumericLiteral",
                                          "start": 8303,
                                          "end": 8304,
                                          "loc": {
                                            "start": {
                                              "line": 255,
                                              "column": 31
                                            },
                                            "end": {
                                              "line": 255,
                                              "column": 32
                                            }
                                          },
                                          "extra": {
                                            "rawValue": 0,
                                            "raw": "0"
                                          },
                                          "value": 0
                                        },
                                        {
                                          "type": "BinaryExpression",
                                          "start": 8307,
                                          "end": 8319,
                                          "loc": {
                                            "start": {
                                              "line": 255,
                                              "column": 35
                                            },
                                            "end": {
                                              "line": 255,
                                              "column": 47
                                            }
                                          },
                                          "left": {
                                            "type": "Identifier",
                                            "start": 8307,
                                            "end": 8315,
                                            "loc": {
                                              "start": {
                                                "line": 255,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 255,
                                                "column": 43
                                              },
                                              "identifierName": "position"
                                            },
                                            "name": "position"
                                          },
                                          "operator": "-",
                                          "right": {
                                            "type": "NumericLiteral",
                                            "start": 8318,
                                            "end": 8319,
                                            "loc": {
                                              "start": {
                                                "line": 255,
                                                "column": 46
                                              },
                                              "end": {
                                                "line": 255,
                                                "column": 47
                                              }
                                            },
                                            "extra": {
                                              "rawValue": 1,
                                              "raw": "1"
                                            },
                                            "value": 1
                                          },
                                          "extra": {
                                            "parenthesized": true,
                                            "parenStart": 8306
                                          }
                                        }
                                      ]
                                    },
                                    "operator": "+",
                                    "right": {
                                      "type": "CallExpression",
                                      "start": 8324,
                                      "end": 8347,
                                      "loc": {
                                        "start": {
                                          "line": 255,
                                          "column": 52
                                        },
                                        "end": {
                                          "line": 255,
                                          "column": 75
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 8324,
                                        "end": 8337,
                                        "loc": {
                                          "start": {
                                            "line": 255,
                                            "column": 52
                                          },
                                          "end": {
                                            "line": 255,
                                            "column": 65
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 8324,
                                          "end": 8330,
                                          "loc": {
                                            "start": {
                                              "line": 255,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 255,
                                              "column": 58
                                            },
                                            "identifierName": "source"
                                          },
                                          "name": "source"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 8331,
                                          "end": 8337,
                                          "loc": {
                                            "start": {
                                              "line": 255,
                                              "column": 59
                                            },
                                            "end": {
                                              "line": 255,
                                              "column": 65
                                            },
                                            "identifierName": "substr"
                                          },
                                          "name": "substr"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 8338,
                                          "end": 8346,
                                          "loc": {
                                            "start": {
                                              "line": 255,
                                              "column": 66
                                            },
                                            "end": {
                                              "line": 255,
                                              "column": 74
                                            },
                                            "identifierName": "position"
                                          },
                                          "name": "position"
                                        }
                                      ]
                                    }
                                  }
                                }
                              },
                              {
                                "type": "IfStatement",
                                "start": 8358,
                                "end": 8401,
                                "loc": {
                                  "start": {
                                    "line": 256,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 256,
                                    "column": 51
                                  }
                                },
                                "test": {
                                  "type": "Identifier",
                                  "start": 8361,
                                  "end": 8370,
                                  "loc": {
                                    "start": {
                                      "line": 256,
                                      "column": 11
                                    },
                                    "end": {
                                      "line": 256,
                                      "column": 20
                                    },
                                    "identifierName": "moveCaret"
                                  },
                                  "name": "moveCaret"
                                },
                                "consequent": {
                                  "type": "ExpressionStatement",
                                  "start": 8372,
                                  "end": 8401,
                                  "loc": {
                                    "start": {
                                      "line": 256,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 256,
                                      "column": 51
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 8372,
                                    "end": 8400,
                                    "loc": {
                                      "start": {
                                        "line": 256,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 256,
                                        "column": 50
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 8372,
                                      "end": 8391,
                                      "loc": {
                                        "start": {
                                          "line": 256,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 256,
                                          "column": 41
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 8372,
                                        "end": 8376,
                                        "loc": {
                                          "start": {
                                            "line": 256,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 256,
                                            "column": 26
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 8377,
                                        "end": 8391,
                                        "loc": {
                                          "start": {
                                            "line": 256,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 256,
                                            "column": 41
                                          },
                                          "identifierName": "updateCaretPos"
                                        },
                                        "name": "updateCaretPos"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "NumericLiteral",
                                        "start": 8392,
                                        "end": 8393,
                                        "loc": {
                                          "start": {
                                            "line": 256,
                                            "column": 42
                                          },
                                          "end": {
                                            "line": 256,
                                            "column": 43
                                          }
                                        },
                                        "extra": {
                                          "rawValue": 1,
                                          "raw": "1"
                                        },
                                        "value": 1
                                      },
                                      {
                                        "type": "BooleanLiteral",
                                        "start": 8395,
                                        "end": 8399,
                                        "loc": {
                                          "start": {
                                            "line": 256,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 256,
                                            "column": 49
                                          }
                                        },
                                        "value": true
                                      }
                                    ]
                                  }
                                },
                                "alternate": null
                              }
                            ],
                            "directives": []
                          }
                        }
                      ],
                      "directives": []
                    },
                    "alternate": {
                      "type": "BlockStatement",
                      "start": 8423,
                      "end": 8766,
                      "loc": {
                        "start": {
                          "line": 258,
                          "column": 11
                        },
                        "end": {
                          "line": 269,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 8432,
                          "end": 8464,
                          "loc": {
                            "start": {
                              "line": 259,
                              "column": 6
                            },
                            "end": {
                              "line": 259,
                              "column": 38
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 8432,
                            "end": 8463,
                            "loc": {
                              "start": {
                                "line": 259,
                                "column": 6
                              },
                              "end": {
                                "line": 259,
                                "column": 37
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 8432,
                              "end": 8444,
                              "loc": {
                                "start": {
                                  "line": 259,
                                  "column": 6
                                },
                                "end": {
                                  "line": 259,
                                  "column": 18
                                },
                                "identifierName": "prevTwoChars"
                              },
                              "name": "prevTwoChars"
                            },
                            "right": {
                              "type": "CallExpression",
                              "start": 8447,
                              "end": 8463,
                              "loc": {
                                "start": {
                                  "line": 259,
                                  "column": 21
                                },
                                "end": {
                                  "line": 259,
                                  "column": 37
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 8447,
                                "end": 8459,
                                "loc": {
                                  "start": {
                                    "line": 259,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 259,
                                    "column": 33
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 8447,
                                  "end": 8453,
                                  "loc": {
                                    "start": {
                                      "line": 259,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 259,
                                      "column": 27
                                    },
                                    "identifierName": "source"
                                  },
                                  "name": "source"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8454,
                                  "end": 8459,
                                  "loc": {
                                    "start": {
                                      "line": 259,
                                      "column": 28
                                    },
                                    "end": {
                                      "line": 259,
                                      "column": 33
                                    },
                                    "identifierName": "slice"
                                  },
                                  "name": "slice"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "UnaryExpression",
                                  "start": 8460,
                                  "end": 8462,
                                  "loc": {
                                    "start": {
                                      "line": 259,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 259,
                                      "column": 36
                                    }
                                  },
                                  "operator": "-",
                                  "prefix": true,
                                  "argument": {
                                    "type": "NumericLiteral",
                                    "start": 8461,
                                    "end": 8462,
                                    "loc": {
                                      "start": {
                                        "line": 259,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 259,
                                        "column": 36
                                      }
                                    },
                                    "extra": {
                                      "rawValue": 2,
                                      "raw": "2"
                                    },
                                    "value": 2
                                  },
                                  "extra": {
                                    "parenthesizedArgument": false
                                  }
                                }
                              ]
                            }
                          }
                        },
                        {
                          "type": "ExpressionStatement",
                          "start": 8472,
                          "end": 8523,
                          "loc": {
                            "start": {
                              "line": 260,
                              "column": 6
                            },
                            "end": {
                              "line": 260,
                              "column": 57
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 8472,
                            "end": 8522,
                            "loc": {
                              "start": {
                                "line": 260,
                                "column": 6
                              },
                              "end": {
                                "line": 260,
                                "column": 56
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 8472,
                              "end": 8484,
                              "loc": {
                                "start": {
                                  "line": 260,
                                  "column": 6
                                },
                                "end": {
                                  "line": 260,
                                  "column": 18
                                },
                                "identifierName": "emojiMatched"
                              },
                              "name": "emojiMatched"
                            },
                            "right": {
                              "type": "CallExpression",
                              "start": 8487,
                              "end": 8522,
                              "loc": {
                                "start": {
                                  "line": 260,
                                  "column": 21
                                },
                                "end": {
                                  "line": 260,
                                  "column": 56
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 8487,
                                "end": 8505,
                                "loc": {
                                  "start": {
                                    "line": 260,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 260,
                                    "column": 39
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 8487,
                                  "end": 8499,
                                  "loc": {
                                    "start": {
                                      "line": 260,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 260,
                                      "column": 33
                                    },
                                    "identifierName": "prevTwoChars"
                                  },
                                  "name": "prevTwoChars"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8500,
                                  "end": 8505,
                                  "loc": {
                                    "start": {
                                      "line": 260,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 260,
                                      "column": 39
                                    },
                                    "identifierName": "match"
                                  },
                                  "name": "match"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 8506,
                                  "end": 8521,
                                  "loc": {
                                    "start": {
                                      "line": 260,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 260,
                                      "column": 55
                                    },
                                    "identifierName": "emojiMatchedReg"
                                  },
                                  "name": "emojiMatchedReg"
                                }
                              ]
                            }
                          }
                        },
                        {
                          "type": "IfStatement",
                          "start": 8533,
                          "end": 8759,
                          "loc": {
                            "start": {
                              "line": 262,
                              "column": 6
                            },
                            "end": {
                              "line": 268,
                              "column": 7
                            }
                          },
                          "test": {
                            "type": "Identifier",
                            "start": 8536,
                            "end": 8548,
                            "loc": {
                              "start": {
                                "line": 262,
                                "column": 9
                              },
                              "end": {
                                "line": 262,
                                "column": 21
                              },
                              "identifierName": "emojiMatched"
                            },
                            "name": "emojiMatched"
                          },
                          "consequent": {
                            "type": "BlockStatement",
                            "start": 8549,
                            "end": 8651,
                            "loc": {
                              "start": {
                                "line": 262,
                                "column": 22
                              },
                              "end": {
                                "line": 265,
                                "column": 7
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 8560,
                                "end": 8589,
                                "loc": {
                                  "start": {
                                    "line": 263,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 263,
                                    "column": 37
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 8560,
                                  "end": 8588,
                                  "loc": {
                                    "start": {
                                      "line": 263,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 263,
                                      "column": 36
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "Identifier",
                                    "start": 8560,
                                    "end": 8566,
                                    "loc": {
                                      "start": {
                                        "line": 263,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 263,
                                        "column": 14
                                      },
                                      "identifierName": "output"
                                    },
                                    "name": "output"
                                  },
                                  "right": {
                                    "type": "CallExpression",
                                    "start": 8569,
                                    "end": 8588,
                                    "loc": {
                                      "start": {
                                        "line": 263,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 263,
                                        "column": 36
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 8569,
                                      "end": 8581,
                                      "loc": {
                                        "start": {
                                          "line": 263,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 263,
                                          "column": 29
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 8569,
                                        "end": 8575,
                                        "loc": {
                                          "start": {
                                            "line": 263,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 263,
                                            "column": 23
                                          },
                                          "identifierName": "source"
                                        },
                                        "name": "source"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 8576,
                                        "end": 8581,
                                        "loc": {
                                          "start": {
                                            "line": 263,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 263,
                                            "column": 29
                                          },
                                          "identifierName": "slice"
                                        },
                                        "name": "slice"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "NumericLiteral",
                                        "start": 8582,
                                        "end": 8583,
                                        "loc": {
                                          "start": {
                                            "line": 263,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 263,
                                            "column": 31
                                          }
                                        },
                                        "extra": {
                                          "rawValue": 0,
                                          "raw": "0"
                                        },
                                        "value": 0
                                      },
                                      {
                                        "type": "UnaryExpression",
                                        "start": 8585,
                                        "end": 8587,
                                        "loc": {
                                          "start": {
                                            "line": 263,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 263,
                                            "column": 35
                                          }
                                        },
                                        "operator": "-",
                                        "prefix": true,
                                        "argument": {
                                          "type": "NumericLiteral",
                                          "start": 8586,
                                          "end": 8587,
                                          "loc": {
                                            "start": {
                                              "line": 263,
                                              "column": 34
                                            },
                                            "end": {
                                              "line": 263,
                                              "column": 35
                                            }
                                          },
                                          "extra": {
                                            "rawValue": 2,
                                            "raw": "2"
                                          },
                                          "value": 2
                                        },
                                        "extra": {
                                          "parenthesizedArgument": false
                                        }
                                      }
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "IfStatement",
                                "start": 8599,
                                "end": 8642,
                                "loc": {
                                  "start": {
                                    "line": 264,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 264,
                                    "column": 51
                                  }
                                },
                                "test": {
                                  "type": "Identifier",
                                  "start": 8602,
                                  "end": 8611,
                                  "loc": {
                                    "start": {
                                      "line": 264,
                                      "column": 11
                                    },
                                    "end": {
                                      "line": 264,
                                      "column": 20
                                    },
                                    "identifierName": "moveCaret"
                                  },
                                  "name": "moveCaret"
                                },
                                "consequent": {
                                  "type": "ExpressionStatement",
                                  "start": 8613,
                                  "end": 8642,
                                  "loc": {
                                    "start": {
                                      "line": 264,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 264,
                                      "column": 51
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 8613,
                                    "end": 8641,
                                    "loc": {
                                      "start": {
                                        "line": 264,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 264,
                                        "column": 50
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 8613,
                                      "end": 8632,
                                      "loc": {
                                        "start": {
                                          "line": 264,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 264,
                                          "column": 41
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 8613,
                                        "end": 8617,
                                        "loc": {
                                          "start": {
                                            "line": 264,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 264,
                                            "column": 26
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 8618,
                                        "end": 8632,
                                        "loc": {
                                          "start": {
                                            "line": 264,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 264,
                                            "column": 41
                                          },
                                          "identifierName": "updateCaretPos"
                                        },
                                        "name": "updateCaretPos"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "NumericLiteral",
                                        "start": 8633,
                                        "end": 8634,
                                        "loc": {
                                          "start": {
                                            "line": 264,
                                            "column": 42
                                          },
                                          "end": {
                                            "line": 264,
                                            "column": 43
                                          }
                                        },
                                        "extra": {
                                          "rawValue": 2,
                                          "raw": "2"
                                        },
                                        "value": 2
                                      },
                                      {
                                        "type": "BooleanLiteral",
                                        "start": 8636,
                                        "end": 8640,
                                        "loc": {
                                          "start": {
                                            "line": 264,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 264,
                                            "column": 49
                                          }
                                        },
                                        "value": true
                                      }
                                    ]
                                  }
                                },
                                "alternate": null
                              }
                            ],
                            "directives": []
                          },
                          "alternate": {
                            "type": "BlockStatement",
                            "start": 8657,
                            "end": 8759,
                            "loc": {
                              "start": {
                                "line": 265,
                                "column": 13
                              },
                              "end": {
                                "line": 268,
                                "column": 7
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 8668,
                                "end": 8697,
                                "loc": {
                                  "start": {
                                    "line": 266,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 266,
                                    "column": 37
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 8668,
                                  "end": 8696,
                                  "loc": {
                                    "start": {
                                      "line": 266,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 266,
                                      "column": 36
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "Identifier",
                                    "start": 8668,
                                    "end": 8674,
                                    "loc": {
                                      "start": {
                                        "line": 266,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 266,
                                        "column": 14
                                      },
                                      "identifierName": "output"
                                    },
                                    "name": "output"
                                  },
                                  "right": {
                                    "type": "CallExpression",
                                    "start": 8677,
                                    "end": 8696,
                                    "loc": {
                                      "start": {
                                        "line": 266,
                                        "column": 17
                                      },
                                      "end": {
                                        "line": 266,
                                        "column": 36
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 8677,
                                      "end": 8689,
                                      "loc": {
                                        "start": {
                                          "line": 266,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 266,
                                          "column": 29
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 8677,
                                        "end": 8683,
                                        "loc": {
                                          "start": {
                                            "line": 266,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 266,
                                            "column": 23
                                          },
                                          "identifierName": "source"
                                        },
                                        "name": "source"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 8684,
                                        "end": 8689,
                                        "loc": {
                                          "start": {
                                            "line": 266,
                                            "column": 24
                                          },
                                          "end": {
                                            "line": 266,
                                            "column": 29
                                          },
                                          "identifierName": "slice"
                                        },
                                        "name": "slice"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "NumericLiteral",
                                        "start": 8690,
                                        "end": 8691,
                                        "loc": {
                                          "start": {
                                            "line": 266,
                                            "column": 30
                                          },
                                          "end": {
                                            "line": 266,
                                            "column": 31
                                          }
                                        },
                                        "extra": {
                                          "rawValue": 0,
                                          "raw": "0"
                                        },
                                        "value": 0
                                      },
                                      {
                                        "type": "UnaryExpression",
                                        "start": 8693,
                                        "end": 8695,
                                        "loc": {
                                          "start": {
                                            "line": 266,
                                            "column": 33
                                          },
                                          "end": {
                                            "line": 266,
                                            "column": 35
                                          }
                                        },
                                        "operator": "-",
                                        "prefix": true,
                                        "argument": {
                                          "type": "NumericLiteral",
                                          "start": 8694,
                                          "end": 8695,
                                          "loc": {
                                            "start": {
                                              "line": 266,
                                              "column": 34
                                            },
                                            "end": {
                                              "line": 266,
                                              "column": 35
                                            }
                                          },
                                          "extra": {
                                            "rawValue": 1,
                                            "raw": "1"
                                          },
                                          "value": 1
                                        },
                                        "extra": {
                                          "parenthesizedArgument": false
                                        }
                                      }
                                    ]
                                  }
                                }
                              },
                              {
                                "type": "IfStatement",
                                "start": 8707,
                                "end": 8750,
                                "loc": {
                                  "start": {
                                    "line": 267,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 267,
                                    "column": 51
                                  }
                                },
                                "test": {
                                  "type": "Identifier",
                                  "start": 8710,
                                  "end": 8719,
                                  "loc": {
                                    "start": {
                                      "line": 267,
                                      "column": 11
                                    },
                                    "end": {
                                      "line": 267,
                                      "column": 20
                                    },
                                    "identifierName": "moveCaret"
                                  },
                                  "name": "moveCaret"
                                },
                                "consequent": {
                                  "type": "ExpressionStatement",
                                  "start": 8721,
                                  "end": 8750,
                                  "loc": {
                                    "start": {
                                      "line": 267,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 267,
                                      "column": 51
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 8721,
                                    "end": 8749,
                                    "loc": {
                                      "start": {
                                        "line": 267,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 267,
                                        "column": 50
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 8721,
                                      "end": 8740,
                                      "loc": {
                                        "start": {
                                          "line": 267,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 267,
                                          "column": 41
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 8721,
                                        "end": 8725,
                                        "loc": {
                                          "start": {
                                            "line": 267,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 267,
                                            "column": 26
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 8726,
                                        "end": 8740,
                                        "loc": {
                                          "start": {
                                            "line": 267,
                                            "column": 27
                                          },
                                          "end": {
                                            "line": 267,
                                            "column": 41
                                          },
                                          "identifierName": "updateCaretPos"
                                        },
                                        "name": "updateCaretPos"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "NumericLiteral",
                                        "start": 8741,
                                        "end": 8742,
                                        "loc": {
                                          "start": {
                                            "line": 267,
                                            "column": 42
                                          },
                                          "end": {
                                            "line": 267,
                                            "column": 43
                                          }
                                        },
                                        "extra": {
                                          "rawValue": 1,
                                          "raw": "1"
                                        },
                                        "value": 1
                                      },
                                      {
                                        "type": "BooleanLiteral",
                                        "start": 8744,
                                        "end": 8748,
                                        "loc": {
                                          "start": {
                                            "line": 267,
                                            "column": 45
                                          },
                                          "end": {
                                            "line": 267,
                                            "column": 49
                                          }
                                        },
                                        "value": true
                                      }
                                    ]
                                  }
                                },
                                "alternate": null
                              }
                            ],
                            "directives": []
                          }
                        }
                      ],
                      "directives": []
                    },
                    "leadingComments": [
                      {
                        "type": "CommentBlock",
                        "value": "*\r\n     * Emojis are made out of two characters, so we must take a custom approach to trim them.\r\n     * For more info: https://mathiasbynens.be/notes/javascript-unicode\r\n     ",
                        "start": 7758,
                        "end": 7938,
                        "loc": {
                          "start": {
                            "line": 243,
                            "column": 4
                          },
                          "end": {
                            "line": 246,
                            "column": 7
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "IfStatement",
                    "start": 8774,
                    "end": 8916,
                    "loc": {
                      "start": {
                        "line": 271,
                        "column": 4
                      },
                      "end": {
                        "line": 273,
                        "column": 5
                      }
                    },
                    "test": {
                      "type": "LogicalExpression",
                      "start": 8777,
                      "end": 8831,
                      "loc": {
                        "start": {
                          "line": 271,
                          "column": 7
                        },
                        "end": {
                          "line": 271,
                          "column": 61
                        }
                      },
                      "left": {
                        "type": "MemberExpression",
                        "start": 8777,
                        "end": 8818,
                        "loc": {
                          "start": {
                            "line": 271,
                            "column": 7
                          },
                          "end": {
                            "line": 271,
                            "column": 48
                          }
                        },
                        "object": {
                          "type": "MemberExpression",
                          "start": 8777,
                          "end": 8812,
                          "loc": {
                            "start": {
                              "line": 271,
                              "column": 7
                            },
                            "end": {
                              "line": 271,
                              "column": 42
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 8777,
                            "end": 8804,
                            "loc": {
                              "start": {
                                "line": 271,
                                "column": 7
                              },
                              "end": {
                                "line": 271,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 8777,
                              "end": 8781,
                              "loc": {
                                "start": {
                                  "line": 271,
                                  "column": 7
                                },
                                "end": {
                                  "line": 271,
                                  "column": 11
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8782,
                              "end": 8804,
                              "loc": {
                                "start": {
                                  "line": 271,
                                  "column": 12
                                },
                                "end": {
                                  "line": 271,
                                  "column": 34
                                },
                                "identifierName": "simpleKeyboardInstance"
                              },
                              "name": "simpleKeyboardInstance"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8805,
                            "end": 8812,
                            "loc": {
                              "start": {
                                "line": 271,
                                "column": 35
                              },
                              "end": {
                                "line": 271,
                                "column": 42
                              },
                              "identifierName": "options"
                            },
                            "name": "options"
                          },
                          "computed": false
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 8813,
                          "end": 8818,
                          "loc": {
                            "start": {
                              "line": 271,
                              "column": 43
                            },
                            "end": {
                              "line": 271,
                              "column": 48
                            },
                            "identifierName": "debug"
                          },
                          "name": "debug"
                        },
                        "computed": false
                      },
                      "operator": "&&",
                      "right": {
                        "type": "Identifier",
                        "start": 8822,
                        "end": 8831,
                        "loc": {
                          "start": {
                            "line": 271,
                            "column": 52
                          },
                          "end": {
                            "line": 271,
                            "column": 61
                          },
                          "identifierName": "moveCaret"
                        },
                        "name": "moveCaret"
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 8832,
                      "end": 8916,
                      "loc": {
                        "start": {
                          "line": 271,
                          "column": 62
                        },
                        "end": {
                          "line": 273,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "ExpressionStatement",
                          "start": 8841,
                          "end": 8909,
                          "loc": {
                            "start": {
                              "line": 272,
                              "column": 6
                            },
                            "end": {
                              "line": 272,
                              "column": 74
                            }
                          },
                          "expression": {
                            "type": "CallExpression",
                            "start": 8841,
                            "end": 8908,
                            "loc": {
                              "start": {
                                "line": 272,
                                "column": 6
                              },
                              "end": {
                                "line": 272,
                                "column": 73
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 8841,
                              "end": 8852,
                              "loc": {
                                "start": {
                                  "line": 272,
                                  "column": 6
                                },
                                "end": {
                                  "line": 272,
                                  "column": 17
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 8841,
                                "end": 8848,
                                "loc": {
                                  "start": {
                                    "line": 272,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 272,
                                    "column": 13
                                  },
                                  "identifierName": "console"
                                },
                                "name": "console"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8849,
                                "end": 8852,
                                "loc": {
                                  "start": {
                                    "line": 272,
                                    "column": 14
                                  },
                                  "end": {
                                    "line": 272,
                                    "column": 17
                                  },
                                  "identifierName": "log"
                                },
                                "name": "log"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "StringLiteral",
                                "start": 8853,
                                "end": 8864,
                                "loc": {
                                  "start": {
                                    "line": 272,
                                    "column": 18
                                  },
                                  "end": {
                                    "line": 272,
                                    "column": 29
                                  }
                                },
                                "extra": {
                                  "rawValue": "Caret at:",
                                  "raw": "\"Caret at:\""
                                },
                                "value": "Caret at:"
                              },
                              {
                                "type": "MemberExpression",
                                "start": 8866,
                                "end": 8907,
                                "loc": {
                                  "start": {
                                    "line": 272,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 272,
                                    "column": 72
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 8866,
                                  "end": 8893,
                                  "loc": {
                                    "start": {
                                      "line": 272,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 272,
                                      "column": 58
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 8866,
                                    "end": 8870,
                                    "loc": {
                                      "start": {
                                        "line": 272,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 272,
                                        "column": 35
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 8871,
                                    "end": 8893,
                                    "loc": {
                                      "start": {
                                        "line": 272,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 272,
                                        "column": 58
                                      },
                                      "identifierName": "simpleKeyboardInstance"
                                    },
                                    "name": "simpleKeyboardInstance"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8894,
                                  "end": 8907,
                                  "loc": {
                                    "start": {
                                      "line": 272,
                                      "column": 59
                                    },
                                    "end": {
                                      "line": 272,
                                      "column": 72
                                    },
                                    "identifierName": "caretPosition"
                                  },
                                  "name": "caretPosition"
                                },
                                "computed": false
                              }
                            ]
                          }
                        }
                      ],
                      "directives": []
                    },
                    "alternate": null
                  },
                  {
                    "type": "ReturnStatement",
                    "start": 8924,
                    "end": 8938,
                    "loc": {
                      "start": {
                        "line": 275,
                        "column": 4
                      },
                      "end": {
                        "line": 275,
                        "column": 18
                      }
                    },
                    "argument": {
                      "type": "Identifier",
                      "start": 8931,
                      "end": 8937,
                      "loc": {
                        "start": {
                          "line": 275,
                          "column": 11
                        },
                        "end": {
                          "line": 275,
                          "column": 17
                        },
                        "identifierName": "output"
                      },
                      "name": "output"
                    }
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Removes an amount of characters at a given position\r\n   * \r\n   * @param  {string} source The source input\r\n   * @param  {number} position The (cursor) position from where the characters should be removed\r\n   * @param  {boolean} moveCaret Whether to update simple-keyboard's cursor\r\n   ",
                  "start": 7195,
                  "end": 7492,
                  "loc": {
                    "start": {
                      "line": 226,
                      "column": 2
                    },
                    "end": {
                      "line": 232,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Determines whether the maxLength has been reached. This function is called when the maxLength option it set.\r\n   * \r\n   * @param  {object} inputObj\r\n   * @param  {object} options\r\n   * @param  {string} updatedInput\r\n   ",
                  "start": 8947,
                  "end": 9178,
                  "loc": {
                    "start": {
                      "line": 277,
                      "column": 2
                    },
                    "end": {
                      "line": 283,
                      "column": 5
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 9182,
              "end": 10438,
              "loc": {
                "start": {
                  "line": 284,
                  "column": 2
                },
                "end": {
                  "line": 331,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 9182,
                "end": 9197,
                "loc": {
                  "start": {
                    "line": 284,
                    "column": 2
                  },
                  "end": {
                    "line": 284,
                    "column": 17
                  },
                  "identifierName": "handleMaxLength"
                },
                "name": "handleMaxLength",
                "leadingComments": null
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 9198,
                  "end": 9206,
                  "loc": {
                    "start": {
                      "line": 284,
                      "column": 18
                    },
                    "end": {
                      "line": 284,
                      "column": 26
                    },
                    "identifierName": "inputObj"
                  },
                  "name": "inputObj"
                },
                {
                  "type": "Identifier",
                  "start": 9208,
                  "end": 9215,
                  "loc": {
                    "start": {
                      "line": 284,
                      "column": 28
                    },
                    "end": {
                      "line": 284,
                      "column": 35
                    },
                    "identifierName": "options"
                  },
                  "name": "options"
                },
                {
                  "type": "Identifier",
                  "start": 9217,
                  "end": 9229,
                  "loc": {
                    "start": {
                      "line": 284,
                      "column": 37
                    },
                    "end": {
                      "line": 284,
                      "column": 49
                    },
                    "identifierName": "updatedInput"
                  },
                  "name": "updatedInput"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 9230,
                "end": 10438,
                "loc": {
                  "start": {
                    "line": 284,
                    "column": 50
                  },
                  "end": {
                    "line": 331,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "VariableDeclaration",
                    "start": 9237,
                    "end": 9271,
                    "loc": {
                      "start": {
                        "line": 285,
                        "column": 4
                      },
                      "end": {
                        "line": 285,
                        "column": 38
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 9241,
                        "end": 9270,
                        "loc": {
                          "start": {
                            "line": 285,
                            "column": 8
                          },
                          "end": {
                            "line": 285,
                            "column": 37
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 9241,
                          "end": 9250,
                          "loc": {
                            "start": {
                              "line": 285,
                              "column": 8
                            },
                            "end": {
                              "line": 285,
                              "column": 17
                            },
                            "identifierName": "maxLength"
                          },
                          "name": "maxLength"
                        },
                        "init": {
                          "type": "MemberExpression",
                          "start": 9253,
                          "end": 9270,
                          "loc": {
                            "start": {
                              "line": 285,
                              "column": 20
                            },
                            "end": {
                              "line": 285,
                              "column": 37
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 9253,
                            "end": 9260,
                            "loc": {
                              "start": {
                                "line": 285,
                                "column": 20
                              },
                              "end": {
                                "line": 285,
                                "column": 27
                              },
                              "identifierName": "options"
                            },
                            "name": "options"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9261,
                            "end": 9270,
                            "loc": {
                              "start": {
                                "line": 285,
                                "column": 28
                              },
                              "end": {
                                "line": 285,
                                "column": 37
                              },
                              "identifierName": "maxLength"
                            },
                            "name": "maxLength"
                          },
                          "computed": false
                        }
                      }
                    ],
                    "kind": "let"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 9277,
                    "end": 9324,
                    "loc": {
                      "start": {
                        "line": 286,
                        "column": 4
                      },
                      "end": {
                        "line": 286,
                        "column": 51
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 9281,
                        "end": 9323,
                        "loc": {
                          "start": {
                            "line": 286,
                            "column": 8
                          },
                          "end": {
                            "line": 286,
                            "column": 50
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 9281,
                          "end": 9293,
                          "loc": {
                            "start": {
                              "line": 286,
                              "column": 8
                            },
                            "end": {
                              "line": 286,
                              "column": 20
                            },
                            "identifierName": "currentInput"
                          },
                          "name": "currentInput"
                        },
                        "init": {
                          "type": "MemberExpression",
                          "start": 9296,
                          "end": 9323,
                          "loc": {
                            "start": {
                              "line": 286,
                              "column": 23
                            },
                            "end": {
                              "line": 286,
                              "column": 50
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 9296,
                            "end": 9304,
                            "loc": {
                              "start": {
                                "line": 286,
                                "column": 23
                              },
                              "end": {
                                "line": 286,
                                "column": 31
                              },
                              "identifierName": "inputObj"
                            },
                            "name": "inputObj"
                          },
                          "property": {
                            "type": "MemberExpression",
                            "start": 9305,
                            "end": 9322,
                            "loc": {
                              "start": {
                                "line": 286,
                                "column": 32
                              },
                              "end": {
                                "line": 286,
                                "column": 49
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 9305,
                              "end": 9312,
                              "loc": {
                                "start": {
                                  "line": 286,
                                  "column": 32
                                },
                                "end": {
                                  "line": 286,
                                  "column": 39
                                },
                                "identifierName": "options"
                              },
                              "name": "options"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9313,
                              "end": 9322,
                              "loc": {
                                "start": {
                                  "line": 286,
                                  "column": 40
                                },
                                "end": {
                                  "line": 286,
                                  "column": 49
                                },
                                "identifierName": "inputName"
                              },
                              "name": "inputName"
                            },
                            "computed": false
                          },
                          "computed": true
                        }
                      }
                    ],
                    "kind": "let"
                  },
                  {
                    "type": "VariableDeclaration",
                    "start": 9330,
                    "end": 9380,
                    "loc": {
                      "start": {
                        "line": 287,
                        "column": 4
                      },
                      "end": {
                        "line": 287,
                        "column": 54
                      }
                    },
                    "declarations": [
                      {
                        "type": "VariableDeclarator",
                        "start": 9334,
                        "end": 9379,
                        "loc": {
                          "start": {
                            "line": 287,
                            "column": 8
                          },
                          "end": {
                            "line": 287,
                            "column": 53
                          }
                        },
                        "id": {
                          "type": "Identifier",
                          "start": 9334,
                          "end": 9343,
                          "loc": {
                            "start": {
                              "line": 287,
                              "column": 8
                            },
                            "end": {
                              "line": 287,
                              "column": 17
                            },
                            "identifierName": "condition"
                          },
                          "name": "condition"
                        },
                        "init": {
                          "type": "BinaryExpression",
                          "start": 9346,
                          "end": 9379,
                          "loc": {
                            "start": {
                              "line": 287,
                              "column": 20
                            },
                            "end": {
                              "line": 287,
                              "column": 53
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 9346,
                            "end": 9365,
                            "loc": {
                              "start": {
                                "line": 287,
                                "column": 20
                              },
                              "end": {
                                "line": 287,
                                "column": 39
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 9346,
                              "end": 9358,
                              "loc": {
                                "start": {
                                  "line": 287,
                                  "column": 20
                                },
                                "end": {
                                  "line": 287,
                                  "column": 32
                                },
                                "identifierName": "currentInput"
                              },
                              "name": "currentInput"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9359,
                              "end": 9365,
                              "loc": {
                                "start": {
                                  "line": 287,
                                  "column": 33
                                },
                                "end": {
                                  "line": 287,
                                  "column": 39
                                },
                                "identifierName": "length"
                              },
                              "name": "length"
                            },
                            "computed": false
                          },
                          "operator": "===",
                          "right": {
                            "type": "Identifier",
                            "start": 9370,
                            "end": 9379,
                            "loc": {
                              "start": {
                                "line": 287,
                                "column": 44
                              },
                              "end": {
                                "line": 287,
                                "column": 53
                              },
                              "identifierName": "maxLength"
                            },
                            "name": "maxLength"
                          }
                        }
                      }
                    ],
                    "kind": "let"
                  },
                  {
                    "type": "IfStatement",
                    "start": 9388,
                    "end": 9606,
                    "loc": {
                      "start": {
                        "line": 289,
                        "column": 4
                      },
                      "end": {
                        "line": 297,
                        "column": 5
                      }
                    },
                    "test": {
                      "type": "BinaryExpression",
                      "start": 9528,
                      "end": 9570,
                      "loc": {
                        "start": {
                          "line": 294,
                          "column": 6
                        },
                        "end": {
                          "line": 294,
                          "column": 48
                        }
                      },
                      "left": {
                        "type": "MemberExpression",
                        "start": 9528,
                        "end": 9547,
                        "loc": {
                          "start": {
                            "line": 294,
                            "column": 6
                          },
                          "end": {
                            "line": 294,
                            "column": 25
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 9528,
                          "end": 9540,
                          "loc": {
                            "start": {
                              "line": 294,
                              "column": 6
                            },
                            "end": {
                              "line": 294,
                              "column": 18
                            },
                            "identifierName": "updatedInput"
                          },
                          "name": "updatedInput",
                          "leadingComments": null
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 9541,
                          "end": 9547,
                          "loc": {
                            "start": {
                              "line": 294,
                              "column": 19
                            },
                            "end": {
                              "line": 294,
                              "column": 25
                            },
                            "identifierName": "length"
                          },
                          "name": "length"
                        },
                        "computed": false,
                        "leadingComments": null
                      },
                      "operator": "<=",
                      "right": {
                        "type": "MemberExpression",
                        "start": 9551,
                        "end": 9570,
                        "loc": {
                          "start": {
                            "line": 294,
                            "column": 29
                          },
                          "end": {
                            "line": 294,
                            "column": 48
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 9551,
                          "end": 9563,
                          "loc": {
                            "start": {
                              "line": 294,
                              "column": 29
                            },
                            "end": {
                              "line": 294,
                              "column": 41
                            },
                            "identifierName": "currentInput"
                          },
                          "name": "currentInput"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 9564,
                          "end": 9570,
                          "loc": {
                            "start": {
                              "line": 294,
                              "column": 42
                            },
                            "end": {
                              "line": 294,
                              "column": 48
                            },
                            "identifierName": "length"
                          },
                          "name": "length"
                        },
                        "computed": false
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\r\n       * If pressing this button won't add more characters\r\n       * We exit out of this limiter function\r\n       ",
                          "start": 9399,
                          "end": 9520,
                          "loc": {
                            "start": {
                              "line": 290,
                              "column": 6
                            },
                            "end": {
                              "line": 293,
                              "column": 9
                            }
                          }
                        }
                      ]
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 9577,
                      "end": 9606,
                      "loc": {
                        "start": {
                          "line": 295,
                          "column": 5
                        },
                        "end": {
                          "line": 297,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "ReturnStatement",
                          "start": 9586,
                          "end": 9599,
                          "loc": {
                            "start": {
                              "line": 296,
                              "column": 6
                            },
                            "end": {
                              "line": 296,
                              "column": 19
                            }
                          },
                          "argument": {
                            "type": "BooleanLiteral",
                            "start": 9593,
                            "end": 9598,
                            "loc": {
                              "start": {
                                "line": 296,
                                "column": 13
                              },
                              "end": {
                                "line": 296,
                                "column": 18
                              }
                            },
                            "value": false
                          }
                        }
                      ],
                      "directives": []
                    },
                    "alternate": null
                  },
                  {
                    "type": "IfStatement",
                    "start": 9614,
                    "end": 10036,
                    "loc": {
                      "start": {
                        "line": 299,
                        "column": 4
                      },
                      "end": {
                        "line": 314,
                        "column": 5
                      }
                    },
                    "test": {
                      "type": "CallExpression",
                      "start": 9617,
                      "end": 9644,
                      "loc": {
                        "start": {
                          "line": 299,
                          "column": 7
                        },
                        "end": {
                          "line": 299,
                          "column": 34
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 9617,
                        "end": 9633,
                        "loc": {
                          "start": {
                            "line": 299,
                            "column": 7
                          },
                          "end": {
                            "line": 299,
                            "column": 23
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 9617,
                          "end": 9623,
                          "loc": {
                            "start": {
                              "line": 299,
                              "column": 7
                            },
                            "end": {
                              "line": 299,
                              "column": 13
                            },
                            "identifierName": "Number"
                          },
                          "name": "Number"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 9624,
                          "end": 9633,
                          "loc": {
                            "start": {
                              "line": 299,
                              "column": 14
                            },
                            "end": {
                              "line": 299,
                              "column": 23
                            },
                            "identifierName": "isInteger"
                          },
                          "name": "isInteger"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "Identifier",
                          "start": 9634,
                          "end": 9643,
                          "loc": {
                            "start": {
                              "line": 299,
                              "column": 24
                            },
                            "end": {
                              "line": 299,
                              "column": 33
                            },
                            "identifierName": "maxLength"
                          },
                          "name": "maxLength"
                        }
                      ]
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 9645,
                      "end": 10036,
                      "loc": {
                        "start": {
                          "line": 299,
                          "column": 35
                        },
                        "end": {
                          "line": 314,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "IfStatement",
                          "start": 9654,
                          "end": 9742,
                          "loc": {
                            "start": {
                              "line": 300,
                              "column": 6
                            },
                            "end": {
                              "line": 302,
                              "column": 7
                            }
                          },
                          "test": {
                            "type": "MemberExpression",
                            "start": 9657,
                            "end": 9670,
                            "loc": {
                              "start": {
                                "line": 300,
                                "column": 9
                              },
                              "end": {
                                "line": 300,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 9657,
                              "end": 9664,
                              "loc": {
                                "start": {
                                  "line": 300,
                                  "column": 9
                                },
                                "end": {
                                  "line": 300,
                                  "column": 16
                                },
                                "identifierName": "options"
                              },
                              "name": "options"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9665,
                              "end": 9670,
                              "loc": {
                                "start": {
                                  "line": 300,
                                  "column": 17
                                },
                                "end": {
                                  "line": 300,
                                  "column": 22
                                },
                                "identifierName": "debug"
                              },
                              "name": "debug"
                            },
                            "computed": false
                          },
                          "consequent": {
                            "type": "BlockStatement",
                            "start": 9671,
                            "end": 9742,
                            "loc": {
                              "start": {
                                "line": 300,
                                "column": 23
                              },
                              "end": {
                                "line": 302,
                                "column": 7
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 9682,
                                "end": 9733,
                                "loc": {
                                  "start": {
                                    "line": 301,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 301,
                                    "column": 59
                                  }
                                },
                                "expression": {
                                  "type": "CallExpression",
                                  "start": 9682,
                                  "end": 9732,
                                  "loc": {
                                    "start": {
                                      "line": 301,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 301,
                                      "column": 58
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 9682,
                                    "end": 9693,
                                    "loc": {
                                      "start": {
                                        "line": 301,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 301,
                                        "column": 19
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 9682,
                                      "end": 9689,
                                      "loc": {
                                        "start": {
                                          "line": 301,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 301,
                                          "column": 15
                                        },
                                        "identifierName": "console"
                                      },
                                      "name": "console"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9690,
                                      "end": 9693,
                                      "loc": {
                                        "start": {
                                          "line": 301,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 301,
                                          "column": 19
                                        },
                                        "identifierName": "log"
                                      },
                                      "name": "log"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "StringLiteral",
                                      "start": 9694,
                                      "end": 9720,
                                      "loc": {
                                        "start": {
                                          "line": 301,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 301,
                                          "column": 46
                                        }
                                      },
                                      "extra": {
                                        "rawValue": "maxLength (num) reached:",
                                        "raw": "\"maxLength (num) reached:\""
                                      },
                                      "value": "maxLength (num) reached:"
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 9722,
                                      "end": 9731,
                                      "loc": {
                                        "start": {
                                          "line": 301,
                                          "column": 48
                                        },
                                        "end": {
                                          "line": 301,
                                          "column": 57
                                        },
                                        "identifierName": "condition"
                                      },
                                      "name": "condition"
                                    }
                                  ]
                                }
                              }
                            ],
                            "directives": []
                          },
                          "alternate": null
                        },
                        {
                          "type": "IfStatement",
                          "start": 9752,
                          "end": 10029,
                          "loc": {
                            "start": {
                              "line": 304,
                              "column": 6
                            },
                            "end": {
                              "line": 313,
                              "column": 7
                            }
                          },
                          "test": {
                            "type": "Identifier",
                            "start": 9755,
                            "end": 9764,
                            "loc": {
                              "start": {
                                "line": 304,
                                "column": 9
                              },
                              "end": {
                                "line": 304,
                                "column": 18
                              },
                              "identifierName": "condition"
                            },
                            "name": "condition"
                          },
                          "consequent": {
                            "type": "BlockStatement",
                            "start": 9765,
                            "end": 9950,
                            "loc": {
                              "start": {
                                "line": 304,
                                "column": 19
                              },
                              "end": {
                                "line": 310,
                                "column": 7
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 9890,
                                "end": 9919,
                                "loc": {
                                  "start": {
                                    "line": 308,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 308,
                                    "column": 37
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 9890,
                                  "end": 9918,
                                  "loc": {
                                    "start": {
                                      "line": 308,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 308,
                                      "column": 36
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 9890,
                                    "end": 9911,
                                    "loc": {
                                      "start": {
                                        "line": 308,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 308,
                                        "column": 29
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 9890,
                                      "end": 9894,
                                      "loc": {
                                        "start": {
                                          "line": 308,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 308,
                                          "column": 12
                                        }
                                      },
                                      "leadingComments": null
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9895,
                                      "end": 9911,
                                      "loc": {
                                        "start": {
                                          "line": 308,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 308,
                                          "column": 29
                                        },
                                        "identifierName": "maxLengthReached"
                                      },
                                      "name": "maxLengthReached"
                                    },
                                    "computed": false,
                                    "leadingComments": null
                                  },
                                  "right": {
                                    "type": "BooleanLiteral",
                                    "start": 9914,
                                    "end": 9918,
                                    "loc": {
                                      "start": {
                                        "line": 308,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 308,
                                        "column": 36
                                      }
                                    },
                                    "value": true
                                  },
                                  "leadingComments": null
                                },
                                "leadingComments": [
                                  {
                                    "type": "CommentBlock",
                                    "value": "*\r\n         * @type {boolean} Boolean value that shows whether maxLength has been reached\r\n         ",
                                    "start": 9776,
                                    "end": 9880,
                                    "loc": {
                                      "start": {
                                        "line": 305,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 307,
                                        "column": 11
                                      }
                                    }
                                  }
                                ]
                              },
                              {
                                "type": "ReturnStatement",
                                "start": 9929,
                                "end": 9941,
                                "loc": {
                                  "start": {
                                    "line": 309,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 309,
                                    "column": 20
                                  }
                                },
                                "argument": {
                                  "type": "BooleanLiteral",
                                  "start": 9936,
                                  "end": 9940,
                                  "loc": {
                                    "start": {
                                      "line": 309,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 309,
                                      "column": 19
                                    }
                                  },
                                  "value": true
                                }
                              }
                            ],
                            "directives": []
                          },
                          "alternate": {
                            "type": "BlockStatement",
                            "start": 9956,
                            "end": 10029,
                            "loc": {
                              "start": {
                                "line": 310,
                                "column": 13
                              },
                              "end": {
                                "line": 313,
                                "column": 7
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 9967,
                                "end": 9997,
                                "loc": {
                                  "start": {
                                    "line": 311,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 311,
                                    "column": 38
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 9967,
                                  "end": 9996,
                                  "loc": {
                                    "start": {
                                      "line": 311,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 311,
                                      "column": 37
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 9967,
                                    "end": 9988,
                                    "loc": {
                                      "start": {
                                        "line": 311,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 311,
                                        "column": 29
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 9967,
                                      "end": 9971,
                                      "loc": {
                                        "start": {
                                          "line": 311,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 311,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 9972,
                                      "end": 9988,
                                      "loc": {
                                        "start": {
                                          "line": 311,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 311,
                                          "column": 29
                                        },
                                        "identifierName": "maxLengthReached"
                                      },
                                      "name": "maxLengthReached"
                                    },
                                    "computed": false
                                  },
                                  "right": {
                                    "type": "BooleanLiteral",
                                    "start": 9991,
                                    "end": 9996,
                                    "loc": {
                                      "start": {
                                        "line": 311,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 311,
                                        "column": 37
                                      }
                                    },
                                    "value": false
                                  }
                                }
                              },
                              {
                                "type": "ReturnStatement",
                                "start": 10007,
                                "end": 10020,
                                "loc": {
                                  "start": {
                                    "line": 312,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 312,
                                    "column": 21
                                  }
                                },
                                "argument": {
                                  "type": "BooleanLiteral",
                                  "start": 10014,
                                  "end": 10019,
                                  "loc": {
                                    "start": {
                                      "line": 312,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 312,
                                      "column": 20
                                    }
                                  },
                                  "value": false
                                }
                              }
                            ],
                            "directives": []
                          }
                        }
                      ],
                      "directives": []
                    },
                    "alternate": null
                  },
                  {
                    "type": "IfStatement",
                    "start": 10044,
                    "end": 10433,
                    "loc": {
                      "start": {
                        "line": 316,
                        "column": 4
                      },
                      "end": {
                        "line": 330,
                        "column": 5
                      }
                    },
                    "test": {
                      "type": "BinaryExpression",
                      "start": 10047,
                      "end": 10076,
                      "loc": {
                        "start": {
                          "line": 316,
                          "column": 7
                        },
                        "end": {
                          "line": 316,
                          "column": 36
                        }
                      },
                      "left": {
                        "type": "UnaryExpression",
                        "start": 10047,
                        "end": 10063,
                        "loc": {
                          "start": {
                            "line": 316,
                            "column": 7
                          },
                          "end": {
                            "line": 316,
                            "column": 23
                          }
                        },
                        "operator": "typeof",
                        "prefix": true,
                        "argument": {
                          "type": "Identifier",
                          "start": 10054,
                          "end": 10063,
                          "loc": {
                            "start": {
                              "line": 316,
                              "column": 14
                            },
                            "end": {
                              "line": 316,
                              "column": 23
                            },
                            "identifierName": "maxLength"
                          },
                          "name": "maxLength"
                        },
                        "extra": {
                          "parenthesizedArgument": false
                        }
                      },
                      "operator": "===",
                      "right": {
                        "type": "StringLiteral",
                        "start": 10068,
                        "end": 10076,
                        "loc": {
                          "start": {
                            "line": 316,
                            "column": 28
                          },
                          "end": {
                            "line": 316,
                            "column": 36
                          }
                        },
                        "extra": {
                          "rawValue": "object",
                          "raw": "\"object\""
                        },
                        "value": "object"
                      }
                    },
                    "consequent": {
                      "type": "BlockStatement",
                      "start": 10077,
                      "end": 10433,
                      "loc": {
                        "start": {
                          "line": 316,
                          "column": 37
                        },
                        "end": {
                          "line": 330,
                          "column": 5
                        }
                      },
                      "body": [
                        {
                          "type": "VariableDeclaration",
                          "start": 10086,
                          "end": 10155,
                          "loc": {
                            "start": {
                              "line": 317,
                              "column": 6
                            },
                            "end": {
                              "line": 317,
                              "column": 75
                            }
                          },
                          "declarations": [
                            {
                              "type": "VariableDeclarator",
                              "start": 10090,
                              "end": 10154,
                              "loc": {
                                "start": {
                                  "line": 317,
                                  "column": 10
                                },
                                "end": {
                                  "line": 317,
                                  "column": 74
                                }
                              },
                              "id": {
                                "type": "Identifier",
                                "start": 10090,
                                "end": 10099,
                                "loc": {
                                  "start": {
                                    "line": 317,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 317,
                                    "column": 19
                                  },
                                  "identifierName": "condition"
                                },
                                "name": "condition"
                              },
                              "init": {
                                "type": "BinaryExpression",
                                "start": 10102,
                                "end": 10154,
                                "loc": {
                                  "start": {
                                    "line": 317,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 317,
                                    "column": 74
                                  }
                                },
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 10102,
                                  "end": 10121,
                                  "loc": {
                                    "start": {
                                      "line": 317,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 317,
                                      "column": 41
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 10102,
                                    "end": 10114,
                                    "loc": {
                                      "start": {
                                        "line": 317,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 317,
                                        "column": 34
                                      },
                                      "identifierName": "currentInput"
                                    },
                                    "name": "currentInput"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10115,
                                    "end": 10121,
                                    "loc": {
                                      "start": {
                                        "line": 317,
                                        "column": 35
                                      },
                                      "end": {
                                        "line": 317,
                                        "column": 41
                                      },
                                      "identifierName": "length"
                                    },
                                    "name": "length"
                                  },
                                  "computed": false
                                },
                                "operator": "===",
                                "right": {
                                  "type": "MemberExpression",
                                  "start": 10126,
                                  "end": 10154,
                                  "loc": {
                                    "start": {
                                      "line": 317,
                                      "column": 46
                                    },
                                    "end": {
                                      "line": 317,
                                      "column": 74
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 10126,
                                    "end": 10135,
                                    "loc": {
                                      "start": {
                                        "line": 317,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 317,
                                        "column": 55
                                      },
                                      "identifierName": "maxLength"
                                    },
                                    "name": "maxLength"
                                  },
                                  "property": {
                                    "type": "MemberExpression",
                                    "start": 10136,
                                    "end": 10153,
                                    "loc": {
                                      "start": {
                                        "line": 317,
                                        "column": 56
                                      },
                                      "end": {
                                        "line": 317,
                                        "column": 73
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 10136,
                                      "end": 10143,
                                      "loc": {
                                        "start": {
                                          "line": 317,
                                          "column": 56
                                        },
                                        "end": {
                                          "line": 317,
                                          "column": 63
                                        },
                                        "identifierName": "options"
                                      },
                                      "name": "options"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10144,
                                      "end": 10153,
                                      "loc": {
                                        "start": {
                                          "line": 317,
                                          "column": 64
                                        },
                                        "end": {
                                          "line": 317,
                                          "column": 73
                                        },
                                        "identifierName": "inputName"
                                      },
                                      "name": "inputName"
                                    },
                                    "computed": false
                                  },
                                  "computed": true
                                }
                              }
                            }
                          ],
                          "kind": "let"
                        },
                        {
                          "type": "IfStatement",
                          "start": 10165,
                          "end": 10253,
                          "loc": {
                            "start": {
                              "line": 319,
                              "column": 6
                            },
                            "end": {
                              "line": 321,
                              "column": 7
                            }
                          },
                          "test": {
                            "type": "MemberExpression",
                            "start": 10168,
                            "end": 10181,
                            "loc": {
                              "start": {
                                "line": 319,
                                "column": 9
                              },
                              "end": {
                                "line": 319,
                                "column": 22
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 10168,
                              "end": 10175,
                              "loc": {
                                "start": {
                                  "line": 319,
                                  "column": 9
                                },
                                "end": {
                                  "line": 319,
                                  "column": 16
                                },
                                "identifierName": "options"
                              },
                              "name": "options"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 10176,
                              "end": 10181,
                              "loc": {
                                "start": {
                                  "line": 319,
                                  "column": 17
                                },
                                "end": {
                                  "line": 319,
                                  "column": 22
                                },
                                "identifierName": "debug"
                              },
                              "name": "debug"
                            },
                            "computed": false
                          },
                          "consequent": {
                            "type": "BlockStatement",
                            "start": 10182,
                            "end": 10253,
                            "loc": {
                              "start": {
                                "line": 319,
                                "column": 23
                              },
                              "end": {
                                "line": 321,
                                "column": 7
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 10193,
                                "end": 10244,
                                "loc": {
                                  "start": {
                                    "line": 320,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 320,
                                    "column": 59
                                  }
                                },
                                "expression": {
                                  "type": "CallExpression",
                                  "start": 10193,
                                  "end": 10243,
                                  "loc": {
                                    "start": {
                                      "line": 320,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 320,
                                      "column": 58
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 10193,
                                    "end": 10204,
                                    "loc": {
                                      "start": {
                                        "line": 320,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 320,
                                        "column": 19
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 10193,
                                      "end": 10200,
                                      "loc": {
                                        "start": {
                                          "line": 320,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 320,
                                          "column": 15
                                        },
                                        "identifierName": "console"
                                      },
                                      "name": "console"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10201,
                                      "end": 10204,
                                      "loc": {
                                        "start": {
                                          "line": 320,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 320,
                                          "column": 19
                                        },
                                        "identifierName": "log"
                                      },
                                      "name": "log"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "StringLiteral",
                                      "start": 10205,
                                      "end": 10231,
                                      "loc": {
                                        "start": {
                                          "line": 320,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 320,
                                          "column": 46
                                        }
                                      },
                                      "extra": {
                                        "rawValue": "maxLength (obj) reached:",
                                        "raw": "\"maxLength (obj) reached:\""
                                      },
                                      "value": "maxLength (obj) reached:"
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 10233,
                                      "end": 10242,
                                      "loc": {
                                        "start": {
                                          "line": 320,
                                          "column": 48
                                        },
                                        "end": {
                                          "line": 320,
                                          "column": 57
                                        },
                                        "identifierName": "condition"
                                      },
                                      "name": "condition"
                                    }
                                  ]
                                }
                              }
                            ],
                            "directives": []
                          },
                          "alternate": null
                        },
                        {
                          "type": "IfStatement",
                          "start": 10263,
                          "end": 10426,
                          "loc": {
                            "start": {
                              "line": 323,
                              "column": 6
                            },
                            "end": {
                              "line": 329,
                              "column": 7
                            }
                          },
                          "test": {
                            "type": "Identifier",
                            "start": 10266,
                            "end": 10275,
                            "loc": {
                              "start": {
                                "line": 323,
                                "column": 9
                              },
                              "end": {
                                "line": 323,
                                "column": 18
                              },
                              "identifierName": "condition"
                            },
                            "name": "condition"
                          },
                          "consequent": {
                            "type": "BlockStatement",
                            "start": 10276,
                            "end": 10347,
                            "loc": {
                              "start": {
                                "line": 323,
                                "column": 19
                              },
                              "end": {
                                "line": 326,
                                "column": 7
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 10287,
                                "end": 10316,
                                "loc": {
                                  "start": {
                                    "line": 324,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 324,
                                    "column": 37
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 10287,
                                  "end": 10315,
                                  "loc": {
                                    "start": {
                                      "line": 324,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 324,
                                      "column": 36
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 10287,
                                    "end": 10308,
                                    "loc": {
                                      "start": {
                                        "line": 324,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 324,
                                        "column": 29
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 10287,
                                      "end": 10291,
                                      "loc": {
                                        "start": {
                                          "line": 324,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 324,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10292,
                                      "end": 10308,
                                      "loc": {
                                        "start": {
                                          "line": 324,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 324,
                                          "column": 29
                                        },
                                        "identifierName": "maxLengthReached"
                                      },
                                      "name": "maxLengthReached"
                                    },
                                    "computed": false
                                  },
                                  "right": {
                                    "type": "BooleanLiteral",
                                    "start": 10311,
                                    "end": 10315,
                                    "loc": {
                                      "start": {
                                        "line": 324,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 324,
                                        "column": 36
                                      }
                                    },
                                    "value": true
                                  }
                                }
                              },
                              {
                                "type": "ReturnStatement",
                                "start": 10326,
                                "end": 10338,
                                "loc": {
                                  "start": {
                                    "line": 325,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 325,
                                    "column": 20
                                  }
                                },
                                "argument": {
                                  "type": "BooleanLiteral",
                                  "start": 10333,
                                  "end": 10337,
                                  "loc": {
                                    "start": {
                                      "line": 325,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 325,
                                      "column": 19
                                    }
                                  },
                                  "value": true
                                }
                              }
                            ],
                            "directives": []
                          },
                          "alternate": {
                            "type": "BlockStatement",
                            "start": 10353,
                            "end": 10426,
                            "loc": {
                              "start": {
                                "line": 326,
                                "column": 13
                              },
                              "end": {
                                "line": 329,
                                "column": 7
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 10364,
                                "end": 10394,
                                "loc": {
                                  "start": {
                                    "line": 327,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 327,
                                    "column": 38
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 10364,
                                  "end": 10393,
                                  "loc": {
                                    "start": {
                                      "line": 327,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 327,
                                      "column": 37
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 10364,
                                    "end": 10385,
                                    "loc": {
                                      "start": {
                                        "line": 327,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 327,
                                        "column": 29
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 10364,
                                      "end": 10368,
                                      "loc": {
                                        "start": {
                                          "line": 327,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 327,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10369,
                                      "end": 10385,
                                      "loc": {
                                        "start": {
                                          "line": 327,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 327,
                                          "column": 29
                                        },
                                        "identifierName": "maxLengthReached"
                                      },
                                      "name": "maxLengthReached"
                                    },
                                    "computed": false
                                  },
                                  "right": {
                                    "type": "BooleanLiteral",
                                    "start": 10388,
                                    "end": 10393,
                                    "loc": {
                                      "start": {
                                        "line": 327,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 327,
                                        "column": 37
                                      }
                                    },
                                    "value": false
                                  }
                                }
                              },
                              {
                                "type": "ReturnStatement",
                                "start": 10404,
                                "end": 10417,
                                "loc": {
                                  "start": {
                                    "line": 328,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 328,
                                    "column": 21
                                  }
                                },
                                "argument": {
                                  "type": "BooleanLiteral",
                                  "start": 10411,
                                  "end": 10416,
                                  "loc": {
                                    "start": {
                                      "line": 328,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 328,
                                      "column": 20
                                    }
                                  },
                                  "value": false
                                }
                              }
                            ],
                            "directives": []
                          }
                        }
                      ],
                      "directives": []
                    },
                    "alternate": null
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Determines whether the maxLength has been reached. This function is called when the maxLength option it set.\r\n   * \r\n   * @param  {object} inputObj\r\n   * @param  {object} options\r\n   * @param  {string} updatedInput\r\n   ",
                  "start": 8947,
                  "end": 9178,
                  "loc": {
                    "start": {
                      "line": 277,
                      "column": 2
                    },
                    "end": {
                      "line": 283,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Gets the current value of maxLengthReached\r\n   ",
                  "start": 10444,
                  "end": 10503,
                  "loc": {
                    "start": {
                      "line": 333,
                      "column": 2
                    },
                    "end": {
                      "line": 335,
                      "column": 5
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 10507,
              "end": 10577,
              "loc": {
                "start": {
                  "line": 336,
                  "column": 2
                },
                "end": {
                  "line": 338,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 10507,
                "end": 10525,
                "loc": {
                  "start": {
                    "line": 336,
                    "column": 2
                  },
                  "end": {
                    "line": 336,
                    "column": 20
                  },
                  "identifierName": "isMaxLengthReached"
                },
                "name": "isMaxLengthReached",
                "leadingComments": null
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start": 10527,
                "end": 10577,
                "loc": {
                  "start": {
                    "line": 336,
                    "column": 22
                  },
                  "end": {
                    "line": 338,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 10534,
                    "end": 10572,
                    "loc": {
                      "start": {
                        "line": 337,
                        "column": 4
                      },
                      "end": {
                        "line": 337,
                        "column": 42
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 10541,
                      "end": 10571,
                      "loc": {
                        "start": {
                          "line": 337,
                          "column": 11
                        },
                        "end": {
                          "line": 337,
                          "column": 41
                        }
                      },
                      "callee": {
                        "type": "Identifier",
                        "start": 10541,
                        "end": 10548,
                        "loc": {
                          "start": {
                            "line": 337,
                            "column": 11
                          },
                          "end": {
                            "line": 337,
                            "column": 18
                          },
                          "identifierName": "Boolean"
                        },
                        "name": "Boolean"
                      },
                      "arguments": [
                        {
                          "type": "MemberExpression",
                          "start": 10549,
                          "end": 10570,
                          "loc": {
                            "start": {
                              "line": 337,
                              "column": 19
                            },
                            "end": {
                              "line": 337,
                              "column": 40
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 10549,
                            "end": 10553,
                            "loc": {
                              "start": {
                                "line": 337,
                                "column": 19
                              },
                              "end": {
                                "line": 337,
                                "column": 23
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 10554,
                            "end": 10570,
                            "loc": {
                              "start": {
                                "line": 337,
                                "column": 24
                              },
                              "end": {
                                "line": 337,
                                "column": 40
                              },
                              "identifierName": "maxLengthReached"
                            },
                            "name": "maxLengthReached"
                          },
                          "computed": false
                        }
                      ]
                    }
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Gets the current value of maxLengthReached\r\n   ",
                  "start": 10444,
                  "end": 10503,
                  "loc": {
                    "start": {
                      "line": 333,
                      "column": 2
                    },
                    "end": {
                      "line": 335,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Transforms an arbitrary string to camelCase\r\n   * \r\n   * @param  {string} string The string to transform.\r\n   ",
                  "start": 10583,
                  "end": 10705,
                  "loc": {
                    "start": {
                      "line": 340,
                      "column": 2
                    },
                    "end": {
                      "line": 344,
                      "column": 5
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 10709,
              "end": 10865,
              "loc": {
                "start": {
                  "line": 345,
                  "column": 2
                },
                "end": {
                  "line": 347,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 10709,
                "end": 10718,
                "loc": {
                  "start": {
                    "line": 345,
                    "column": 2
                  },
                  "end": {
                    "line": 345,
                    "column": 11
                  },
                  "identifierName": "camelCase"
                },
                "name": "camelCase",
                "leadingComments": null
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 10719,
                  "end": 10725,
                  "loc": {
                    "start": {
                      "line": 345,
                      "column": 12
                    },
                    "end": {
                      "line": 345,
                      "column": 18
                    },
                    "identifierName": "string"
                  },
                  "name": "string"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 10726,
                "end": 10865,
                "loc": {
                  "start": {
                    "line": 345,
                    "column": 19
                  },
                  "end": {
                    "line": 347,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 10733,
                    "end": 10860,
                    "loc": {
                      "start": {
                        "line": 346,
                        "column": 4
                      },
                      "end": {
                        "line": 346,
                        "column": 131
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 10740,
                      "end": 10859,
                      "loc": {
                        "start": {
                          "line": 346,
                          "column": 11
                        },
                        "end": {
                          "line": 346,
                          "column": 130
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 10740,
                        "end": 10793,
                        "loc": {
                          "start": {
                            "line": 346,
                            "column": 11
                          },
                          "end": {
                            "line": 346,
                            "column": 64
                          }
                        },
                        "object": {
                          "type": "CallExpression",
                          "start": 10740,
                          "end": 10786,
                          "loc": {
                            "start": {
                              "line": 346,
                              "column": 11
                            },
                            "end": {
                              "line": 346,
                              "column": 57
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 10740,
                            "end": 10773,
                            "loc": {
                              "start": {
                                "line": 346,
                                "column": 11
                              },
                              "end": {
                                "line": 346,
                                "column": 44
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 10740,
                              "end": 10767,
                              "loc": {
                                "start": {
                                  "line": 346,
                                  "column": 11
                                },
                                "end": {
                                  "line": 346,
                                  "column": 38
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 10740,
                                "end": 10765,
                                "loc": {
                                  "start": {
                                    "line": 346,
                                    "column": 11
                                  },
                                  "end": {
                                    "line": 346,
                                    "column": 36
                                  }
                                },
                                "object": {
                                  "type": "CallExpression",
                                  "start": 10740,
                                  "end": 10760,
                                  "loc": {
                                    "start": {
                                      "line": 346,
                                      "column": 11
                                    },
                                    "end": {
                                      "line": 346,
                                      "column": 31
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 10740,
                                    "end": 10758,
                                    "loc": {
                                      "start": {
                                        "line": 346,
                                        "column": 11
                                      },
                                      "end": {
                                        "line": 346,
                                        "column": 29
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 10740,
                                      "end": 10746,
                                      "loc": {
                                        "start": {
                                          "line": 346,
                                          "column": 11
                                        },
                                        "end": {
                                          "line": 346,
                                          "column": 17
                                        },
                                        "identifierName": "string"
                                      },
                                      "name": "string"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10747,
                                      "end": 10758,
                                      "loc": {
                                        "start": {
                                          "line": 346,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 346,
                                          "column": 29
                                        },
                                        "identifierName": "toLowerCase"
                                      },
                                      "name": "toLowerCase"
                                    },
                                    "computed": false
                                  },
                                  "arguments": []
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 10761,
                                  "end": 10765,
                                  "loc": {
                                    "start": {
                                      "line": 346,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 346,
                                      "column": 36
                                    },
                                    "identifierName": "trim"
                                  },
                                  "name": "trim"
                                },
                                "computed": false
                              },
                              "arguments": []
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 10768,
                              "end": 10773,
                              "loc": {
                                "start": {
                                  "line": 346,
                                  "column": 39
                                },
                                "end": {
                                  "line": 346,
                                  "column": 44
                                },
                                "identifierName": "split"
                              },
                              "name": "split"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "RegExpLiteral",
                              "start": 10774,
                              "end": 10785,
                              "loc": {
                                "start": {
                                  "line": 346,
                                  "column": 45
                                },
                                "end": {
                                  "line": 346,
                                  "column": 56
                                }
                              },
                              "extra": {
                                "raw": "/[.\\-_\\s]/g"
                              },
                              "pattern": "[.\\-_\\s]",
                              "flags": "g"
                            }
                          ]
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 10787,
                          "end": 10793,
                          "loc": {
                            "start": {
                              "line": 346,
                              "column": 58
                            },
                            "end": {
                              "line": 346,
                              "column": 64
                            },
                            "identifierName": "reduce"
                          },
                          "name": "reduce"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "ArrowFunctionExpression",
                          "start": 10794,
                          "end": 10858,
                          "loc": {
                            "start": {
                              "line": 346,
                              "column": 65
                            },
                            "end": {
                              "line": 346,
                              "column": 129
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": true,
                          "async": false,
                          "params": [
                            {
                              "type": "Identifier",
                              "start": 10795,
                              "end": 10801,
                              "loc": {
                                "start": {
                                  "line": 346,
                                  "column": 66
                                },
                                "end": {
                                  "line": 346,
                                  "column": 72
                                },
                                "identifierName": "string"
                              },
                              "name": "string"
                            },
                            {
                              "type": "Identifier",
                              "start": 10803,
                              "end": 10807,
                              "loc": {
                                "start": {
                                  "line": 346,
                                  "column": 74
                                },
                                "end": {
                                  "line": 346,
                                  "column": 78
                                },
                                "identifierName": "word"
                              },
                              "name": "word"
                            }
                          ],
                          "body": {
                            "type": "BinaryExpression",
                            "start": 10812,
                            "end": 10858,
                            "loc": {
                              "start": {
                                "line": 346,
                                "column": 83
                              },
                              "end": {
                                "line": 346,
                                "column": 129
                              }
                            },
                            "left": {
                              "type": "BinaryExpression",
                              "start": 10812,
                              "end": 10842,
                              "loc": {
                                "start": {
                                  "line": 346,
                                  "column": 83
                                },
                                "end": {
                                  "line": 346,
                                  "column": 113
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 10812,
                                "end": 10818,
                                "loc": {
                                  "start": {
                                    "line": 346,
                                    "column": 83
                                  },
                                  "end": {
                                    "line": 346,
                                    "column": 89
                                  },
                                  "identifierName": "string"
                                },
                                "name": "string"
                              },
                              "operator": "+",
                              "right": {
                                "type": "CallExpression",
                                "start": 10821,
                                "end": 10842,
                                "loc": {
                                  "start": {
                                    "line": 346,
                                    "column": 92
                                  },
                                  "end": {
                                    "line": 346,
                                    "column": 113
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 10821,
                                  "end": 10840,
                                  "loc": {
                                    "start": {
                                      "line": 346,
                                      "column": 92
                                    },
                                    "end": {
                                      "line": 346,
                                      "column": 111
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 10821,
                                    "end": 10828,
                                    "loc": {
                                      "start": {
                                        "line": 346,
                                        "column": 92
                                      },
                                      "end": {
                                        "line": 346,
                                        "column": 99
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 10821,
                                      "end": 10825,
                                      "loc": {
                                        "start": {
                                          "line": 346,
                                          "column": 92
                                        },
                                        "end": {
                                          "line": 346,
                                          "column": 96
                                        },
                                        "identifierName": "word"
                                      },
                                      "name": "word"
                                    },
                                    "property": {
                                      "type": "NumericLiteral",
                                      "start": 10826,
                                      "end": 10827,
                                      "loc": {
                                        "start": {
                                          "line": 346,
                                          "column": 97
                                        },
                                        "end": {
                                          "line": 346,
                                          "column": 98
                                        }
                                      },
                                      "extra": {
                                        "rawValue": 0,
                                        "raw": "0"
                                      },
                                      "value": 0
                                    },
                                    "computed": true
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10829,
                                    "end": 10840,
                                    "loc": {
                                      "start": {
                                        "line": 346,
                                        "column": 100
                                      },
                                      "end": {
                                        "line": 346,
                                        "column": 111
                                      },
                                      "identifierName": "toUpperCase"
                                    },
                                    "name": "toUpperCase"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              }
                            },
                            "operator": "+",
                            "right": {
                              "type": "CallExpression",
                              "start": 10845,
                              "end": 10858,
                              "loc": {
                                "start": {
                                  "line": 346,
                                  "column": 116
                                },
                                "end": {
                                  "line": 346,
                                  "column": 129
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 10845,
                                "end": 10855,
                                "loc": {
                                  "start": {
                                    "line": 346,
                                    "column": 116
                                  },
                                  "end": {
                                    "line": 346,
                                    "column": 126
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 10845,
                                  "end": 10849,
                                  "loc": {
                                    "start": {
                                      "line": 346,
                                      "column": 116
                                    },
                                    "end": {
                                      "line": 346,
                                      "column": 120
                                    },
                                    "identifierName": "word"
                                  },
                                  "name": "word"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 10850,
                                  "end": 10855,
                                  "loc": {
                                    "start": {
                                      "line": 346,
                                      "column": 121
                                    },
                                    "end": {
                                      "line": 346,
                                      "column": 126
                                    },
                                    "identifierName": "slice"
                                  },
                                  "name": "slice"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "NumericLiteral",
                                  "start": 10856,
                                  "end": 10857,
                                  "loc": {
                                    "start": {
                                      "line": 346,
                                      "column": 127
                                    },
                                    "end": {
                                      "line": 346,
                                      "column": 128
                                    }
                                  },
                                  "extra": {
                                    "rawValue": 1,
                                    "raw": "1"
                                  },
                                  "value": 1
                                }
                              ]
                            }
                          }
                        }
                      ]
                    }
                  }
                ],
                "directives": []
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Transforms an arbitrary string to camelCase\r\n   * \r\n   * @param  {string} string The string to transform.\r\n   ",
                  "start": 10583,
                  "end": 10705,
                  "loc": {
                    "start": {
                      "line": 340,
                      "column": 2
                    },
                    "end": {
                      "line": 344,
                      "column": 5
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassMethod",
              "start": 11056,
              "end": 11146,
              "loc": {
                "start": {
                  "line": 355,
                  "column": 2
                },
                "end": {
                  "line": 357,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 11056,
                "end": 11068,
                "loc": {
                  "start": {
                    "line": 355,
                    "column": 2
                  },
                  "end": {
                    "line": 355,
                    "column": 14
                  },
                  "identifierName": "countInArray"
                },
                "name": "countInArray",
                "leadingComments": null
              },
              "kind": "method",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [
                {
                  "type": "Identifier",
                  "start": 11069,
                  "end": 11074,
                  "loc": {
                    "start": {
                      "line": 355,
                      "column": 15
                    },
                    "end": {
                      "line": 355,
                      "column": 20
                    },
                    "identifierName": "array"
                  },
                  "name": "array"
                },
                {
                  "type": "Identifier",
                  "start": 11076,
                  "end": 11081,
                  "loc": {
                    "start": {
                      "line": 355,
                      "column": 22
                    },
                    "end": {
                      "line": 355,
                      "column": 27
                    },
                    "identifierName": "value"
                  },
                  "name": "value"
                }
              ],
              "body": {
                "type": "BlockStatement",
                "start": 11082,
                "end": 11146,
                "loc": {
                  "start": {
                    "line": 355,
                    "column": 28
                  },
                  "end": {
                    "line": 357,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "ReturnStatement",
                    "start": 11089,
                    "end": 11141,
                    "loc": {
                      "start": {
                        "line": 356,
                        "column": 4
                      },
                      "end": {
                        "line": 356,
                        "column": 56
                      }
                    },
                    "argument": {
                      "type": "CallExpression",
                      "start": 11096,
                      "end": 11140,
                      "loc": {
                        "start": {
                          "line": 356,
                          "column": 11
                        },
                        "end": {
                          "line": 356,
                          "column": 55
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 11096,
                        "end": 11108,
                        "loc": {
                          "start": {
                            "line": 356,
                            "column": 11
                          },
                          "end": {
                            "line": 356,
                            "column": 23
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 11096,
                          "end": 11101,
                          "loc": {
                            "start": {
                              "line": 356,
                              "column": 11
                            },
                            "end": {
                              "line": 356,
                              "column": 16
                            },
                            "identifierName": "array"
                          },
                          "name": "array"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 11102,
                          "end": 11108,
                          "loc": {
                            "start": {
                              "line": 356,
                              "column": 17
                            },
                            "end": {
                              "line": 356,
                              "column": 23
                            },
                            "identifierName": "reduce"
                          },
                          "name": "reduce"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "ArrowFunctionExpression",
                          "start": 11109,
                          "end": 11136,
                          "loc": {
                            "start": {
                              "line": 356,
                              "column": 24
                            },
                            "end": {
                              "line": 356,
                              "column": 51
                            }
                          },
                          "id": null,
                          "generator": false,
                          "expression": true,
                          "async": false,
                          "params": [
                            {
                              "type": "Identifier",
                              "start": 11110,
                              "end": 11111,
                              "loc": {
                                "start": {
                                  "line": 356,
                                  "column": 25
                                },
                                "end": {
                                  "line": 356,
                                  "column": 26
                                },
                                "identifierName": "n"
                              },
                              "name": "n"
                            },
                            {
                              "type": "Identifier",
                              "start": 11113,
                              "end": 11114,
                              "loc": {
                                "start": {
                                  "line": 356,
                                  "column": 28
                                },
                                "end": {
                                  "line": 356,
                                  "column": 29
                                },
                                "identifierName": "x"
                              },
                              "name": "x"
                            }
                          ],
                          "body": {
                            "type": "BinaryExpression",
                            "start": 11119,
                            "end": 11136,
                            "loc": {
                              "start": {
                                "line": 356,
                                "column": 34
                              },
                              "end": {
                                "line": 356,
                                "column": 51
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 11119,
                              "end": 11120,
                              "loc": {
                                "start": {
                                  "line": 356,
                                  "column": 34
                                },
                                "end": {
                                  "line": 356,
                                  "column": 35
                                },
                                "identifierName": "n"
                              },
                              "name": "n"
                            },
                            "operator": "+",
                            "right": {
                              "type": "BinaryExpression",
                              "start": 11124,
                              "end": 11135,
                              "loc": {
                                "start": {
                                  "line": 356,
                                  "column": 39
                                },
                                "end": {
                                  "line": 356,
                                  "column": 50
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 11124,
                                "end": 11125,
                                "loc": {
                                  "start": {
                                    "line": 356,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 356,
                                    "column": 40
                                  },
                                  "identifierName": "x"
                                },
                                "name": "x"
                              },
                              "operator": "===",
                              "right": {
                                "type": "Identifier",
                                "start": 11130,
                                "end": 11135,
                                "loc": {
                                  "start": {
                                    "line": 356,
                                    "column": 45
                                  },
                                  "end": {
                                    "line": 356,
                                    "column": 50
                                  },
                                  "identifierName": "value"
                                },
                                "name": "value"
                              },
                              "extra": {
                                "parenthesized": true,
                                "parenStart": 11123
                              }
                            }
                          }
                        },
                        {
                          "type": "NumericLiteral",
                          "start": 11138,
                          "end": 11139,
                          "loc": {
                            "start": {
                              "line": 356,
                              "column": 53
                            },
                            "end": {
                              "line": 356,
                              "column": 54
                            }
                          },
                          "extra": {
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "value": 0
                        }
                      ]
                    }
                  }
                ],
                "directives": []
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Counts the number of duplicates in a given array\r\n   * \r\n   * @param  {Array} array The haystack to search in\r\n   * @param  {string} value The needle to search for\r\n   ",
                  "start": 10872,
                  "end": 11052,
                  "loc": {
                    "start": {
                      "line": 349,
                      "column": 2
                    },
                    "end": {
                      "line": 354,
                      "column": 5
                    }
                  }
                }
              ]
            }
          ]
        },
        "leadingComments": [],
        "name": "_",
        "trailingComments": []
      },
      {
        "type": "Identifier",
        "start": 11155,
        "end": 11180,
        "loc": {
          "start": {
            "line": 361,
            "column": 0
          },
          "end": {
            "line": 361,
            "column": 25
          }
        },
        "declaration": {
          "type": "Identifier",
          "start": 11170,
          "end": 11179,
          "loc": {
            "start": {
              "line": 361,
              "column": 15
            },
            "end": {
              "line": 361,
              "column": 24
            },
            "identifierName": "Utilities"
          },
          "name": "Utilities"
        },
        "name": "_",
        "leadingComments": [],
        "trailingComments": []
      },
      {
        "type": "ExportDefaultDeclaration",
        "start": 11155,
        "end": 11180,
        "loc": {
          "start": {
            "line": 361,
            "column": 0
          },
          "end": {
            "line": 361,
            "column": 25
          }
        },
        "declaration": {
          "type": "ClassDeclaration",
          "start": 30,
          "end": 11151,
          "loc": {
            "start": {
              "line": 4,
              "column": 0
            },
            "end": {
              "line": 359,
              "column": 1
            }
          },
          "id": {
            "type": "Identifier",
            "start": 36,
            "end": 45,
            "loc": {
              "start": {
                "line": 4,
                "column": 6
              },
              "end": {
                "line": 4,
                "column": 15
              },
              "identifierName": "Utilities"
            },
            "name": "Utilities",
            "leadingComments": null
          },
          "superClass": null,
          "body": {
            "type": "ClassBody",
            "start": 46,
            "end": 11151,
            "loc": {
              "start": {
                "line": 4,
                "column": 16
              },
              "end": {
                "line": 359,
                "column": 1
              }
            },
            "body": [
              {
                "type": "ClassMethod",
                "start": 114,
                "end": 740,
                "loc": {
                  "start": {
                    "line": 8,
                    "column": 2
                  },
                  "end": {
                    "line": 24,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 114,
                  "end": 125,
                  "loc": {
                    "start": {
                      "line": 8,
                      "column": 2
                    },
                    "end": {
                      "line": 8,
                      "column": 13
                    },
                    "identifierName": "constructor"
                  },
                  "name": "constructor",
                  "leadingComments": null
                },
                "kind": "constructor",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 126,
                    "end": 148,
                    "loc": {
                      "start": {
                        "line": 8,
                        "column": 14
                      },
                      "end": {
                        "line": 8,
                        "column": 36
                      },
                      "identifierName": "simpleKeyboardInstance"
                    },
                    "name": "simpleKeyboardInstance"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 149,
                  "end": 740,
                  "loc": {
                    "start": {
                      "line": 8,
                      "column": 37
                    },
                    "end": {
                      "line": 24,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 224,
                      "end": 277,
                      "loc": {
                        "start": {
                          "line": 12,
                          "column": 4
                        },
                        "end": {
                          "line": 12,
                          "column": 57
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 224,
                        "end": 276,
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 4
                          },
                          "end": {
                            "line": 12,
                            "column": 56
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 224,
                          "end": 251,
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 4
                            },
                            "end": {
                              "line": 12,
                              "column": 31
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 224,
                            "end": 228,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 4
                              },
                              "end": {
                                "line": 12,
                                "column": 8
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 229,
                            "end": 251,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 9
                              },
                              "end": {
                                "line": 12,
                                "column": 31
                              },
                              "identifierName": "simpleKeyboardInstance"
                            },
                            "name": "simpleKeyboardInstance"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 254,
                          "end": 276,
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 34
                            },
                            "end": {
                              "line": 12,
                              "column": 56
                            },
                            "identifierName": "simpleKeyboardInstance"
                          },
                          "name": "simpleKeyboardInstance"
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\r\n     * @type {object} A simple-keyboard instance\r\n     ",
                          "start": 156,
                          "end": 218,
                          "loc": {
                            "start": {
                              "line": 9,
                              "column": 4
                            },
                            "end": {
                              "line": 11,
                              "column": 7
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\r\n     * Bindings\r\n     ",
                          "start": 285,
                          "end": 314,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 4
                            },
                            "end": {
                              "line": 16,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 320,
                      "end": 373,
                      "loc": {
                        "start": {
                          "line": 17,
                          "column": 4
                        },
                        "end": {
                          "line": 17,
                          "column": 57
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 320,
                        "end": 372,
                        "loc": {
                          "start": {
                            "line": 17,
                            "column": 4
                          },
                          "end": {
                            "line": 17,
                            "column": 56
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 320,
                          "end": 339,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 4
                            },
                            "end": {
                              "line": 17,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 320,
                            "end": 324,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 4
                              },
                              "end": {
                                "line": 17,
                                "column": 8
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 325,
                            "end": 339,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 9
                              },
                              "end": {
                                "line": 17,
                                "column": 23
                              },
                              "identifierName": "getButtonClass"
                            },
                            "name": "getButtonClass"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 342,
                          "end": 372,
                          "loc": {
                            "start": {
                              "line": 17,
                              "column": 26
                            },
                            "end": {
                              "line": 17,
                              "column": 56
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 342,
                            "end": 366,
                            "loc": {
                              "start": {
                                "line": 17,
                                "column": 26
                              },
                              "end": {
                                "line": 17,
                                "column": 50
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 342,
                              "end": 361,
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 26
                                },
                                "end": {
                                  "line": 17,
                                  "column": 45
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 342,
                                "end": 346,
                                "loc": {
                                  "start": {
                                    "line": 17,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 17,
                                    "column": 30
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 347,
                                "end": 361,
                                "loc": {
                                  "start": {
                                    "line": 17,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 17,
                                    "column": 45
                                  },
                                  "identifierName": "getButtonClass"
                                },
                                "name": "getButtonClass"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 362,
                              "end": 366,
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 46
                                },
                                "end": {
                                  "line": 17,
                                  "column": 50
                                },
                                "identifierName": "bind"
                              },
                              "name": "bind"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ThisExpression",
                              "start": 367,
                              "end": 371,
                              "loc": {
                                "start": {
                                  "line": 17,
                                  "column": 51
                                },
                                "end": {
                                  "line": 17,
                                  "column": 55
                                }
                              }
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\r\n     * Bindings\r\n     ",
                          "start": 285,
                          "end": 314,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 4
                            },
                            "end": {
                              "line": 16,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 379,
                      "end": 444,
                      "loc": {
                        "start": {
                          "line": 18,
                          "column": 4
                        },
                        "end": {
                          "line": 18,
                          "column": 69
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 379,
                        "end": 443,
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 4
                          },
                          "end": {
                            "line": 18,
                            "column": 68
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 379,
                          "end": 404,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 4
                            },
                            "end": {
                              "line": 18,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 379,
                            "end": 383,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 4
                              },
                              "end": {
                                "line": 18,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 384,
                            "end": 404,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 9
                              },
                              "end": {
                                "line": 18,
                                "column": 29
                              },
                              "identifierName": "getButtonDisplayName"
                            },
                            "name": "getButtonDisplayName"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 407,
                          "end": 443,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 32
                            },
                            "end": {
                              "line": 18,
                              "column": 68
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 407,
                            "end": 437,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 32
                              },
                              "end": {
                                "line": 18,
                                "column": 62
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 407,
                              "end": 432,
                              "loc": {
                                "start": {
                                  "line": 18,
                                  "column": 32
                                },
                                "end": {
                                  "line": 18,
                                  "column": 57
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 407,
                                "end": 411,
                                "loc": {
                                  "start": {
                                    "line": 18,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 18,
                                    "column": 36
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 412,
                                "end": 432,
                                "loc": {
                                  "start": {
                                    "line": 18,
                                    "column": 37
                                  },
                                  "end": {
                                    "line": 18,
                                    "column": 57
                                  },
                                  "identifierName": "getButtonDisplayName"
                                },
                                "name": "getButtonDisplayName"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 433,
                              "end": 437,
                              "loc": {
                                "start": {
                                  "line": 18,
                                  "column": 58
                                },
                                "end": {
                                  "line": 18,
                                  "column": 62
                                },
                                "identifierName": "bind"
                              },
                              "name": "bind"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ThisExpression",
                              "start": 438,
                              "end": 442,
                              "loc": {
                                "start": {
                                  "line": 18,
                                  "column": 63
                                },
                                "end": {
                                  "line": 18,
                                  "column": 67
                                }
                              }
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 450,
                      "end": 505,
                      "loc": {
                        "start": {
                          "line": 19,
                          "column": 4
                        },
                        "end": {
                          "line": 19,
                          "column": 59
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 450,
                        "end": 504,
                        "loc": {
                          "start": {
                            "line": 19,
                            "column": 4
                          },
                          "end": {
                            "line": 19,
                            "column": 58
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 450,
                          "end": 470,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 4
                            },
                            "end": {
                              "line": 19,
                              "column": 24
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 450,
                            "end": 454,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 4
                              },
                              "end": {
                                "line": 19,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 455,
                            "end": 470,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 9
                              },
                              "end": {
                                "line": 19,
                                "column": 24
                              },
                              "identifierName": "getUpdatedInput"
                            },
                            "name": "getUpdatedInput"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 473,
                          "end": 504,
                          "loc": {
                            "start": {
                              "line": 19,
                              "column": 27
                            },
                            "end": {
                              "line": 19,
                              "column": 58
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 473,
                            "end": 498,
                            "loc": {
                              "start": {
                                "line": 19,
                                "column": 27
                              },
                              "end": {
                                "line": 19,
                                "column": 52
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 473,
                              "end": 493,
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 27
                                },
                                "end": {
                                  "line": 19,
                                  "column": 47
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 473,
                                "end": 477,
                                "loc": {
                                  "start": {
                                    "line": 19,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 19,
                                    "column": 31
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 478,
                                "end": 493,
                                "loc": {
                                  "start": {
                                    "line": 19,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 19,
                                    "column": 47
                                  },
                                  "identifierName": "getUpdatedInput"
                                },
                                "name": "getUpdatedInput"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 494,
                              "end": 498,
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 48
                                },
                                "end": {
                                  "line": 19,
                                  "column": 52
                                },
                                "identifierName": "bind"
                              },
                              "name": "bind"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ThisExpression",
                              "start": 499,
                              "end": 503,
                              "loc": {
                                "start": {
                                  "line": 19,
                                  "column": 53
                                },
                                "end": {
                                  "line": 19,
                                  "column": 57
                                }
                              }
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 511,
                      "end": 564,
                      "loc": {
                        "start": {
                          "line": 20,
                          "column": 4
                        },
                        "end": {
                          "line": 20,
                          "column": 57
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 511,
                        "end": 563,
                        "loc": {
                          "start": {
                            "line": 20,
                            "column": 4
                          },
                          "end": {
                            "line": 20,
                            "column": 56
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 511,
                          "end": 530,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 4
                            },
                            "end": {
                              "line": 20,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 511,
                            "end": 515,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 4
                              },
                              "end": {
                                "line": 20,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 516,
                            "end": 530,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 9
                              },
                              "end": {
                                "line": 20,
                                "column": 23
                              },
                              "identifierName": "updateCaretPos"
                            },
                            "name": "updateCaretPos"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 533,
                          "end": 563,
                          "loc": {
                            "start": {
                              "line": 20,
                              "column": 26
                            },
                            "end": {
                              "line": 20,
                              "column": 56
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 533,
                            "end": 557,
                            "loc": {
                              "start": {
                                "line": 20,
                                "column": 26
                              },
                              "end": {
                                "line": 20,
                                "column": 50
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 533,
                              "end": 552,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 26
                                },
                                "end": {
                                  "line": 20,
                                  "column": 45
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 533,
                                "end": 537,
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 30
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 538,
                                "end": 552,
                                "loc": {
                                  "start": {
                                    "line": 20,
                                    "column": 31
                                  },
                                  "end": {
                                    "line": 20,
                                    "column": 45
                                  },
                                  "identifierName": "updateCaretPos"
                                },
                                "name": "updateCaretPos"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 553,
                              "end": 557,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 46
                                },
                                "end": {
                                  "line": 20,
                                  "column": 50
                                },
                                "identifierName": "bind"
                              },
                              "name": "bind"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ThisExpression",
                              "start": 558,
                              "end": 562,
                              "loc": {
                                "start": {
                                  "line": 20,
                                  "column": 51
                                },
                                "end": {
                                  "line": 20,
                                  "column": 55
                                }
                              }
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 570,
                      "end": 631,
                      "loc": {
                        "start": {
                          "line": 21,
                          "column": 4
                        },
                        "end": {
                          "line": 21,
                          "column": 65
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 570,
                        "end": 630,
                        "loc": {
                          "start": {
                            "line": 21,
                            "column": 4
                          },
                          "end": {
                            "line": 21,
                            "column": 64
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 570,
                          "end": 593,
                          "loc": {
                            "start": {
                              "line": 21,
                              "column": 4
                            },
                            "end": {
                              "line": 21,
                              "column": 27
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 570,
                            "end": 574,
                            "loc": {
                              "start": {
                                "line": 21,
                                "column": 4
                              },
                              "end": {
                                "line": 21,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 575,
                            "end": 593,
                            "loc": {
                              "start": {
                                "line": 21,
                                "column": 9
                              },
                              "end": {
                                "line": 21,
                                "column": 27
                              },
                              "identifierName": "isMaxLengthReached"
                            },
                            "name": "isMaxLengthReached"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 596,
                          "end": 630,
                          "loc": {
                            "start": {
                              "line": 21,
                              "column": 30
                            },
                            "end": {
                              "line": 21,
                              "column": 64
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 596,
                            "end": 624,
                            "loc": {
                              "start": {
                                "line": 21,
                                "column": 30
                              },
                              "end": {
                                "line": 21,
                                "column": 58
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 596,
                              "end": 619,
                              "loc": {
                                "start": {
                                  "line": 21,
                                  "column": 30
                                },
                                "end": {
                                  "line": 21,
                                  "column": 53
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 596,
                                "end": 600,
                                "loc": {
                                  "start": {
                                    "line": 21,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 21,
                                    "column": 34
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 601,
                                "end": 619,
                                "loc": {
                                  "start": {
                                    "line": 21,
                                    "column": 35
                                  },
                                  "end": {
                                    "line": 21,
                                    "column": 53
                                  },
                                  "identifierName": "isMaxLengthReached"
                                },
                                "name": "isMaxLengthReached"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 620,
                              "end": 624,
                              "loc": {
                                "start": {
                                  "line": 21,
                                  "column": 54
                                },
                                "end": {
                                  "line": 21,
                                  "column": 58
                                },
                                "identifierName": "bind"
                              },
                              "name": "bind"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ThisExpression",
                              "start": 625,
                              "end": 629,
                              "loc": {
                                "start": {
                                  "line": 21,
                                  "column": 59
                                },
                                "end": {
                                  "line": 21,
                                  "column": 63
                                }
                              }
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 637,
                      "end": 680,
                      "loc": {
                        "start": {
                          "line": 22,
                          "column": 4
                        },
                        "end": {
                          "line": 22,
                          "column": 47
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 637,
                        "end": 679,
                        "loc": {
                          "start": {
                            "line": 22,
                            "column": 4
                          },
                          "end": {
                            "line": 22,
                            "column": 46
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 637,
                          "end": 651,
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 4
                            },
                            "end": {
                              "line": 22,
                              "column": 18
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 637,
                            "end": 641,
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 4
                              },
                              "end": {
                                "line": 22,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 642,
                            "end": 651,
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 9
                              },
                              "end": {
                                "line": 22,
                                "column": 18
                              },
                              "identifierName": "camelCase"
                            },
                            "name": "camelCase"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 654,
                          "end": 679,
                          "loc": {
                            "start": {
                              "line": 22,
                              "column": 21
                            },
                            "end": {
                              "line": 22,
                              "column": 46
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 654,
                            "end": 673,
                            "loc": {
                              "start": {
                                "line": 22,
                                "column": 21
                              },
                              "end": {
                                "line": 22,
                                "column": 40
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 654,
                              "end": 668,
                              "loc": {
                                "start": {
                                  "line": 22,
                                  "column": 21
                                },
                                "end": {
                                  "line": 22,
                                  "column": 35
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 654,
                                "end": 658,
                                "loc": {
                                  "start": {
                                    "line": 22,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 22,
                                    "column": 25
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 659,
                                "end": 668,
                                "loc": {
                                  "start": {
                                    "line": 22,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 22,
                                    "column": 35
                                  },
                                  "identifierName": "camelCase"
                                },
                                "name": "camelCase"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 669,
                              "end": 673,
                              "loc": {
                                "start": {
                                  "line": 22,
                                  "column": 36
                                },
                                "end": {
                                  "line": 22,
                                  "column": 40
                                },
                                "identifierName": "bind"
                              },
                              "name": "bind"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ThisExpression",
                              "start": 674,
                              "end": 678,
                              "loc": {
                                "start": {
                                  "line": 22,
                                  "column": 41
                                },
                                "end": {
                                  "line": 22,
                                  "column": 45
                                }
                              }
                            }
                          ]
                        }
                      }
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 686,
                      "end": 735,
                      "loc": {
                        "start": {
                          "line": 23,
                          "column": 4
                        },
                        "end": {
                          "line": 23,
                          "column": 53
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 686,
                        "end": 734,
                        "loc": {
                          "start": {
                            "line": 23,
                            "column": 4
                          },
                          "end": {
                            "line": 23,
                            "column": 52
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 686,
                          "end": 703,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 4
                            },
                            "end": {
                              "line": 23,
                              "column": 21
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 686,
                            "end": 690,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 4
                              },
                              "end": {
                                "line": 23,
                                "column": 8
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 691,
                            "end": 703,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 9
                              },
                              "end": {
                                "line": 23,
                                "column": 21
                              },
                              "identifierName": "countInArray"
                            },
                            "name": "countInArray"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "CallExpression",
                          "start": 706,
                          "end": 734,
                          "loc": {
                            "start": {
                              "line": 23,
                              "column": 24
                            },
                            "end": {
                              "line": 23,
                              "column": 52
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 706,
                            "end": 728,
                            "loc": {
                              "start": {
                                "line": 23,
                                "column": 24
                              },
                              "end": {
                                "line": 23,
                                "column": 46
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 706,
                              "end": 723,
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 24
                                },
                                "end": {
                                  "line": 23,
                                  "column": 41
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 706,
                                "end": 710,
                                "loc": {
                                  "start": {
                                    "line": 23,
                                    "column": 24
                                  },
                                  "end": {
                                    "line": 23,
                                    "column": 28
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 711,
                                "end": 723,
                                "loc": {
                                  "start": {
                                    "line": 23,
                                    "column": 29
                                  },
                                  "end": {
                                    "line": 23,
                                    "column": 41
                                  },
                                  "identifierName": "countInArray"
                                },
                                "name": "countInArray"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 724,
                              "end": 728,
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 42
                                },
                                "end": {
                                  "line": 23,
                                  "column": 46
                                },
                                "identifierName": "bind"
                              },
                              "name": "bind"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ThisExpression",
                              "start": 729,
                              "end": 733,
                              "loc": {
                                "start": {
                                  "line": 23,
                                  "column": 47
                                },
                                "end": {
                                  "line": 23,
                                  "column": 51
                                }
                              }
                            }
                          ]
                        }
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Creates an instance of the Utility service\r\n   ",
                    "start": 51,
                    "end": 110,
                    "loc": {
                      "start": {
                        "line": 5,
                        "column": 2
                      },
                      "end": {
                        "line": 7,
                        "column": 5
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Adds default classes to a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @return {string} The classes to be added to the button\r\n   ",
                    "start": 746,
                    "end": 924,
                    "loc": {
                      "start": {
                        "line": 26,
                        "column": 2
                      },
                      "end": {
                        "line": 31,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 928,
                "end": 1355,
                "loc": {
                  "start": {
                    "line": 32,
                    "column": 2
                  },
                  "end": {
                    "line": 41,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 928,
                  "end": 942,
                  "loc": {
                    "start": {
                      "line": 32,
                      "column": 2
                    },
                    "end": {
                      "line": 32,
                      "column": 16
                    },
                    "identifierName": "getButtonClass"
                  },
                  "name": "getButtonClass",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 943,
                    "end": 949,
                    "loc": {
                      "start": {
                        "line": 32,
                        "column": 17
                      },
                      "end": {
                        "line": 32,
                        "column": 23
                      },
                      "identifierName": "button"
                    },
                    "name": "button"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 950,
                  "end": 1355,
                  "loc": {
                    "start": {
                      "line": 32,
                      "column": 24
                    },
                    "end": {
                      "line": 41,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 957,
                      "end": 1079,
                      "loc": {
                        "start": {
                          "line": 33,
                          "column": 4
                        },
                        "end": {
                          "line": 33,
                          "column": 126
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 961,
                          "end": 1078,
                          "loc": {
                            "start": {
                              "line": 33,
                              "column": 8
                            },
                            "end": {
                              "line": 33,
                              "column": 125
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 961,
                            "end": 976,
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 8
                              },
                              "end": {
                                "line": 33,
                                "column": 23
                              },
                              "identifierName": "buttonTypeClass"
                            },
                            "name": "buttonTypeClass"
                          },
                          "init": {
                            "type": "ConditionalExpression",
                            "start": 979,
                            "end": 1078,
                            "loc": {
                              "start": {
                                "line": 33,
                                "column": 26
                              },
                              "end": {
                                "line": 33,
                                "column": 125
                              }
                            },
                            "test": {
                              "type": "LogicalExpression",
                              "start": 980,
                              "end": 1045,
                              "loc": {
                                "start": {
                                  "line": 33,
                                  "column": 27
                                },
                                "end": {
                                  "line": 33,
                                  "column": 92
                                }
                              },
                              "left": {
                                "type": "LogicalExpression",
                                "start": 980,
                                "end": 1024,
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 33,
                                    "column": 71
                                  }
                                },
                                "left": {
                                  "type": "CallExpression",
                                  "start": 980,
                                  "end": 1000,
                                  "loc": {
                                    "start": {
                                      "line": 33,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 33,
                                      "column": 47
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 980,
                                    "end": 995,
                                    "loc": {
                                      "start": {
                                        "line": 33,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 33,
                                        "column": 42
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 980,
                                      "end": 986,
                                      "loc": {
                                        "start": {
                                          "line": 33,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 33,
                                          "column": 33
                                        },
                                        "identifierName": "button"
                                      },
                                      "name": "button"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 987,
                                      "end": 995,
                                      "loc": {
                                        "start": {
                                          "line": 33,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 33,
                                          "column": 42
                                        },
                                        "identifierName": "includes"
                                      },
                                      "name": "includes"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "StringLiteral",
                                      "start": 996,
                                      "end": 999,
                                      "loc": {
                                        "start": {
                                          "line": 33,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 33,
                                          "column": 46
                                        }
                                      },
                                      "extra": {
                                        "rawValue": "{",
                                        "raw": "\"{\""
                                      },
                                      "value": "{"
                                    }
                                  ]
                                },
                                "operator": "&&",
                                "right": {
                                  "type": "CallExpression",
                                  "start": 1004,
                                  "end": 1024,
                                  "loc": {
                                    "start": {
                                      "line": 33,
                                      "column": 51
                                    },
                                    "end": {
                                      "line": 33,
                                      "column": 71
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 1004,
                                    "end": 1019,
                                    "loc": {
                                      "start": {
                                        "line": 33,
                                        "column": 51
                                      },
                                      "end": {
                                        "line": 33,
                                        "column": 66
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 1004,
                                      "end": 1010,
                                      "loc": {
                                        "start": {
                                          "line": 33,
                                          "column": 51
                                        },
                                        "end": {
                                          "line": 33,
                                          "column": 57
                                        },
                                        "identifierName": "button"
                                      },
                                      "name": "button"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 1011,
                                      "end": 1019,
                                      "loc": {
                                        "start": {
                                          "line": 33,
                                          "column": 58
                                        },
                                        "end": {
                                          "line": 33,
                                          "column": 66
                                        },
                                        "identifierName": "includes"
                                      },
                                      "name": "includes"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "StringLiteral",
                                      "start": 1020,
                                      "end": 1023,
                                      "loc": {
                                        "start": {
                                          "line": 33,
                                          "column": 67
                                        },
                                        "end": {
                                          "line": 33,
                                          "column": 70
                                        }
                                      },
                                      "extra": {
                                        "rawValue": "}",
                                        "raw": "\"}\""
                                      },
                                      "value": "}"
                                    }
                                  ]
                                }
                              },
                              "operator": "&&",
                              "right": {
                                "type": "BinaryExpression",
                                "start": 1028,
                                "end": 1045,
                                "loc": {
                                  "start": {
                                    "line": 33,
                                    "column": 75
                                  },
                                  "end": {
                                    "line": 33,
                                    "column": 92
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 1028,
                                  "end": 1034,
                                  "loc": {
                                    "start": {
                                      "line": 33,
                                      "column": 75
                                    },
                                    "end": {
                                      "line": 33,
                                      "column": 81
                                    },
                                    "identifierName": "button"
                                  },
                                  "name": "button"
                                },
                                "operator": "!==",
                                "right": {
                                  "type": "StringLiteral",
                                  "start": 1039,
                                  "end": 1045,
                                  "loc": {
                                    "start": {
                                      "line": 33,
                                      "column": 86
                                    },
                                    "end": {
                                      "line": 33,
                                      "column": 92
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "{//}",
                                    "raw": "'{//}'"
                                  },
                                  "value": "{//}"
                                }
                              },
                              "extra": {
                                "parenthesized": true,
                                "parenStart": 979
                              }
                            },
                            "consequent": {
                              "type": "StringLiteral",
                              "start": 1049,
                              "end": 1062,
                              "loc": {
                                "start": {
                                  "line": 33,
                                  "column": 96
                                },
                                "end": {
                                  "line": 33,
                                  "column": 109
                                }
                              },
                              "extra": {
                                "rawValue": "functionBtn",
                                "raw": "\"functionBtn\""
                              },
                              "value": "functionBtn"
                            },
                            "alternate": {
                              "type": "StringLiteral",
                              "start": 1065,
                              "end": 1078,
                              "loc": {
                                "start": {
                                  "line": 33,
                                  "column": 112
                                },
                                "end": {
                                  "line": 33,
                                  "column": 125
                                }
                              },
                              "extra": {
                                "rawValue": "standardBtn",
                                "raw": "\"standardBtn\""
                              },
                              "value": "standardBtn"
                            }
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 1085,
                      "end": 1152,
                      "loc": {
                        "start": {
                          "line": 34,
                          "column": 4
                        },
                        "end": {
                          "line": 34,
                          "column": 71
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1089,
                          "end": 1151,
                          "loc": {
                            "start": {
                              "line": 34,
                              "column": 8
                            },
                            "end": {
                              "line": 34,
                              "column": 70
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1089,
                            "end": 1108,
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 8
                              },
                              "end": {
                                "line": 34,
                                "column": 27
                              },
                              "identifierName": "buttonWithoutBraces"
                            },
                            "name": "buttonWithoutBraces"
                          },
                          "init": {
                            "type": "CallExpression",
                            "start": 1111,
                            "end": 1151,
                            "loc": {
                              "start": {
                                "line": 34,
                                "column": 30
                              },
                              "end": {
                                "line": 34,
                                "column": 70
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1111,
                              "end": 1142,
                              "loc": {
                                "start": {
                                  "line": 34,
                                  "column": 30
                                },
                                "end": {
                                  "line": 34,
                                  "column": 61
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 1111,
                                "end": 1134,
                                "loc": {
                                  "start": {
                                    "line": 34,
                                    "column": 30
                                  },
                                  "end": {
                                    "line": 34,
                                    "column": 53
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 1111,
                                  "end": 1125,
                                  "loc": {
                                    "start": {
                                      "line": 34,
                                      "column": 30
                                    },
                                    "end": {
                                      "line": 34,
                                      "column": 44
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 1111,
                                    "end": 1117,
                                    "loc": {
                                      "start": {
                                        "line": 34,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 34,
                                        "column": 36
                                      },
                                      "identifierName": "button"
                                    },
                                    "name": "button"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 1118,
                                    "end": 1125,
                                    "loc": {
                                      "start": {
                                        "line": 34,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 34,
                                        "column": 44
                                      },
                                      "identifierName": "replace"
                                    },
                                    "name": "replace"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "StringLiteral",
                                    "start": 1126,
                                    "end": 1129,
                                    "loc": {
                                      "start": {
                                        "line": 34,
                                        "column": 45
                                      },
                                      "end": {
                                        "line": 34,
                                        "column": 48
                                      }
                                    },
                                    "extra": {
                                      "rawValue": "{",
                                      "raw": "\"{\""
                                    },
                                    "value": "{"
                                  },
                                  {
                                    "type": "StringLiteral",
                                    "start": 1131,
                                    "end": 1133,
                                    "loc": {
                                      "start": {
                                        "line": 34,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 34,
                                        "column": 52
                                      }
                                    },
                                    "extra": {
                                      "rawValue": "",
                                      "raw": "\"\""
                                    },
                                    "value": ""
                                  }
                                ]
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1135,
                                "end": 1142,
                                "loc": {
                                  "start": {
                                    "line": 34,
                                    "column": 54
                                  },
                                  "end": {
                                    "line": 34,
                                    "column": 61
                                  },
                                  "identifierName": "replace"
                                },
                                "name": "replace"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "StringLiteral",
                                "start": 1143,
                                "end": 1146,
                                "loc": {
                                  "start": {
                                    "line": 34,
                                    "column": 62
                                  },
                                  "end": {
                                    "line": 34,
                                    "column": 65
                                  }
                                },
                                "extra": {
                                  "rawValue": "}",
                                  "raw": "\"}\""
                                },
                                "value": "}"
                              },
                              {
                                "type": "StringLiteral",
                                "start": 1148,
                                "end": 1150,
                                "loc": {
                                  "start": {
                                    "line": 34,
                                    "column": 67
                                  },
                                  "end": {
                                    "line": 34,
                                    "column": 69
                                  }
                                },
                                "extra": {
                                  "rawValue": "",
                                  "raw": "\"\""
                                },
                                "value": ""
                              }
                            ]
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 1158,
                      "end": 1184,
                      "loc": {
                        "start": {
                          "line": 35,
                          "column": 4
                        },
                        "end": {
                          "line": 35,
                          "column": 30
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1162,
                          "end": 1183,
                          "loc": {
                            "start": {
                              "line": 35,
                              "column": 8
                            },
                            "end": {
                              "line": 35,
                              "column": 29
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1162,
                            "end": 1178,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 8
                              },
                              "end": {
                                "line": 35,
                                "column": 24
                              },
                              "identifierName": "buttonNormalized"
                            },
                            "name": "buttonNormalized"
                          },
                          "init": {
                            "type": "StringLiteral",
                            "start": 1181,
                            "end": 1183,
                            "loc": {
                              "start": {
                                "line": 35,
                                "column": 27
                              },
                              "end": {
                                "line": 35,
                                "column": 29
                              }
                            },
                            "extra": {
                              "rawValue": "",
                              "raw": "''"
                            },
                            "value": ""
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "IfStatement",
                      "start": 1192,
                      "end": 1292,
                      "loc": {
                        "start": {
                          "line": 37,
                          "column": 4
                        },
                        "end": {
                          "line": 38,
                          "column": 61
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 1195,
                        "end": 1228,
                        "loc": {
                          "start": {
                            "line": 37,
                            "column": 7
                          },
                          "end": {
                            "line": 37,
                            "column": 40
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 1195,
                          "end": 1210,
                          "loc": {
                            "start": {
                              "line": 37,
                              "column": 7
                            },
                            "end": {
                              "line": 37,
                              "column": 22
                            },
                            "identifierName": "buttonTypeClass"
                          },
                          "name": "buttonTypeClass"
                        },
                        "operator": "!==",
                        "right": {
                          "type": "StringLiteral",
                          "start": 1215,
                          "end": 1228,
                          "loc": {
                            "start": {
                              "line": 37,
                              "column": 27
                            },
                            "end": {
                              "line": 37,
                              "column": 40
                            }
                          },
                          "extra": {
                            "rawValue": "standardBtn",
                            "raw": "\"standardBtn\""
                          },
                          "value": "standardBtn"
                        }
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 1237,
                        "end": 1292,
                        "loc": {
                          "start": {
                            "line": 38,
                            "column": 6
                          },
                          "end": {
                            "line": 38,
                            "column": 61
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 1237,
                          "end": 1291,
                          "loc": {
                            "start": {
                              "line": 38,
                              "column": 6
                            },
                            "end": {
                              "line": 38,
                              "column": 60
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "Identifier",
                            "start": 1237,
                            "end": 1253,
                            "loc": {
                              "start": {
                                "line": 38,
                                "column": 6
                              },
                              "end": {
                                "line": 38,
                                "column": 22
                              },
                              "identifierName": "buttonNormalized"
                            },
                            "name": "buttonNormalized"
                          },
                          "right": {
                            "type": "TemplateLiteral",
                            "start": 1256,
                            "end": 1291,
                            "loc": {
                              "start": {
                                "line": 38,
                                "column": 25
                              },
                              "end": {
                                "line": 38,
                                "column": 60
                              }
                            },
                            "expressions": [
                              {
                                "type": "Identifier",
                                "start": 1270,
                                "end": 1289,
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 58
                                  },
                                  "identifierName": "buttonWithoutBraces"
                                },
                                "name": "buttonWithoutBraces"
                              }
                            ],
                            "quasis": [
                              {
                                "type": "TemplateElement",
                                "start": 1257,
                                "end": 1268,
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 37
                                  }
                                },
                                "value": {
                                  "raw": " hg-button-",
                                  "cooked": " hg-button-"
                                },
                                "tail": false
                              },
                              {
                                "type": "TemplateElement",
                                "start": 1290,
                                "end": 1290,
                                "loc": {
                                  "start": {
                                    "line": 38,
                                    "column": 59
                                  },
                                  "end": {
                                    "line": 38,
                                    "column": 59
                                  }
                                },
                                "value": {
                                  "raw": "",
                                  "cooked": ""
                                },
                                "tail": true
                              }
                            ]
                          }
                        }
                      },
                      "alternate": null
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 1300,
                      "end": 1350,
                      "loc": {
                        "start": {
                          "line": 40,
                          "column": 4
                        },
                        "end": {
                          "line": 40,
                          "column": 54
                        }
                      },
                      "argument": {
                        "type": "TemplateLiteral",
                        "start": 1307,
                        "end": 1349,
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 11
                          },
                          "end": {
                            "line": 40,
                            "column": 53
                          }
                        },
                        "expressions": [
                          {
                            "type": "Identifier",
                            "start": 1313,
                            "end": 1328,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 17
                              },
                              "end": {
                                "line": 40,
                                "column": 32
                              },
                              "identifierName": "buttonTypeClass"
                            },
                            "name": "buttonTypeClass"
                          },
                          {
                            "type": "Identifier",
                            "start": 1331,
                            "end": 1347,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 35
                              },
                              "end": {
                                "line": 40,
                                "column": 51
                              },
                              "identifierName": "buttonNormalized"
                            },
                            "name": "buttonNormalized"
                          }
                        ],
                        "quasis": [
                          {
                            "type": "TemplateElement",
                            "start": 1308,
                            "end": 1311,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 12
                              },
                              "end": {
                                "line": 40,
                                "column": 15
                              }
                            },
                            "value": {
                              "raw": "hg-",
                              "cooked": "hg-"
                            },
                            "tail": false
                          },
                          {
                            "type": "TemplateElement",
                            "start": 1329,
                            "end": 1329,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 33
                              },
                              "end": {
                                "line": 40,
                                "column": 33
                              }
                            },
                            "value": {
                              "raw": "",
                              "cooked": ""
                            },
                            "tail": false
                          },
                          {
                            "type": "TemplateElement",
                            "start": 1348,
                            "end": 1348,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 52
                              },
                              "end": {
                                "line": 40,
                                "column": 52
                              }
                            },
                            "value": {
                              "raw": "",
                              "cooked": ""
                            },
                            "tail": true
                          }
                        ]
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Adds default classes to a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @return {string} The classes to be added to the button\r\n   ",
                    "start": 746,
                    "end": 924,
                    "loc": {
                      "start": {
                        "line": 26,
                        "column": 2
                      },
                      "end": {
                        "line": 31,
                        "column": 5
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Default button display labels\r\n   ",
                    "start": 1361,
                    "end": 1407,
                    "loc": {
                      "start": {
                        "line": 43,
                        "column": 2
                      },
                      "end": {
                        "line": 45,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 1411,
                "end": 2979,
                "loc": {
                  "start": {
                    "line": 46,
                    "column": 2
                  },
                  "end": {
                    "line": 108,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1411,
                  "end": 1427,
                  "loc": {
                    "start": {
                      "line": 46,
                      "column": 2
                    },
                    "end": {
                      "line": 46,
                      "column": 18
                    },
                    "identifierName": "getDefaultDiplay"
                  },
                  "name": "getDefaultDiplay",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 1429,
                  "end": 2979,
                  "loc": {
                    "start": {
                      "line": 46,
                      "column": 20
                    },
                    "end": {
                      "line": 108,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 1436,
                      "end": 2974,
                      "loc": {
                        "start": {
                          "line": 47,
                          "column": 4
                        },
                        "end": {
                          "line": 107,
                          "column": 6
                        }
                      },
                      "argument": {
                        "type": "ObjectExpression",
                        "start": 1443,
                        "end": 2973,
                        "loc": {
                          "start": {
                            "line": 47,
                            "column": 11
                          },
                          "end": {
                            "line": 107,
                            "column": 5
                          }
                        },
                        "properties": [
                          {
                            "type": "ObjectProperty",
                            "start": 1452,
                            "end": 1473,
                            "loc": {
                              "start": {
                                "line": 48,
                                "column": 6
                              },
                              "end": {
                                "line": 48,
                                "column": 27
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1452,
                              "end": 1460,
                              "loc": {
                                "start": {
                                  "line": 48,
                                  "column": 6
                                },
                                "end": {
                                  "line": 48,
                                  "column": 14
                                }
                              },
                              "extra": {
                                "rawValue": "{bksp}",
                                "raw": "'{bksp}'"
                              },
                              "value": "{bksp}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1462,
                              "end": 1473,
                              "loc": {
                                "start": {
                                  "line": 48,
                                  "column": 16
                                },
                                "end": {
                                  "line": 48,
                                  "column": 27
                                }
                              },
                              "extra": {
                                "rawValue": "backspace",
                                "raw": "'backspace'"
                              },
                              "value": "backspace"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1482,
                            "end": 1508,
                            "loc": {
                              "start": {
                                "line": 49,
                                "column": 6
                              },
                              "end": {
                                "line": 49,
                                "column": 32
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1482,
                              "end": 1495,
                              "loc": {
                                "start": {
                                  "line": 49,
                                  "column": 6
                                },
                                "end": {
                                  "line": 49,
                                  "column": 19
                                }
                              },
                              "extra": {
                                "rawValue": "{backspace}",
                                "raw": "'{backspace}'"
                              },
                              "value": "{backspace}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1497,
                              "end": 1508,
                              "loc": {
                                "start": {
                                  "line": 49,
                                  "column": 21
                                },
                                "end": {
                                  "line": 49,
                                  "column": 32
                                }
                              },
                              "extra": {
                                "rawValue": "backspace",
                                "raw": "'backspace'"
                              },
                              "value": "backspace"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1517,
                            "end": 1537,
                            "loc": {
                              "start": {
                                "line": 50,
                                "column": 6
                              },
                              "end": {
                                "line": 50,
                                "column": 26
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1517,
                              "end": 1526,
                              "loc": {
                                "start": {
                                  "line": 50,
                                  "column": 6
                                },
                                "end": {
                                  "line": 50,
                                  "column": 15
                                }
                              },
                              "extra": {
                                "rawValue": "{enter}",
                                "raw": "'{enter}'"
                              },
                              "value": "{enter}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1528,
                              "end": 1537,
                              "loc": {
                                "start": {
                                  "line": 50,
                                  "column": 17
                                },
                                "end": {
                                  "line": 50,
                                  "column": 26
                                }
                              },
                              "extra": {
                                "rawValue": "< enter",
                                "raw": "'< enter'"
                              },
                              "value": "< enter"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1546,
                            "end": 1564,
                            "loc": {
                              "start": {
                                "line": 51,
                                "column": 6
                              },
                              "end": {
                                "line": 51,
                                "column": 24
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1546,
                              "end": 1555,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 6
                                },
                                "end": {
                                  "line": 51,
                                  "column": 15
                                }
                              },
                              "extra": {
                                "rawValue": "{shift}",
                                "raw": "'{shift}'"
                              },
                              "value": "{shift}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1557,
                              "end": 1564,
                              "loc": {
                                "start": {
                                  "line": 51,
                                  "column": 17
                                },
                                "end": {
                                  "line": 51,
                                  "column": 24
                                }
                              },
                              "extra": {
                                "rawValue": "shift",
                                "raw": "'shift'"
                              },
                              "value": "shift"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1573,
                            "end": 1595,
                            "loc": {
                              "start": {
                                "line": 52,
                                "column": 6
                              },
                              "end": {
                                "line": 52,
                                "column": 28
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1573,
                              "end": 1586,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 6
                                },
                                "end": {
                                  "line": 52,
                                  "column": 19
                                }
                              },
                              "extra": {
                                "rawValue": "{shiftleft}",
                                "raw": "'{shiftleft}'"
                              },
                              "value": "{shiftleft}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1588,
                              "end": 1595,
                              "loc": {
                                "start": {
                                  "line": 52,
                                  "column": 21
                                },
                                "end": {
                                  "line": 52,
                                  "column": 28
                                }
                              },
                              "extra": {
                                "rawValue": "shift",
                                "raw": "'shift'"
                              },
                              "value": "shift"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1604,
                            "end": 1627,
                            "loc": {
                              "start": {
                                "line": 53,
                                "column": 6
                              },
                              "end": {
                                "line": 53,
                                "column": 29
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1604,
                              "end": 1618,
                              "loc": {
                                "start": {
                                  "line": 53,
                                  "column": 6
                                },
                                "end": {
                                  "line": 53,
                                  "column": 20
                                }
                              },
                              "extra": {
                                "rawValue": "{shiftright}",
                                "raw": "'{shiftright}'"
                              },
                              "value": "{shiftright}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1620,
                              "end": 1627,
                              "loc": {
                                "start": {
                                  "line": 53,
                                  "column": 22
                                },
                                "end": {
                                  "line": 53,
                                  "column": 29
                                }
                              },
                              "extra": {
                                "rawValue": "shift",
                                "raw": "'shift'"
                              },
                              "value": "shift"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1636,
                            "end": 1650,
                            "loc": {
                              "start": {
                                "line": 54,
                                "column": 6
                              },
                              "end": {
                                "line": 54,
                                "column": 20
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1636,
                              "end": 1643,
                              "loc": {
                                "start": {
                                  "line": 54,
                                  "column": 6
                                },
                                "end": {
                                  "line": 54,
                                  "column": 13
                                }
                              },
                              "extra": {
                                "rawValue": "{alt}",
                                "raw": "'{alt}'"
                              },
                              "value": "{alt}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1645,
                              "end": 1650,
                              "loc": {
                                "start": {
                                  "line": 54,
                                  "column": 15
                                },
                                "end": {
                                  "line": 54,
                                  "column": 20
                                }
                              },
                              "extra": {
                                "rawValue": "alt",
                                "raw": "'alt'"
                              },
                              "value": "alt"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1659,
                            "end": 1673,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 6
                              },
                              "end": {
                                "line": 55,
                                "column": 20
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1659,
                              "end": 1664,
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 6
                                },
                                "end": {
                                  "line": 55,
                                  "column": 11
                                }
                              },
                              "extra": {
                                "rawValue": "{s}",
                                "raw": "'{s}'"
                              },
                              "value": "{s}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1666,
                              "end": 1673,
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 13
                                },
                                "end": {
                                  "line": 55,
                                  "column": 20
                                }
                              },
                              "extra": {
                                "rawValue": "shift",
                                "raw": "'shift'"
                              },
                              "value": "shift"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1682,
                            "end": 1696,
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 6
                              },
                              "end": {
                                "line": 56,
                                "column": 20
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1682,
                              "end": 1689,
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 6
                                },
                                "end": {
                                  "line": 56,
                                  "column": 13
                                }
                              },
                              "extra": {
                                "rawValue": "{tab}",
                                "raw": "'{tab}'"
                              },
                              "value": "{tab}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1691,
                              "end": 1696,
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 15
                                },
                                "end": {
                                  "line": 56,
                                  "column": 20
                                }
                              },
                              "extra": {
                                "rawValue": "tab",
                                "raw": "'tab'"
                              },
                              "value": "tab"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1705,
                            "end": 1721,
                            "loc": {
                              "start": {
                                "line": 57,
                                "column": 6
                              },
                              "end": {
                                "line": 57,
                                "column": 22
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1705,
                              "end": 1713,
                              "loc": {
                                "start": {
                                  "line": 57,
                                  "column": 6
                                },
                                "end": {
                                  "line": 57,
                                  "column": 14
                                }
                              },
                              "extra": {
                                "rawValue": "{lock}",
                                "raw": "'{lock}'"
                              },
                              "value": "{lock}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1715,
                              "end": 1721,
                              "loc": {
                                "start": {
                                  "line": 57,
                                  "column": 16
                                },
                                "end": {
                                  "line": 57,
                                  "column": 22
                                }
                              },
                              "extra": {
                                "rawValue": "caps",
                                "raw": "'caps'"
                              },
                              "value": "caps"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1730,
                            "end": 1750,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 6
                              },
                              "end": {
                                "line": 58,
                                "column": 26
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1730,
                              "end": 1742,
                              "loc": {
                                "start": {
                                  "line": 58,
                                  "column": 6
                                },
                                "end": {
                                  "line": 58,
                                  "column": 18
                                }
                              },
                              "extra": {
                                "rawValue": "{capslock}",
                                "raw": "'{capslock}'"
                              },
                              "value": "{capslock}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1744,
                              "end": 1750,
                              "loc": {
                                "start": {
                                  "line": 58,
                                  "column": 20
                                },
                                "end": {
                                  "line": 58,
                                  "column": 26
                                }
                              },
                              "extra": {
                                "rawValue": "caps",
                                "raw": "'caps'"
                              },
                              "value": "caps"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1759,
                            "end": 1779,
                            "loc": {
                              "start": {
                                "line": 59,
                                "column": 6
                              },
                              "end": {
                                "line": 59,
                                "column": 26
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1759,
                              "end": 1769,
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 6
                                },
                                "end": {
                                  "line": 59,
                                  "column": 16
                                }
                              },
                              "extra": {
                                "rawValue": "{accept}",
                                "raw": "'{accept}'"
                              },
                              "value": "{accept}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1771,
                              "end": 1779,
                              "loc": {
                                "start": {
                                  "line": 59,
                                  "column": 18
                                },
                                "end": {
                                  "line": 59,
                                  "column": 26
                                }
                              },
                              "extra": {
                                "rawValue": "Submit",
                                "raw": "'Submit'"
                              },
                              "value": "Submit"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1788,
                            "end": 1802,
                            "loc": {
                              "start": {
                                "line": 60,
                                "column": 6
                              },
                              "end": {
                                "line": 60,
                                "column": 20
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1788,
                              "end": 1797,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 6
                                },
                                "end": {
                                  "line": 60,
                                  "column": 15
                                }
                              },
                              "extra": {
                                "rawValue": "{space}",
                                "raw": "'{space}'"
                              },
                              "value": "{space}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1799,
                              "end": 1802,
                              "loc": {
                                "start": {
                                  "line": 60,
                                  "column": 17
                                },
                                "end": {
                                  "line": 60,
                                  "column": 20
                                }
                              },
                              "extra": {
                                "rawValue": " ",
                                "raw": "' '"
                              },
                              "value": " "
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1811,
                            "end": 1822,
                            "loc": {
                              "start": {
                                "line": 61,
                                "column": 6
                              },
                              "end": {
                                "line": 61,
                                "column": 17
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1811,
                              "end": 1817,
                              "loc": {
                                "start": {
                                  "line": 61,
                                  "column": 6
                                },
                                "end": {
                                  "line": 61,
                                  "column": 12
                                }
                              },
                              "extra": {
                                "rawValue": "{//}",
                                "raw": "'{//}'"
                              },
                              "value": "{//}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1819,
                              "end": 1822,
                              "loc": {
                                "start": {
                                  "line": 61,
                                  "column": 14
                                },
                                "end": {
                                  "line": 61,
                                  "column": 17
                                }
                              },
                              "extra": {
                                "rawValue": " ",
                                "raw": "' '"
                              },
                              "value": " "
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1831,
                            "end": 1845,
                            "loc": {
                              "start": {
                                "line": 62,
                                "column": 6
                              },
                              "end": {
                                "line": 62,
                                "column": 20
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1831,
                              "end": 1838,
                              "loc": {
                                "start": {
                                  "line": 62,
                                  "column": 6
                                },
                                "end": {
                                  "line": 62,
                                  "column": 13
                                }
                              },
                              "extra": {
                                "rawValue": "{esc}",
                                "raw": "\"{esc}\""
                              },
                              "value": "{esc}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1840,
                              "end": 1845,
                              "loc": {
                                "start": {
                                  "line": 62,
                                  "column": 15
                                },
                                "end": {
                                  "line": 62,
                                  "column": 20
                                }
                              },
                              "extra": {
                                "rawValue": "esc",
                                "raw": "\"esc\""
                              },
                              "value": "esc"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1854,
                            "end": 1871,
                            "loc": {
                              "start": {
                                "line": 63,
                                "column": 6
                              },
                              "end": {
                                "line": 63,
                                "column": 23
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1854,
                              "end": 1864,
                              "loc": {
                                "start": {
                                  "line": 63,
                                  "column": 6
                                },
                                "end": {
                                  "line": 63,
                                  "column": 16
                                }
                              },
                              "extra": {
                                "rawValue": "{escape}",
                                "raw": "\"{escape}\""
                              },
                              "value": "{escape}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1866,
                              "end": 1871,
                              "loc": {
                                "start": {
                                  "line": 63,
                                  "column": 18
                                },
                                "end": {
                                  "line": 63,
                                  "column": 23
                                }
                              },
                              "extra": {
                                "rawValue": "esc",
                                "raw": "\"esc\""
                              },
                              "value": "esc"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1880,
                            "end": 1892,
                            "loc": {
                              "start": {
                                "line": 64,
                                "column": 6
                              },
                              "end": {
                                "line": 64,
                                "column": 18
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1880,
                              "end": 1886,
                              "loc": {
                                "start": {
                                  "line": 64,
                                  "column": 6
                                },
                                "end": {
                                  "line": 64,
                                  "column": 12
                                }
                              },
                              "extra": {
                                "rawValue": "{f1}",
                                "raw": "\"{f1}\""
                              },
                              "value": "{f1}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1888,
                              "end": 1892,
                              "loc": {
                                "start": {
                                  "line": 64,
                                  "column": 14
                                },
                                "end": {
                                  "line": 64,
                                  "column": 18
                                }
                              },
                              "extra": {
                                "rawValue": "f1",
                                "raw": "\"f1\""
                              },
                              "value": "f1"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1901,
                            "end": 1913,
                            "loc": {
                              "start": {
                                "line": 65,
                                "column": 6
                              },
                              "end": {
                                "line": 65,
                                "column": 18
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1901,
                              "end": 1907,
                              "loc": {
                                "start": {
                                  "line": 65,
                                  "column": 6
                                },
                                "end": {
                                  "line": 65,
                                  "column": 12
                                }
                              },
                              "extra": {
                                "rawValue": "{f2}",
                                "raw": "\"{f2}\""
                              },
                              "value": "{f2}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1909,
                              "end": 1913,
                              "loc": {
                                "start": {
                                  "line": 65,
                                  "column": 14
                                },
                                "end": {
                                  "line": 65,
                                  "column": 18
                                }
                              },
                              "extra": {
                                "rawValue": "f2",
                                "raw": "\"f2\""
                              },
                              "value": "f2"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1922,
                            "end": 1934,
                            "loc": {
                              "start": {
                                "line": 66,
                                "column": 6
                              },
                              "end": {
                                "line": 66,
                                "column": 18
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1922,
                              "end": 1928,
                              "loc": {
                                "start": {
                                  "line": 66,
                                  "column": 6
                                },
                                "end": {
                                  "line": 66,
                                  "column": 12
                                }
                              },
                              "extra": {
                                "rawValue": "{f3}",
                                "raw": "\"{f3}\""
                              },
                              "value": "{f3}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1930,
                              "end": 1934,
                              "loc": {
                                "start": {
                                  "line": 66,
                                  "column": 14
                                },
                                "end": {
                                  "line": 66,
                                  "column": 18
                                }
                              },
                              "extra": {
                                "rawValue": "f3",
                                "raw": "\"f3\""
                              },
                              "value": "f3"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1943,
                            "end": 1955,
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 6
                              },
                              "end": {
                                "line": 67,
                                "column": 18
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1943,
                              "end": 1949,
                              "loc": {
                                "start": {
                                  "line": 67,
                                  "column": 6
                                },
                                "end": {
                                  "line": 67,
                                  "column": 12
                                }
                              },
                              "extra": {
                                "rawValue": "{f4}",
                                "raw": "\"{f4}\""
                              },
                              "value": "{f4}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1951,
                              "end": 1955,
                              "loc": {
                                "start": {
                                  "line": 67,
                                  "column": 14
                                },
                                "end": {
                                  "line": 67,
                                  "column": 18
                                }
                              },
                              "extra": {
                                "rawValue": "f4",
                                "raw": "\"f4\""
                              },
                              "value": "f4"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1964,
                            "end": 1976,
                            "loc": {
                              "start": {
                                "line": 68,
                                "column": 6
                              },
                              "end": {
                                "line": 68,
                                "column": 18
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1964,
                              "end": 1970,
                              "loc": {
                                "start": {
                                  "line": 68,
                                  "column": 6
                                },
                                "end": {
                                  "line": 68,
                                  "column": 12
                                }
                              },
                              "extra": {
                                "rawValue": "{f5}",
                                "raw": "\"{f5}\""
                              },
                              "value": "{f5}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1972,
                              "end": 1976,
                              "loc": {
                                "start": {
                                  "line": 68,
                                  "column": 14
                                },
                                "end": {
                                  "line": 68,
                                  "column": 18
                                }
                              },
                              "extra": {
                                "rawValue": "f5",
                                "raw": "\"f5\""
                              },
                              "value": "f5"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 1985,
                            "end": 1997,
                            "loc": {
                              "start": {
                                "line": 69,
                                "column": 6
                              },
                              "end": {
                                "line": 69,
                                "column": 18
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 1985,
                              "end": 1991,
                              "loc": {
                                "start": {
                                  "line": 69,
                                  "column": 6
                                },
                                "end": {
                                  "line": 69,
                                  "column": 12
                                }
                              },
                              "extra": {
                                "rawValue": "{f6}",
                                "raw": "\"{f6}\""
                              },
                              "value": "{f6}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 1993,
                              "end": 1997,
                              "loc": {
                                "start": {
                                  "line": 69,
                                  "column": 14
                                },
                                "end": {
                                  "line": 69,
                                  "column": 18
                                }
                              },
                              "extra": {
                                "rawValue": "f6",
                                "raw": "\"f6\""
                              },
                              "value": "f6"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2006,
                            "end": 2018,
                            "loc": {
                              "start": {
                                "line": 70,
                                "column": 6
                              },
                              "end": {
                                "line": 70,
                                "column": 18
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2006,
                              "end": 2012,
                              "loc": {
                                "start": {
                                  "line": 70,
                                  "column": 6
                                },
                                "end": {
                                  "line": 70,
                                  "column": 12
                                }
                              },
                              "extra": {
                                "rawValue": "{f7}",
                                "raw": "\"{f7}\""
                              },
                              "value": "{f7}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2014,
                              "end": 2018,
                              "loc": {
                                "start": {
                                  "line": 70,
                                  "column": 14
                                },
                                "end": {
                                  "line": 70,
                                  "column": 18
                                }
                              },
                              "extra": {
                                "rawValue": "f7",
                                "raw": "\"f7\""
                              },
                              "value": "f7"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2027,
                            "end": 2039,
                            "loc": {
                              "start": {
                                "line": 71,
                                "column": 6
                              },
                              "end": {
                                "line": 71,
                                "column": 18
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2027,
                              "end": 2033,
                              "loc": {
                                "start": {
                                  "line": 71,
                                  "column": 6
                                },
                                "end": {
                                  "line": 71,
                                  "column": 12
                                }
                              },
                              "extra": {
                                "rawValue": "{f8}",
                                "raw": "\"{f8}\""
                              },
                              "value": "{f8}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2035,
                              "end": 2039,
                              "loc": {
                                "start": {
                                  "line": 71,
                                  "column": 14
                                },
                                "end": {
                                  "line": 71,
                                  "column": 18
                                }
                              },
                              "extra": {
                                "rawValue": "f8",
                                "raw": "\"f8\""
                              },
                              "value": "f8"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2048,
                            "end": 2060,
                            "loc": {
                              "start": {
                                "line": 72,
                                "column": 6
                              },
                              "end": {
                                "line": 72,
                                "column": 18
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2048,
                              "end": 2054,
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 6
                                },
                                "end": {
                                  "line": 72,
                                  "column": 12
                                }
                              },
                              "extra": {
                                "rawValue": "{f9}",
                                "raw": "\"{f9}\""
                              },
                              "value": "{f9}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2056,
                              "end": 2060,
                              "loc": {
                                "start": {
                                  "line": 72,
                                  "column": 14
                                },
                                "end": {
                                  "line": 72,
                                  "column": 18
                                }
                              },
                              "extra": {
                                "rawValue": "f9",
                                "raw": "\"f9\""
                              },
                              "value": "f9"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2069,
                            "end": 2083,
                            "loc": {
                              "start": {
                                "line": 73,
                                "column": 6
                              },
                              "end": {
                                "line": 73,
                                "column": 20
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2069,
                              "end": 2076,
                              "loc": {
                                "start": {
                                  "line": 73,
                                  "column": 6
                                },
                                "end": {
                                  "line": 73,
                                  "column": 13
                                }
                              },
                              "extra": {
                                "rawValue": "{f10}",
                                "raw": "\"{f10}\""
                              },
                              "value": "{f10}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2078,
                              "end": 2083,
                              "loc": {
                                "start": {
                                  "line": 73,
                                  "column": 15
                                },
                                "end": {
                                  "line": 73,
                                  "column": 20
                                }
                              },
                              "extra": {
                                "rawValue": "f10",
                                "raw": "\"f10\""
                              },
                              "value": "f10"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2092,
                            "end": 2106,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 6
                              },
                              "end": {
                                "line": 74,
                                "column": 20
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2092,
                              "end": 2099,
                              "loc": {
                                "start": {
                                  "line": 74,
                                  "column": 6
                                },
                                "end": {
                                  "line": 74,
                                  "column": 13
                                }
                              },
                              "extra": {
                                "rawValue": "{f11}",
                                "raw": "\"{f11}\""
                              },
                              "value": "{f11}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2101,
                              "end": 2106,
                              "loc": {
                                "start": {
                                  "line": 74,
                                  "column": 15
                                },
                                "end": {
                                  "line": 74,
                                  "column": 20
                                }
                              },
                              "extra": {
                                "rawValue": "f11",
                                "raw": "\"f11\""
                              },
                              "value": "f11"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2115,
                            "end": 2129,
                            "loc": {
                              "start": {
                                "line": 75,
                                "column": 6
                              },
                              "end": {
                                "line": 75,
                                "column": 20
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2115,
                              "end": 2122,
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 6
                                },
                                "end": {
                                  "line": 75,
                                  "column": 13
                                }
                              },
                              "extra": {
                                "rawValue": "{f12}",
                                "raw": "\"{f12}\""
                              },
                              "value": "{f12}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2124,
                              "end": 2129,
                              "loc": {
                                "start": {
                                  "line": 75,
                                  "column": 15
                                },
                                "end": {
                                  "line": 75,
                                  "column": 20
                                }
                              },
                              "extra": {
                                "rawValue": "f12",
                                "raw": "\"f12\""
                              },
                              "value": "f12"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2138,
                            "end": 2159,
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 6
                              },
                              "end": {
                                "line": 76,
                                "column": 27
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2138,
                              "end": 2154,
                              "loc": {
                                "start": {
                                  "line": 76,
                                  "column": 6
                                },
                                "end": {
                                  "line": 76,
                                  "column": 22
                                }
                              },
                              "extra": {
                                "rawValue": "{numpaddivide}",
                                "raw": "'{numpaddivide}'"
                              },
                              "value": "{numpaddivide}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2156,
                              "end": 2159,
                              "loc": {
                                "start": {
                                  "line": 76,
                                  "column": 24
                                },
                                "end": {
                                  "line": 76,
                                  "column": 27
                                }
                              },
                              "extra": {
                                "rawValue": "/",
                                "raw": "'/'"
                              },
                              "value": "/"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2168,
                            "end": 2187,
                            "loc": {
                              "start": {
                                "line": 77,
                                "column": 6
                              },
                              "end": {
                                "line": 77,
                                "column": 25
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2168,
                              "end": 2179,
                              "loc": {
                                "start": {
                                  "line": 77,
                                  "column": 6
                                },
                                "end": {
                                  "line": 77,
                                  "column": 17
                                }
                              },
                              "extra": {
                                "rawValue": "{numlock}",
                                "raw": "'{numlock}'"
                              },
                              "value": "{numlock}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2181,
                              "end": 2187,
                              "loc": {
                                "start": {
                                  "line": 77,
                                  "column": 19
                                },
                                "end": {
                                  "line": 77,
                                  "column": 25
                                }
                              },
                              "extra": {
                                "rawValue": "lock",
                                "raw": "'lock'"
                              },
                              "value": "lock"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2196,
                            "end": 2212,
                            "loc": {
                              "start": {
                                "line": 78,
                                "column": 6
                              },
                              "end": {
                                "line": 78,
                                "column": 22
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2196,
                              "end": 2207,
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 6
                                },
                                "end": {
                                  "line": 78,
                                  "column": 17
                                }
                              },
                              "extra": {
                                "rawValue": "{arrowup}",
                                "raw": "\"{arrowup}\""
                              },
                              "value": "{arrowup}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2209,
                              "end": 2212,
                              "loc": {
                                "start": {
                                  "line": 78,
                                  "column": 19
                                },
                                "end": {
                                  "line": 78,
                                  "column": 22
                                }
                              },
                              "extra": {
                                "rawValue": "↑",
                                "raw": "\"↑\""
                              },
                              "value": "↑"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2221,
                            "end": 2239,
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 6
                              },
                              "end": {
                                "line": 79,
                                "column": 24
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2221,
                              "end": 2234,
                              "loc": {
                                "start": {
                                  "line": 79,
                                  "column": 6
                                },
                                "end": {
                                  "line": 79,
                                  "column": 19
                                }
                              },
                              "extra": {
                                "rawValue": "{arrowleft}",
                                "raw": "\"{arrowleft}\""
                              },
                              "value": "{arrowleft}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2236,
                              "end": 2239,
                              "loc": {
                                "start": {
                                  "line": 79,
                                  "column": 21
                                },
                                "end": {
                                  "line": 79,
                                  "column": 24
                                }
                              },
                              "extra": {
                                "rawValue": "←",
                                "raw": "\"←\""
                              },
                              "value": "←"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2248,
                            "end": 2266,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 6
                              },
                              "end": {
                                "line": 80,
                                "column": 24
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2248,
                              "end": 2261,
                              "loc": {
                                "start": {
                                  "line": 80,
                                  "column": 6
                                },
                                "end": {
                                  "line": 80,
                                  "column": 19
                                }
                              },
                              "extra": {
                                "rawValue": "{arrowdown}",
                                "raw": "\"{arrowdown}\""
                              },
                              "value": "{arrowdown}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2263,
                              "end": 2266,
                              "loc": {
                                "start": {
                                  "line": 80,
                                  "column": 21
                                },
                                "end": {
                                  "line": 80,
                                  "column": 24
                                }
                              },
                              "extra": {
                                "rawValue": "↓",
                                "raw": "\"↓\""
                              },
                              "value": "↓"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2275,
                            "end": 2294,
                            "loc": {
                              "start": {
                                "line": 81,
                                "column": 6
                              },
                              "end": {
                                "line": 81,
                                "column": 25
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2275,
                              "end": 2289,
                              "loc": {
                                "start": {
                                  "line": 81,
                                  "column": 6
                                },
                                "end": {
                                  "line": 81,
                                  "column": 20
                                }
                              },
                              "extra": {
                                "rawValue": "{arrowright}",
                                "raw": "\"{arrowright}\""
                              },
                              "value": "{arrowright}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2291,
                              "end": 2294,
                              "loc": {
                                "start": {
                                  "line": 81,
                                  "column": 22
                                },
                                "end": {
                                  "line": 81,
                                  "column": 25
                                }
                              },
                              "extra": {
                                "rawValue": "→",
                                "raw": "\"→\""
                              },
                              "value": "→"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2303,
                            "end": 2322,
                            "loc": {
                              "start": {
                                "line": 82,
                                "column": 6
                              },
                              "end": {
                                "line": 82,
                                "column": 25
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2303,
                              "end": 2313,
                              "loc": {
                                "start": {
                                  "line": 82,
                                  "column": 6
                                },
                                "end": {
                                  "line": 82,
                                  "column": 16
                                }
                              },
                              "extra": {
                                "rawValue": "{prtscr}",
                                "raw": "\"{prtscr}\""
                              },
                              "value": "{prtscr}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2315,
                              "end": 2322,
                              "loc": {
                                "start": {
                                  "line": 82,
                                  "column": 18
                                },
                                "end": {
                                  "line": 82,
                                  "column": 25
                                }
                              },
                              "extra": {
                                "rawValue": "print",
                                "raw": "\"print\""
                              },
                              "value": "print"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2331,
                            "end": 2355,
                            "loc": {
                              "start": {
                                "line": 83,
                                "column": 6
                              },
                              "end": {
                                "line": 83,
                                "column": 30
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2331,
                              "end": 2345,
                              "loc": {
                                "start": {
                                  "line": 83,
                                  "column": 6
                                },
                                "end": {
                                  "line": 83,
                                  "column": 20
                                }
                              },
                              "extra": {
                                "rawValue": "{scrolllock}",
                                "raw": "\"{scrolllock}\""
                              },
                              "value": "{scrolllock}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2347,
                              "end": 2355,
                              "loc": {
                                "start": {
                                  "line": 83,
                                  "column": 22
                                },
                                "end": {
                                  "line": 83,
                                  "column": 30
                                }
                              },
                              "extra": {
                                "rawValue": "scroll",
                                "raw": "\"scroll\""
                              },
                              "value": "scroll"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2364,
                            "end": 2382,
                            "loc": {
                              "start": {
                                "line": 84,
                                "column": 6
                              },
                              "end": {
                                "line": 84,
                                "column": 24
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2364,
                              "end": 2373,
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 6
                                },
                                "end": {
                                  "line": 84,
                                  "column": 15
                                }
                              },
                              "extra": {
                                "rawValue": "{pause}",
                                "raw": "\"{pause}\""
                              },
                              "value": "{pause}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2375,
                              "end": 2382,
                              "loc": {
                                "start": {
                                  "line": 84,
                                  "column": 17
                                },
                                "end": {
                                  "line": 84,
                                  "column": 24
                                }
                              },
                              "extra": {
                                "rawValue": "pause",
                                "raw": "\"pause\""
                              },
                              "value": "pause"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2391,
                            "end": 2408,
                            "loc": {
                              "start": {
                                "line": 85,
                                "column": 6
                              },
                              "end": {
                                "line": 85,
                                "column": 23
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2391,
                              "end": 2401,
                              "loc": {
                                "start": {
                                  "line": 85,
                                  "column": 6
                                },
                                "end": {
                                  "line": 85,
                                  "column": 16
                                }
                              },
                              "extra": {
                                "rawValue": "{insert}",
                                "raw": "\"{insert}\""
                              },
                              "value": "{insert}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2403,
                              "end": 2408,
                              "loc": {
                                "start": {
                                  "line": 85,
                                  "column": 18
                                },
                                "end": {
                                  "line": 85,
                                  "column": 23
                                }
                              },
                              "extra": {
                                "rawValue": "ins",
                                "raw": "\"ins\""
                              },
                              "value": "ins"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2417,
                            "end": 2433,
                            "loc": {
                              "start": {
                                "line": 86,
                                "column": 6
                              },
                              "end": {
                                "line": 86,
                                "column": 22
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2417,
                              "end": 2425,
                              "loc": {
                                "start": {
                                  "line": 86,
                                  "column": 6
                                },
                                "end": {
                                  "line": 86,
                                  "column": 14
                                }
                              },
                              "extra": {
                                "rawValue": "{home}",
                                "raw": "\"{home}\""
                              },
                              "value": "{home}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2427,
                              "end": 2433,
                              "loc": {
                                "start": {
                                  "line": 86,
                                  "column": 16
                                },
                                "end": {
                                  "line": 86,
                                  "column": 22
                                }
                              },
                              "extra": {
                                "rawValue": "home",
                                "raw": "\"home\""
                              },
                              "value": "home"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2442,
                            "end": 2458,
                            "loc": {
                              "start": {
                                "line": 87,
                                "column": 6
                              },
                              "end": {
                                "line": 87,
                                "column": 22
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2442,
                              "end": 2452,
                              "loc": {
                                "start": {
                                  "line": 87,
                                  "column": 6
                                },
                                "end": {
                                  "line": 87,
                                  "column": 16
                                }
                              },
                              "extra": {
                                "rawValue": "{pageup}",
                                "raw": "\"{pageup}\""
                              },
                              "value": "{pageup}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2454,
                              "end": 2458,
                              "loc": {
                                "start": {
                                  "line": 87,
                                  "column": 18
                                },
                                "end": {
                                  "line": 87,
                                  "column": 22
                                }
                              },
                              "extra": {
                                "rawValue": "up",
                                "raw": "\"up\""
                              },
                              "value": "up"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2467,
                            "end": 2484,
                            "loc": {
                              "start": {
                                "line": 88,
                                "column": 6
                              },
                              "end": {
                                "line": 88,
                                "column": 23
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2467,
                              "end": 2477,
                              "loc": {
                                "start": {
                                  "line": 88,
                                  "column": 6
                                },
                                "end": {
                                  "line": 88,
                                  "column": 16
                                }
                              },
                              "extra": {
                                "rawValue": "{delete}",
                                "raw": "\"{delete}\""
                              },
                              "value": "{delete}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2479,
                              "end": 2484,
                              "loc": {
                                "start": {
                                  "line": 88,
                                  "column": 18
                                },
                                "end": {
                                  "line": 88,
                                  "column": 23
                                }
                              },
                              "extra": {
                                "rawValue": "del",
                                "raw": "\"del\""
                              },
                              "value": "del"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2493,
                            "end": 2507,
                            "loc": {
                              "start": {
                                "line": 89,
                                "column": 6
                              },
                              "end": {
                                "line": 89,
                                "column": 20
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2493,
                              "end": 2500,
                              "loc": {
                                "start": {
                                  "line": 89,
                                  "column": 6
                                },
                                "end": {
                                  "line": 89,
                                  "column": 13
                                }
                              },
                              "extra": {
                                "rawValue": "{end}",
                                "raw": "\"{end}\""
                              },
                              "value": "{end}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2502,
                              "end": 2507,
                              "loc": {
                                "start": {
                                  "line": 89,
                                  "column": 15
                                },
                                "end": {
                                  "line": 89,
                                  "column": 20
                                }
                              },
                              "extra": {
                                "rawValue": "end",
                                "raw": "\"end\""
                              },
                              "value": "end"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2516,
                            "end": 2536,
                            "loc": {
                              "start": {
                                "line": 90,
                                "column": 6
                              },
                              "end": {
                                "line": 90,
                                "column": 26
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2516,
                              "end": 2528,
                              "loc": {
                                "start": {
                                  "line": 90,
                                  "column": 6
                                },
                                "end": {
                                  "line": 90,
                                  "column": 18
                                }
                              },
                              "extra": {
                                "rawValue": "{pagedown}",
                                "raw": "\"{pagedown}\""
                              },
                              "value": "{pagedown}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2530,
                              "end": 2536,
                              "loc": {
                                "start": {
                                  "line": 90,
                                  "column": 20
                                },
                                "end": {
                                  "line": 90,
                                  "column": 26
                                }
                              },
                              "extra": {
                                "rawValue": "down",
                                "raw": "\"down\""
                              },
                              "value": "down"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2545,
                            "end": 2568,
                            "loc": {
                              "start": {
                                "line": 91,
                                "column": 6
                              },
                              "end": {
                                "line": 91,
                                "column": 29
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2545,
                              "end": 2563,
                              "loc": {
                                "start": {
                                  "line": 91,
                                  "column": 6
                                },
                                "end": {
                                  "line": 91,
                                  "column": 24
                                }
                              },
                              "extra": {
                                "rawValue": "{numpadmultiply}",
                                "raw": "\"{numpadmultiply}\""
                              },
                              "value": "{numpadmultiply}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2565,
                              "end": 2568,
                              "loc": {
                                "start": {
                                  "line": 91,
                                  "column": 26
                                },
                                "end": {
                                  "line": 91,
                                  "column": 29
                                }
                              },
                              "extra": {
                                "rawValue": "*",
                                "raw": "\"*\""
                              },
                              "value": "*"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2577,
                            "end": 2600,
                            "loc": {
                              "start": {
                                "line": 92,
                                "column": 6
                              },
                              "end": {
                                "line": 92,
                                "column": 29
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2577,
                              "end": 2595,
                              "loc": {
                                "start": {
                                  "line": 92,
                                  "column": 6
                                },
                                "end": {
                                  "line": 92,
                                  "column": 24
                                }
                              },
                              "extra": {
                                "rawValue": "{numpadsubtract}",
                                "raw": "\"{numpadsubtract}\""
                              },
                              "value": "{numpadsubtract}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2597,
                              "end": 2600,
                              "loc": {
                                "start": {
                                  "line": 92,
                                  "column": 26
                                },
                                "end": {
                                  "line": 92,
                                  "column": 29
                                }
                              },
                              "extra": {
                                "rawValue": "-",
                                "raw": "\"-\""
                              },
                              "value": "-"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2609,
                            "end": 2627,
                            "loc": {
                              "start": {
                                "line": 93,
                                "column": 6
                              },
                              "end": {
                                "line": 93,
                                "column": 24
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2609,
                              "end": 2622,
                              "loc": {
                                "start": {
                                  "line": 93,
                                  "column": 6
                                },
                                "end": {
                                  "line": 93,
                                  "column": 19
                                }
                              },
                              "extra": {
                                "rawValue": "{numpadadd}",
                                "raw": "\"{numpadadd}\""
                              },
                              "value": "{numpadadd}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2624,
                              "end": 2627,
                              "loc": {
                                "start": {
                                  "line": 93,
                                  "column": 21
                                },
                                "end": {
                                  "line": 93,
                                  "column": 24
                                }
                              },
                              "extra": {
                                "rawValue": "+",
                                "raw": "\"+\""
                              },
                              "value": "+"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2636,
                            "end": 2660,
                            "loc": {
                              "start": {
                                "line": 94,
                                "column": 6
                              },
                              "end": {
                                "line": 94,
                                "column": 30
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2636,
                              "end": 2651,
                              "loc": {
                                "start": {
                                  "line": 94,
                                  "column": 6
                                },
                                "end": {
                                  "line": 94,
                                  "column": 21
                                }
                              },
                              "extra": {
                                "rawValue": "{numpadenter}",
                                "raw": "\"{numpadenter}\""
                              },
                              "value": "{numpadenter}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2653,
                              "end": 2660,
                              "loc": {
                                "start": {
                                  "line": 94,
                                  "column": 23
                                },
                                "end": {
                                  "line": 94,
                                  "column": 30
                                }
                              },
                              "extra": {
                                "rawValue": "enter",
                                "raw": "\"enter\""
                              },
                              "value": "enter"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2669,
                            "end": 2684,
                            "loc": {
                              "start": {
                                "line": 95,
                                "column": 6
                              },
                              "end": {
                                "line": 95,
                                "column": 21
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2669,
                              "end": 2679,
                              "loc": {
                                "start": {
                                  "line": 95,
                                  "column": 6
                                },
                                "end": {
                                  "line": 95,
                                  "column": 16
                                }
                              },
                              "extra": {
                                "rawValue": "{period}",
                                "raw": "\"{period}\""
                              },
                              "value": "{period}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2681,
                              "end": 2684,
                              "loc": {
                                "start": {
                                  "line": 95,
                                  "column": 18
                                },
                                "end": {
                                  "line": 95,
                                  "column": 21
                                }
                              },
                              "extra": {
                                "rawValue": ".",
                                "raw": "\".\""
                              },
                              "value": "."
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2693,
                            "end": 2715,
                            "loc": {
                              "start": {
                                "line": 96,
                                "column": 6
                              },
                              "end": {
                                "line": 96,
                                "column": 28
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2693,
                              "end": 2710,
                              "loc": {
                                "start": {
                                  "line": 96,
                                  "column": 6
                                },
                                "end": {
                                  "line": 96,
                                  "column": 23
                                }
                              },
                              "extra": {
                                "rawValue": "{numpaddecimal}",
                                "raw": "\"{numpaddecimal}\""
                              },
                              "value": "{numpaddecimal}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2712,
                              "end": 2715,
                              "loc": {
                                "start": {
                                  "line": 96,
                                  "column": 25
                                },
                                "end": {
                                  "line": 96,
                                  "column": 28
                                }
                              },
                              "extra": {
                                "rawValue": ".",
                                "raw": "\".\""
                              },
                              "value": "."
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2724,
                            "end": 2740,
                            "loc": {
                              "start": {
                                "line": 97,
                                "column": 6
                              },
                              "end": {
                                "line": 97,
                                "column": 22
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2724,
                              "end": 2735,
                              "loc": {
                                "start": {
                                  "line": 97,
                                  "column": 6
                                },
                                "end": {
                                  "line": 97,
                                  "column": 17
                                }
                              },
                              "extra": {
                                "rawValue": "{numpad0}",
                                "raw": "\"{numpad0}\""
                              },
                              "value": "{numpad0}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2737,
                              "end": 2740,
                              "loc": {
                                "start": {
                                  "line": 97,
                                  "column": 19
                                },
                                "end": {
                                  "line": 97,
                                  "column": 22
                                }
                              },
                              "extra": {
                                "rawValue": "0",
                                "raw": "\"0\""
                              },
                              "value": "0"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2749,
                            "end": 2765,
                            "loc": {
                              "start": {
                                "line": 98,
                                "column": 6
                              },
                              "end": {
                                "line": 98,
                                "column": 22
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2749,
                              "end": 2760,
                              "loc": {
                                "start": {
                                  "line": 98,
                                  "column": 6
                                },
                                "end": {
                                  "line": 98,
                                  "column": 17
                                }
                              },
                              "extra": {
                                "rawValue": "{numpad1}",
                                "raw": "\"{numpad1}\""
                              },
                              "value": "{numpad1}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2762,
                              "end": 2765,
                              "loc": {
                                "start": {
                                  "line": 98,
                                  "column": 19
                                },
                                "end": {
                                  "line": 98,
                                  "column": 22
                                }
                              },
                              "extra": {
                                "rawValue": "1",
                                "raw": "\"1\""
                              },
                              "value": "1"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2774,
                            "end": 2790,
                            "loc": {
                              "start": {
                                "line": 99,
                                "column": 6
                              },
                              "end": {
                                "line": 99,
                                "column": 22
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2774,
                              "end": 2785,
                              "loc": {
                                "start": {
                                  "line": 99,
                                  "column": 6
                                },
                                "end": {
                                  "line": 99,
                                  "column": 17
                                }
                              },
                              "extra": {
                                "rawValue": "{numpad2}",
                                "raw": "\"{numpad2}\""
                              },
                              "value": "{numpad2}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2787,
                              "end": 2790,
                              "loc": {
                                "start": {
                                  "line": 99,
                                  "column": 19
                                },
                                "end": {
                                  "line": 99,
                                  "column": 22
                                }
                              },
                              "extra": {
                                "rawValue": "2",
                                "raw": "\"2\""
                              },
                              "value": "2"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2799,
                            "end": 2815,
                            "loc": {
                              "start": {
                                "line": 100,
                                "column": 6
                              },
                              "end": {
                                "line": 100,
                                "column": 22
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2799,
                              "end": 2810,
                              "loc": {
                                "start": {
                                  "line": 100,
                                  "column": 6
                                },
                                "end": {
                                  "line": 100,
                                  "column": 17
                                }
                              },
                              "extra": {
                                "rawValue": "{numpad3}",
                                "raw": "\"{numpad3}\""
                              },
                              "value": "{numpad3}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2812,
                              "end": 2815,
                              "loc": {
                                "start": {
                                  "line": 100,
                                  "column": 19
                                },
                                "end": {
                                  "line": 100,
                                  "column": 22
                                }
                              },
                              "extra": {
                                "rawValue": "3",
                                "raw": "\"3\""
                              },
                              "value": "3"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2824,
                            "end": 2840,
                            "loc": {
                              "start": {
                                "line": 101,
                                "column": 6
                              },
                              "end": {
                                "line": 101,
                                "column": 22
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2824,
                              "end": 2835,
                              "loc": {
                                "start": {
                                  "line": 101,
                                  "column": 6
                                },
                                "end": {
                                  "line": 101,
                                  "column": 17
                                }
                              },
                              "extra": {
                                "rawValue": "{numpad4}",
                                "raw": "\"{numpad4}\""
                              },
                              "value": "{numpad4}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2837,
                              "end": 2840,
                              "loc": {
                                "start": {
                                  "line": 101,
                                  "column": 19
                                },
                                "end": {
                                  "line": 101,
                                  "column": 22
                                }
                              },
                              "extra": {
                                "rawValue": "4",
                                "raw": "\"4\""
                              },
                              "value": "4"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2849,
                            "end": 2865,
                            "loc": {
                              "start": {
                                "line": 102,
                                "column": 6
                              },
                              "end": {
                                "line": 102,
                                "column": 22
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2849,
                              "end": 2860,
                              "loc": {
                                "start": {
                                  "line": 102,
                                  "column": 6
                                },
                                "end": {
                                  "line": 102,
                                  "column": 17
                                }
                              },
                              "extra": {
                                "rawValue": "{numpad5}",
                                "raw": "\"{numpad5}\""
                              },
                              "value": "{numpad5}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2862,
                              "end": 2865,
                              "loc": {
                                "start": {
                                  "line": 102,
                                  "column": 19
                                },
                                "end": {
                                  "line": 102,
                                  "column": 22
                                }
                              },
                              "extra": {
                                "rawValue": "5",
                                "raw": "\"5\""
                              },
                              "value": "5"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2874,
                            "end": 2890,
                            "loc": {
                              "start": {
                                "line": 103,
                                "column": 6
                              },
                              "end": {
                                "line": 103,
                                "column": 22
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2874,
                              "end": 2885,
                              "loc": {
                                "start": {
                                  "line": 103,
                                  "column": 6
                                },
                                "end": {
                                  "line": 103,
                                  "column": 17
                                }
                              },
                              "extra": {
                                "rawValue": "{numpad6}",
                                "raw": "\"{numpad6}\""
                              },
                              "value": "{numpad6}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2887,
                              "end": 2890,
                              "loc": {
                                "start": {
                                  "line": 103,
                                  "column": 19
                                },
                                "end": {
                                  "line": 103,
                                  "column": 22
                                }
                              },
                              "extra": {
                                "rawValue": "6",
                                "raw": "\"6\""
                              },
                              "value": "6"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2899,
                            "end": 2915,
                            "loc": {
                              "start": {
                                "line": 104,
                                "column": 6
                              },
                              "end": {
                                "line": 104,
                                "column": 22
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2899,
                              "end": 2910,
                              "loc": {
                                "start": {
                                  "line": 104,
                                  "column": 6
                                },
                                "end": {
                                  "line": 104,
                                  "column": 17
                                }
                              },
                              "extra": {
                                "rawValue": "{numpad7}",
                                "raw": "\"{numpad7}\""
                              },
                              "value": "{numpad7}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2912,
                              "end": 2915,
                              "loc": {
                                "start": {
                                  "line": 104,
                                  "column": 19
                                },
                                "end": {
                                  "line": 104,
                                  "column": 22
                                }
                              },
                              "extra": {
                                "rawValue": "7",
                                "raw": "\"7\""
                              },
                              "value": "7"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2924,
                            "end": 2940,
                            "loc": {
                              "start": {
                                "line": 105,
                                "column": 6
                              },
                              "end": {
                                "line": 105,
                                "column": 22
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2924,
                              "end": 2935,
                              "loc": {
                                "start": {
                                  "line": 105,
                                  "column": 6
                                },
                                "end": {
                                  "line": 105,
                                  "column": 17
                                }
                              },
                              "extra": {
                                "rawValue": "{numpad8}",
                                "raw": "\"{numpad8}\""
                              },
                              "value": "{numpad8}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2937,
                              "end": 2940,
                              "loc": {
                                "start": {
                                  "line": 105,
                                  "column": 19
                                },
                                "end": {
                                  "line": 105,
                                  "column": 22
                                }
                              },
                              "extra": {
                                "rawValue": "8",
                                "raw": "\"8\""
                              },
                              "value": "8"
                            }
                          },
                          {
                            "type": "ObjectProperty",
                            "start": 2949,
                            "end": 2965,
                            "loc": {
                              "start": {
                                "line": 106,
                                "column": 6
                              },
                              "end": {
                                "line": 106,
                                "column": 22
                              }
                            },
                            "method": false,
                            "shorthand": false,
                            "computed": false,
                            "key": {
                              "type": "StringLiteral",
                              "start": 2949,
                              "end": 2960,
                              "loc": {
                                "start": {
                                  "line": 106,
                                  "column": 6
                                },
                                "end": {
                                  "line": 106,
                                  "column": 17
                                }
                              },
                              "extra": {
                                "rawValue": "{numpad9}",
                                "raw": "\"{numpad9}\""
                              },
                              "value": "{numpad9}"
                            },
                            "value": {
                              "type": "StringLiteral",
                              "start": 2962,
                              "end": 2965,
                              "loc": {
                                "start": {
                                  "line": 106,
                                  "column": 19
                                },
                                "end": {
                                  "line": 106,
                                  "column": 22
                                }
                              },
                              "extra": {
                                "rawValue": "9",
                                "raw": "\"9\""
                              },
                              "value": "9"
                            }
                          }
                        ]
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Default button display labels\r\n   ",
                    "start": 1361,
                    "end": 1407,
                    "loc": {
                      "start": {
                        "line": 43,
                        "column": 2
                      },
                      "end": {
                        "line": 45,
                        "column": 5
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Returns the display (label) name for a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @param  {object} display The provided display option\r\n   * @param  {boolean} mergeDisplay Whether the provided param value should be merged with the default one.\r\n   ",
                    "start": 2983,
                    "end": 3281,
                    "loc": {
                      "start": {
                        "line": 109,
                        "column": 2
                      },
                      "end": {
                        "line": 115,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 3285,
                "end": 3550,
                "loc": {
                  "start": {
                    "line": 116,
                    "column": 2
                  },
                  "end": {
                    "line": 124,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 3285,
                  "end": 3305,
                  "loc": {
                    "start": {
                      "line": 116,
                      "column": 2
                    },
                    "end": {
                      "line": 116,
                      "column": 22
                    },
                    "identifierName": "getButtonDisplayName"
                  },
                  "name": "getButtonDisplayName",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 3306,
                    "end": 3312,
                    "loc": {
                      "start": {
                        "line": 116,
                        "column": 23
                      },
                      "end": {
                        "line": 116,
                        "column": 29
                      },
                      "identifierName": "button"
                    },
                    "name": "button"
                  },
                  {
                    "type": "Identifier",
                    "start": 3314,
                    "end": 3321,
                    "loc": {
                      "start": {
                        "line": 116,
                        "column": 31
                      },
                      "end": {
                        "line": 116,
                        "column": 38
                      },
                      "identifierName": "display"
                    },
                    "name": "display"
                  },
                  {
                    "type": "Identifier",
                    "start": 3323,
                    "end": 3335,
                    "loc": {
                      "start": {
                        "line": 116,
                        "column": 40
                      },
                      "end": {
                        "line": 116,
                        "column": 52
                      },
                      "identifierName": "mergeDisplay"
                    },
                    "name": "mergeDisplay"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 3336,
                  "end": 3550,
                  "loc": {
                    "start": {
                      "line": 116,
                      "column": 53
                    },
                    "end": {
                      "line": 124,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 3343,
                      "end": 3504,
                      "loc": {
                        "start": {
                          "line": 117,
                          "column": 4
                        },
                        "end": {
                          "line": 121,
                          "column": 5
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 3346,
                        "end": 3358,
                        "loc": {
                          "start": {
                            "line": 117,
                            "column": 7
                          },
                          "end": {
                            "line": 117,
                            "column": 19
                          },
                          "identifierName": "mergeDisplay"
                        },
                        "name": "mergeDisplay"
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 3359,
                        "end": 3437,
                        "loc": {
                          "start": {
                            "line": 117,
                            "column": 20
                          },
                          "end": {
                            "line": 119,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 3368,
                            "end": 3430,
                            "loc": {
                              "start": {
                                "line": 118,
                                "column": 6
                              },
                              "end": {
                                "line": 118,
                                "column": 68
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 3368,
                              "end": 3429,
                              "loc": {
                                "start": {
                                  "line": 118,
                                  "column": 6
                                },
                                "end": {
                                  "line": 118,
                                  "column": 67
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 3368,
                                "end": 3375,
                                "loc": {
                                  "start": {
                                    "line": 118,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 118,
                                    "column": 13
                                  },
                                  "identifierName": "display"
                                },
                                "name": "display"
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 3378,
                                "end": 3429,
                                "loc": {
                                  "start": {
                                    "line": 118,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 118,
                                    "column": 67
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 3378,
                                  "end": 3391,
                                  "loc": {
                                    "start": {
                                      "line": 118,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 118,
                                      "column": 29
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 3378,
                                    "end": 3384,
                                    "loc": {
                                      "start": {
                                        "line": 118,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 118,
                                        "column": 22
                                      },
                                      "identifierName": "Object"
                                    },
                                    "name": "Object"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 3385,
                                    "end": 3391,
                                    "loc": {
                                      "start": {
                                        "line": 118,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 118,
                                        "column": 29
                                      },
                                      "identifierName": "assign"
                                    },
                                    "name": "assign"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "ObjectExpression",
                                    "start": 3392,
                                    "end": 3394,
                                    "loc": {
                                      "start": {
                                        "line": 118,
                                        "column": 30
                                      },
                                      "end": {
                                        "line": 118,
                                        "column": 32
                                      }
                                    },
                                    "properties": []
                                  },
                                  {
                                    "type": "CallExpression",
                                    "start": 3396,
                                    "end": 3419,
                                    "loc": {
                                      "start": {
                                        "line": 118,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 118,
                                        "column": 57
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 3396,
                                      "end": 3417,
                                      "loc": {
                                        "start": {
                                          "line": 118,
                                          "column": 34
                                        },
                                        "end": {
                                          "line": 118,
                                          "column": 55
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 3396,
                                        "end": 3400,
                                        "loc": {
                                          "start": {
                                            "line": 118,
                                            "column": 34
                                          },
                                          "end": {
                                            "line": 118,
                                            "column": 38
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 3401,
                                        "end": 3417,
                                        "loc": {
                                          "start": {
                                            "line": 118,
                                            "column": 39
                                          },
                                          "end": {
                                            "line": 118,
                                            "column": 55
                                          },
                                          "identifierName": "getDefaultDiplay"
                                        },
                                        "name": "getDefaultDiplay"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  },
                                  {
                                    "type": "Identifier",
                                    "start": 3421,
                                    "end": 3428,
                                    "loc": {
                                      "start": {
                                        "line": 118,
                                        "column": 59
                                      },
                                      "end": {
                                        "line": 118,
                                        "column": 66
                                      },
                                      "identifierName": "display"
                                    },
                                    "name": "display"
                                  }
                                ]
                              }
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "start": 3443,
                        "end": 3504,
                        "loc": {
                          "start": {
                            "line": 119,
                            "column": 11
                          },
                          "end": {
                            "line": 121,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 3452,
                            "end": 3497,
                            "loc": {
                              "start": {
                                "line": 120,
                                "column": 6
                              },
                              "end": {
                                "line": 120,
                                "column": 51
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 3452,
                              "end": 3496,
                              "loc": {
                                "start": {
                                  "line": 120,
                                  "column": 6
                                },
                                "end": {
                                  "line": 120,
                                  "column": 50
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 3452,
                                "end": 3459,
                                "loc": {
                                  "start": {
                                    "line": 120,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 120,
                                    "column": 13
                                  },
                                  "identifierName": "display"
                                },
                                "name": "display"
                              },
                              "right": {
                                "type": "LogicalExpression",
                                "start": 3462,
                                "end": 3496,
                                "loc": {
                                  "start": {
                                    "line": 120,
                                    "column": 16
                                  },
                                  "end": {
                                    "line": 120,
                                    "column": 50
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 3462,
                                  "end": 3469,
                                  "loc": {
                                    "start": {
                                      "line": 120,
                                      "column": 16
                                    },
                                    "end": {
                                      "line": 120,
                                      "column": 23
                                    },
                                    "identifierName": "display"
                                  },
                                  "name": "display"
                                },
                                "operator": "||",
                                "right": {
                                  "type": "CallExpression",
                                  "start": 3473,
                                  "end": 3496,
                                  "loc": {
                                    "start": {
                                      "line": 120,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 120,
                                      "column": 50
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 3473,
                                    "end": 3494,
                                    "loc": {
                                      "start": {
                                        "line": 120,
                                        "column": 27
                                      },
                                      "end": {
                                        "line": 120,
                                        "column": 48
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 3473,
                                      "end": 3477,
                                      "loc": {
                                        "start": {
                                          "line": 120,
                                          "column": 27
                                        },
                                        "end": {
                                          "line": 120,
                                          "column": 31
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 3478,
                                      "end": 3494,
                                      "loc": {
                                        "start": {
                                          "line": 120,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 120,
                                          "column": 48
                                        },
                                        "identifierName": "getDefaultDiplay"
                                      },
                                      "name": "getDefaultDiplay"
                                    },
                                    "computed": false
                                  },
                                  "arguments": []
                                }
                              }
                            }
                          }
                        ],
                        "directives": []
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 3512,
                      "end": 3545,
                      "loc": {
                        "start": {
                          "line": 123,
                          "column": 4
                        },
                        "end": {
                          "line": 123,
                          "column": 37
                        }
                      },
                      "argument": {
                        "type": "LogicalExpression",
                        "start": 3519,
                        "end": 3544,
                        "loc": {
                          "start": {
                            "line": 123,
                            "column": 11
                          },
                          "end": {
                            "line": 123,
                            "column": 36
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 3519,
                          "end": 3534,
                          "loc": {
                            "start": {
                              "line": 123,
                              "column": 11
                            },
                            "end": {
                              "line": 123,
                              "column": 26
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 3519,
                            "end": 3526,
                            "loc": {
                              "start": {
                                "line": 123,
                                "column": 11
                              },
                              "end": {
                                "line": 123,
                                "column": 18
                              },
                              "identifierName": "display"
                            },
                            "name": "display"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 3527,
                            "end": 3533,
                            "loc": {
                              "start": {
                                "line": 123,
                                "column": 19
                              },
                              "end": {
                                "line": 123,
                                "column": 25
                              },
                              "identifierName": "button"
                            },
                            "name": "button"
                          },
                          "computed": true
                        },
                        "operator": "||",
                        "right": {
                          "type": "Identifier",
                          "start": 3538,
                          "end": 3544,
                          "loc": {
                            "start": {
                              "line": 123,
                              "column": 30
                            },
                            "end": {
                              "line": 123,
                              "column": 36
                            },
                            "identifierName": "button"
                          },
                          "name": "button"
                        }
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Returns the display (label) name for a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @param  {object} display The provided display option\r\n   * @param  {boolean} mergeDisplay Whether the provided param value should be merged with the default one.\r\n   ",
                    "start": 2983,
                    "end": 3281,
                    "loc": {
                      "start": {
                        "line": 109,
                        "column": 2
                      },
                      "end": {
                        "line": 115,
                        "column": 5
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Returns the updated input resulting from clicking a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @param  {string} input The input string\r\n   * @param  {object} options The simple-keyboard options object\r\n   * @param  {number} caretPos The cursor's current position\r\n   * @param  {boolean} moveCaret Whether to update simple-keyboard's cursor\r\n   ",
                    "start": 3560,
                    "end": 3954,
                    "loc": {
                      "start": {
                        "line": 127,
                        "column": 2
                      },
                      "end": {
                        "line": 135,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 3958,
                "end": 5678,
                "loc": {
                  "start": {
                    "line": 136,
                    "column": 2
                  },
                  "end": {
                    "line": 177,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 3958,
                  "end": 3973,
                  "loc": {
                    "start": {
                      "line": 136,
                      "column": 2
                    },
                    "end": {
                      "line": 136,
                      "column": 17
                    },
                    "identifierName": "getUpdatedInput"
                  },
                  "name": "getUpdatedInput",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 3974,
                    "end": 3980,
                    "loc": {
                      "start": {
                        "line": 136,
                        "column": 18
                      },
                      "end": {
                        "line": 136,
                        "column": 24
                      },
                      "identifierName": "button"
                    },
                    "name": "button"
                  },
                  {
                    "type": "Identifier",
                    "start": 3982,
                    "end": 3987,
                    "loc": {
                      "start": {
                        "line": 136,
                        "column": 26
                      },
                      "end": {
                        "line": 136,
                        "column": 31
                      },
                      "identifierName": "input"
                    },
                    "name": "input"
                  },
                  {
                    "type": "Identifier",
                    "start": 3989,
                    "end": 3996,
                    "loc": {
                      "start": {
                        "line": 136,
                        "column": 33
                      },
                      "end": {
                        "line": 136,
                        "column": 40
                      },
                      "identifierName": "options"
                    },
                    "name": "options"
                  },
                  {
                    "type": "Identifier",
                    "start": 3998,
                    "end": 4006,
                    "loc": {
                      "start": {
                        "line": 136,
                        "column": 42
                      },
                      "end": {
                        "line": 136,
                        "column": 50
                      },
                      "identifierName": "caretPos"
                    },
                    "name": "caretPos"
                  },
                  {
                    "type": "Identifier",
                    "start": 4008,
                    "end": 4017,
                    "loc": {
                      "start": {
                        "line": 136,
                        "column": 52
                      },
                      "end": {
                        "line": 136,
                        "column": 61
                      },
                      "identifierName": "moveCaret"
                    },
                    "name": "moveCaret"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 4018,
                  "end": 5678,
                  "loc": {
                    "start": {
                      "line": 136,
                      "column": 62
                    },
                    "end": {
                      "line": 177,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 4031,
                      "end": 4050,
                      "loc": {
                        "start": {
                          "line": 138,
                          "column": 4
                        },
                        "end": {
                          "line": 138,
                          "column": 23
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 4035,
                          "end": 4049,
                          "loc": {
                            "start": {
                              "line": 138,
                              "column": 8
                            },
                            "end": {
                              "line": 138,
                              "column": 22
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 4035,
                            "end": 4041,
                            "loc": {
                              "start": {
                                "line": 138,
                                "column": 8
                              },
                              "end": {
                                "line": 138,
                                "column": 14
                              },
                              "identifierName": "output"
                            },
                            "name": "output"
                          },
                          "init": {
                            "type": "Identifier",
                            "start": 4044,
                            "end": 4049,
                            "loc": {
                              "start": {
                                "line": 138,
                                "column": 17
                              },
                              "end": {
                                "line": 138,
                                "column": 22
                              },
                              "identifierName": "input"
                            },
                            "name": "input"
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "IfStatement",
                      "start": 4058,
                      "end": 5651,
                      "loc": {
                        "start": {
                          "line": 140,
                          "column": 4
                        },
                        "end": {
                          "line": 174,
                          "column": 69
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 4061,
                        "end": 4131,
                        "loc": {
                          "start": {
                            "line": 140,
                            "column": 7
                          },
                          "end": {
                            "line": 140,
                            "column": 77
                          }
                        },
                        "left": {
                          "type": "LogicalExpression",
                          "start": 4062,
                          "end": 4109,
                          "loc": {
                            "start": {
                              "line": 140,
                              "column": 8
                            },
                            "end": {
                              "line": 140,
                              "column": 55
                            }
                          },
                          "left": {
                            "type": "BinaryExpression",
                            "start": 4062,
                            "end": 4081,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 8
                              },
                              "end": {
                                "line": 140,
                                "column": 27
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 4062,
                              "end": 4068,
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 8
                                },
                                "end": {
                                  "line": 140,
                                  "column": 14
                                },
                                "identifierName": "button"
                              },
                              "name": "button"
                            },
                            "operator": "===",
                            "right": {
                              "type": "StringLiteral",
                              "start": 4073,
                              "end": 4081,
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 19
                                },
                                "end": {
                                  "line": 140,
                                  "column": 27
                                }
                              },
                              "extra": {
                                "rawValue": "{bksp}",
                                "raw": "\"{bksp}\""
                              },
                              "value": "{bksp}"
                            }
                          },
                          "operator": "||",
                          "right": {
                            "type": "BinaryExpression",
                            "start": 4085,
                            "end": 4109,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 31
                              },
                              "end": {
                                "line": 140,
                                "column": 55
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 4085,
                              "end": 4091,
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 31
                                },
                                "end": {
                                  "line": 140,
                                  "column": 37
                                },
                                "identifierName": "button"
                              },
                              "name": "button"
                            },
                            "operator": "===",
                            "right": {
                              "type": "StringLiteral",
                              "start": 4096,
                              "end": 4109,
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 42
                                },
                                "end": {
                                  "line": 140,
                                  "column": 55
                                }
                              },
                              "extra": {
                                "rawValue": "{backspace}",
                                "raw": "\"{backspace}\""
                              },
                              "value": "{backspace}"
                            }
                          },
                          "extra": {
                            "parenthesized": true,
                            "parenStart": 4061
                          }
                        },
                        "operator": "&&",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 4114,
                          "end": 4131,
                          "loc": {
                            "start": {
                              "line": 140,
                              "column": 60
                            },
                            "end": {
                              "line": 140,
                              "column": 77
                            }
                          },
                          "left": {
                            "type": "MemberExpression",
                            "start": 4114,
                            "end": 4127,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 60
                              },
                              "end": {
                                "line": 140,
                                "column": 73
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 4114,
                              "end": 4120,
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 60
                                },
                                "end": {
                                  "line": 140,
                                  "column": 66
                                },
                                "identifierName": "output"
                              },
                              "name": "output"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 4121,
                              "end": 4127,
                              "loc": {
                                "start": {
                                  "line": 140,
                                  "column": 67
                                },
                                "end": {
                                  "line": 140,
                                  "column": 73
                                },
                                "identifierName": "length"
                              },
                              "name": "length"
                            },
                            "computed": false
                          },
                          "operator": ">",
                          "right": {
                            "type": "NumericLiteral",
                            "start": 4130,
                            "end": 4131,
                            "loc": {
                              "start": {
                                "line": 140,
                                "column": 76
                              },
                              "end": {
                                "line": 140,
                                "column": 77
                              }
                            },
                            "extra": {
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "value": 0
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 4132,
                        "end": 4202,
                        "loc": {
                          "start": {
                            "line": 140,
                            "column": 78
                          },
                          "end": {
                            "line": 143,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 4141,
                            "end": 4193,
                            "loc": {
                              "start": {
                                "line": 141,
                                "column": 6
                              },
                              "end": {
                                "line": 141,
                                "column": 58
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 4141,
                              "end": 4192,
                              "loc": {
                                "start": {
                                  "line": 141,
                                  "column": 6
                                },
                                "end": {
                                  "line": 141,
                                  "column": 57
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 4141,
                                "end": 4147,
                                "loc": {
                                  "start": {
                                    "line": 141,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 141,
                                    "column": 12
                                  },
                                  "identifierName": "output"
                                },
                                "name": "output"
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 4150,
                                "end": 4192,
                                "loc": {
                                  "start": {
                                    "line": 141,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 141,
                                    "column": 57
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 4150,
                                  "end": 4163,
                                  "loc": {
                                    "start": {
                                      "line": 141,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 141,
                                      "column": 28
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 4150,
                                    "end": 4154,
                                    "loc": {
                                      "start": {
                                        "line": 141,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 141,
                                        "column": 19
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 4155,
                                    "end": 4163,
                                    "loc": {
                                      "start": {
                                        "line": 141,
                                        "column": 20
                                      },
                                      "end": {
                                        "line": 141,
                                        "column": 28
                                      },
                                      "identifierName": "removeAt"
                                    },
                                    "name": "removeAt"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 4164,
                                    "end": 4170,
                                    "loc": {
                                      "start": {
                                        "line": 141,
                                        "column": 29
                                      },
                                      "end": {
                                        "line": 141,
                                        "column": 35
                                      },
                                      "identifierName": "output"
                                    },
                                    "name": "output"
                                  },
                                  {
                                    "type": "Identifier",
                                    "start": 4172,
                                    "end": 4180,
                                    "loc": {
                                      "start": {
                                        "line": 141,
                                        "column": 37
                                      },
                                      "end": {
                                        "line": 141,
                                        "column": 45
                                      },
                                      "identifierName": "caretPos"
                                    },
                                    "name": "caretPos"
                                  },
                                  {
                                    "type": "Identifier",
                                    "start": 4182,
                                    "end": 4191,
                                    "loc": {
                                      "start": {
                                        "line": 141,
                                        "column": 47
                                      },
                                      "end": {
                                        "line": 141,
                                        "column": 56
                                      },
                                      "identifierName": "moveCaret"
                                    },
                                    "name": "moveCaret"
                                  }
                                ]
                              }
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": {
                        "type": "IfStatement",
                        "start": 4208,
                        "end": 5651,
                        "loc": {
                          "start": {
                            "line": 143,
                            "column": 11
                          },
                          "end": {
                            "line": 174,
                            "column": 69
                          }
                        },
                        "test": {
                          "type": "BinaryExpression",
                          "start": 4211,
                          "end": 4231,
                          "loc": {
                            "start": {
                              "line": 143,
                              "column": 14
                            },
                            "end": {
                              "line": 143,
                              "column": 34
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 4211,
                            "end": 4217,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 14
                              },
                              "end": {
                                "line": 143,
                                "column": 20
                              },
                              "identifierName": "button"
                            },
                            "name": "button"
                          },
                          "operator": "===",
                          "right": {
                            "type": "StringLiteral",
                            "start": 4222,
                            "end": 4231,
                            "loc": {
                              "start": {
                                "line": 143,
                                "column": 25
                              },
                              "end": {
                                "line": 143,
                                "column": 34
                              }
                            },
                            "extra": {
                              "rawValue": "{space}",
                              "raw": "\"{space}\""
                            },
                            "value": "{space}"
                          }
                        },
                        "consequent": {
                          "type": "ExpressionStatement",
                          "start": 4240,
                          "end": 4300,
                          "loc": {
                            "start": {
                              "line": 144,
                              "column": 6
                            },
                            "end": {
                              "line": 144,
                              "column": 66
                            }
                          },
                          "expression": {
                            "type": "AssignmentExpression",
                            "start": 4240,
                            "end": 4299,
                            "loc": {
                              "start": {
                                "line": 144,
                                "column": 6
                              },
                              "end": {
                                "line": 144,
                                "column": 65
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "Identifier",
                              "start": 4240,
                              "end": 4246,
                              "loc": {
                                "start": {
                                  "line": 144,
                                  "column": 6
                                },
                                "end": {
                                  "line": 144,
                                  "column": 12
                                },
                                "identifierName": "output"
                              },
                              "name": "output"
                            },
                            "right": {
                              "type": "CallExpression",
                              "start": 4249,
                              "end": 4299,
                              "loc": {
                                "start": {
                                  "line": 144,
                                  "column": 15
                                },
                                "end": {
                                  "line": 144,
                                  "column": 65
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 4249,
                                "end": 4265,
                                "loc": {
                                  "start": {
                                    "line": 144,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 144,
                                    "column": 31
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 4249,
                                  "end": 4253,
                                  "loc": {
                                    "start": {
                                      "line": 144,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 144,
                                      "column": 19
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4254,
                                  "end": 4265,
                                  "loc": {
                                    "start": {
                                      "line": 144,
                                      "column": 20
                                    },
                                    "end": {
                                      "line": 144,
                                      "column": 31
                                    },
                                    "identifierName": "addStringAt"
                                  },
                                  "name": "addStringAt"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "Identifier",
                                  "start": 4266,
                                  "end": 4272,
                                  "loc": {
                                    "start": {
                                      "line": 144,
                                      "column": 32
                                    },
                                    "end": {
                                      "line": 144,
                                      "column": 38
                                    },
                                    "identifierName": "output"
                                  },
                                  "name": "output"
                                },
                                {
                                  "type": "StringLiteral",
                                  "start": 4274,
                                  "end": 4277,
                                  "loc": {
                                    "start": {
                                      "line": 144,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 144,
                                      "column": 43
                                    }
                                  },
                                  "extra": {
                                    "rawValue": " ",
                                    "raw": "\" \""
                                  },
                                  "value": " "
                                },
                                {
                                  "type": "Identifier",
                                  "start": 4279,
                                  "end": 4287,
                                  "loc": {
                                    "start": {
                                      "line": 144,
                                      "column": 45
                                    },
                                    "end": {
                                      "line": 144,
                                      "column": 53
                                    },
                                    "identifierName": "caretPos"
                                  },
                                  "name": "caretPos"
                                },
                                {
                                  "type": "Identifier",
                                  "start": 4289,
                                  "end": 4298,
                                  "loc": {
                                    "start": {
                                      "line": 144,
                                      "column": 55
                                    },
                                    "end": {
                                      "line": 144,
                                      "column": 64
                                    },
                                    "identifierName": "moveCaret"
                                  },
                                  "name": "moveCaret"
                                }
                              ]
                            }
                          }
                        },
                        "alternate": {
                          "type": "IfStatement",
                          "start": 4313,
                          "end": 5651,
                          "loc": {
                            "start": {
                              "line": 146,
                              "column": 9
                            },
                            "end": {
                              "line": 174,
                              "column": 69
                            }
                          },
                          "test": {
                            "type": "LogicalExpression",
                            "start": 4316,
                            "end": 4416,
                            "loc": {
                              "start": {
                                "line": 146,
                                "column": 12
                              },
                              "end": {
                                "line": 146,
                                "column": 112
                              }
                            },
                            "left": {
                              "type": "BinaryExpression",
                              "start": 4316,
                              "end": 4334,
                              "loc": {
                                "start": {
                                  "line": 146,
                                  "column": 12
                                },
                                "end": {
                                  "line": 146,
                                  "column": 30
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 4316,
                                "end": 4322,
                                "loc": {
                                  "start": {
                                    "line": 146,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 146,
                                    "column": 18
                                  },
                                  "identifierName": "button"
                                },
                                "name": "button"
                              },
                              "operator": "===",
                              "right": {
                                "type": "StringLiteral",
                                "start": 4327,
                                "end": 4334,
                                "loc": {
                                  "start": {
                                    "line": 146,
                                    "column": 23
                                  },
                                  "end": {
                                    "line": 146,
                                    "column": 30
                                  }
                                },
                                "extra": {
                                  "rawValue": "{tab}",
                                  "raw": "\"{tab}\""
                                },
                                "value": "{tab}"
                              }
                            },
                            "operator": "&&",
                            "right": {
                              "type": "UnaryExpression",
                              "start": 4338,
                              "end": 4416,
                              "loc": {
                                "start": {
                                  "line": 146,
                                  "column": 34
                                },
                                "end": {
                                  "line": 146,
                                  "column": 112
                                }
                              },
                              "operator": "!",
                              "prefix": true,
                              "argument": {
                                "type": "LogicalExpression",
                                "start": 4340,
                                "end": 4415,
                                "loc": {
                                  "start": {
                                    "line": 146,
                                    "column": 36
                                  },
                                  "end": {
                                    "line": 146,
                                    "column": 111
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 4340,
                                  "end": 4381,
                                  "loc": {
                                    "start": {
                                      "line": 146,
                                      "column": 36
                                    },
                                    "end": {
                                      "line": 146,
                                      "column": 77
                                    }
                                  },
                                  "left": {
                                    "type": "UnaryExpression",
                                    "start": 4340,
                                    "end": 4367,
                                    "loc": {
                                      "start": {
                                        "line": 146,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 146,
                                        "column": 63
                                      }
                                    },
                                    "operator": "typeof",
                                    "prefix": true,
                                    "argument": {
                                      "type": "MemberExpression",
                                      "start": 4347,
                                      "end": 4367,
                                      "loc": {
                                        "start": {
                                          "line": 146,
                                          "column": 43
                                        },
                                        "end": {
                                          "line": 146,
                                          "column": 63
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 4347,
                                        "end": 4354,
                                        "loc": {
                                          "start": {
                                            "line": 146,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 146,
                                            "column": 50
                                          },
                                          "identifierName": "options"
                                        },
                                        "name": "options"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 4355,
                                        "end": 4367,
                                        "loc": {
                                          "start": {
                                            "line": 146,
                                            "column": 51
                                          },
                                          "end": {
                                            "line": 146,
                                            "column": 63
                                          },
                                          "identifierName": "tabCharOnTab"
                                        },
                                        "name": "tabCharOnTab"
                                      },
                                      "computed": false
                                    },
                                    "extra": {
                                      "parenthesizedArgument": false
                                    }
                                  },
                                  "operator": "===",
                                  "right": {
                                    "type": "StringLiteral",
                                    "start": 4372,
                                    "end": 4381,
                                    "loc": {
                                      "start": {
                                        "line": 146,
                                        "column": 68
                                      },
                                      "end": {
                                        "line": 146,
                                        "column": 77
                                      }
                                    },
                                    "extra": {
                                      "rawValue": "boolean",
                                      "raw": "\"boolean\""
                                    },
                                    "value": "boolean"
                                  }
                                },
                                "operator": "&&",
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 4385,
                                  "end": 4415,
                                  "loc": {
                                    "start": {
                                      "line": 146,
                                      "column": 81
                                    },
                                    "end": {
                                      "line": 146,
                                      "column": 111
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 4385,
                                    "end": 4405,
                                    "loc": {
                                      "start": {
                                        "line": 146,
                                        "column": 81
                                      },
                                      "end": {
                                        "line": 146,
                                        "column": 101
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 4385,
                                      "end": 4392,
                                      "loc": {
                                        "start": {
                                          "line": 146,
                                          "column": 81
                                        },
                                        "end": {
                                          "line": 146,
                                          "column": 88
                                        },
                                        "identifierName": "options"
                                      },
                                      "name": "options"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4393,
                                      "end": 4405,
                                      "loc": {
                                        "start": {
                                          "line": 146,
                                          "column": 89
                                        },
                                        "end": {
                                          "line": 146,
                                          "column": 101
                                        },
                                        "identifierName": "tabCharOnTab"
                                      },
                                      "name": "tabCharOnTab"
                                    },
                                    "computed": false
                                  },
                                  "operator": "===",
                                  "right": {
                                    "type": "BooleanLiteral",
                                    "start": 4410,
                                    "end": 4415,
                                    "loc": {
                                      "start": {
                                        "line": 146,
                                        "column": 106
                                      },
                                      "end": {
                                        "line": 146,
                                        "column": 111
                                      }
                                    },
                                    "value": false
                                  }
                                },
                                "extra": {
                                  "parenthesized": true,
                                  "parenStart": 4339
                                }
                              },
                              "extra": {
                                "parenthesizedArgument": false
                              }
                            }
                          },
                          "consequent": {
                            "type": "BlockStatement",
                            "start": 4417,
                            "end": 4496,
                            "loc": {
                              "start": {
                                "line": 146,
                                "column": 113
                              },
                              "end": {
                                "line": 149,
                                "column": 5
                              }
                            },
                            "body": [
                              {
                                "type": "ExpressionStatement",
                                "start": 4426,
                                "end": 4487,
                                "loc": {
                                  "start": {
                                    "line": 147,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 147,
                                    "column": 67
                                  }
                                },
                                "expression": {
                                  "type": "AssignmentExpression",
                                  "start": 4426,
                                  "end": 4486,
                                  "loc": {
                                    "start": {
                                      "line": 147,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 147,
                                      "column": 66
                                    }
                                  },
                                  "operator": "=",
                                  "left": {
                                    "type": "Identifier",
                                    "start": 4426,
                                    "end": 4432,
                                    "loc": {
                                      "start": {
                                        "line": 147,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 147,
                                        "column": 12
                                      },
                                      "identifierName": "output"
                                    },
                                    "name": "output"
                                  },
                                  "right": {
                                    "type": "CallExpression",
                                    "start": 4435,
                                    "end": 4486,
                                    "loc": {
                                      "start": {
                                        "line": 147,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 147,
                                        "column": 66
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 4435,
                                      "end": 4451,
                                      "loc": {
                                        "start": {
                                          "line": 147,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 147,
                                          "column": 31
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 4435,
                                        "end": 4439,
                                        "loc": {
                                          "start": {
                                            "line": 147,
                                            "column": 15
                                          },
                                          "end": {
                                            "line": 147,
                                            "column": 19
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 4440,
                                        "end": 4451,
                                        "loc": {
                                          "start": {
                                            "line": 147,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 147,
                                            "column": 31
                                          },
                                          "identifierName": "addStringAt"
                                        },
                                        "name": "addStringAt"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "Identifier",
                                        "start": 4452,
                                        "end": 4458,
                                        "loc": {
                                          "start": {
                                            "line": 147,
                                            "column": 32
                                          },
                                          "end": {
                                            "line": 147,
                                            "column": 38
                                          },
                                          "identifierName": "output"
                                        },
                                        "name": "output"
                                      },
                                      {
                                        "type": "StringLiteral",
                                        "start": 4460,
                                        "end": 4464,
                                        "loc": {
                                          "start": {
                                            "line": 147,
                                            "column": 40
                                          },
                                          "end": {
                                            "line": 147,
                                            "column": 44
                                          }
                                        },
                                        "extra": {
                                          "rawValue": "\t",
                                          "raw": "\"\\t\""
                                        },
                                        "value": "\t"
                                      },
                                      {
                                        "type": "Identifier",
                                        "start": 4466,
                                        "end": 4474,
                                        "loc": {
                                          "start": {
                                            "line": 147,
                                            "column": 46
                                          },
                                          "end": {
                                            "line": 147,
                                            "column": 54
                                          },
                                          "identifierName": "caretPos"
                                        },
                                        "name": "caretPos"
                                      },
                                      {
                                        "type": "Identifier",
                                        "start": 4476,
                                        "end": 4485,
                                        "loc": {
                                          "start": {
                                            "line": 147,
                                            "column": 56
                                          },
                                          "end": {
                                            "line": 147,
                                            "column": 65
                                          },
                                          "identifierName": "moveCaret"
                                        },
                                        "name": "moveCaret"
                                      }
                                    ]
                                  }
                                }
                              }
                            ],
                            "directives": []
                          },
                          "alternate": {
                            "type": "IfStatement",
                            "start": 4502,
                            "end": 5651,
                            "loc": {
                              "start": {
                                "line": 149,
                                "column": 11
                              },
                              "end": {
                                "line": 174,
                                "column": 69
                              }
                            },
                            "test": {
                              "type": "LogicalExpression",
                              "start": 4505,
                              "end": 4583,
                              "loc": {
                                "start": {
                                  "line": 149,
                                  "column": 14
                                },
                                "end": {
                                  "line": 149,
                                  "column": 92
                                }
                              },
                              "left": {
                                "type": "LogicalExpression",
                                "start": 4506,
                                "end": 4556,
                                "loc": {
                                  "start": {
                                    "line": 149,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 149,
                                    "column": 65
                                  }
                                },
                                "left": {
                                  "type": "BinaryExpression",
                                  "start": 4506,
                                  "end": 4526,
                                  "loc": {
                                    "start": {
                                      "line": 149,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 149,
                                      "column": 35
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 4506,
                                    "end": 4512,
                                    "loc": {
                                      "start": {
                                        "line": 149,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 149,
                                        "column": 21
                                      },
                                      "identifierName": "button"
                                    },
                                    "name": "button"
                                  },
                                  "operator": "===",
                                  "right": {
                                    "type": "StringLiteral",
                                    "start": 4517,
                                    "end": 4526,
                                    "loc": {
                                      "start": {
                                        "line": 149,
                                        "column": 26
                                      },
                                      "end": {
                                        "line": 149,
                                        "column": 35
                                      }
                                    },
                                    "extra": {
                                      "rawValue": "{enter}",
                                      "raw": "\"{enter}\""
                                    },
                                    "value": "{enter}"
                                  }
                                },
                                "operator": "||",
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 4530,
                                  "end": 4556,
                                  "loc": {
                                    "start": {
                                      "line": 149,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 149,
                                      "column": 65
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 4530,
                                    "end": 4536,
                                    "loc": {
                                      "start": {
                                        "line": 149,
                                        "column": 39
                                      },
                                      "end": {
                                        "line": 149,
                                        "column": 45
                                      },
                                      "identifierName": "button"
                                    },
                                    "name": "button"
                                  },
                                  "operator": "===",
                                  "right": {
                                    "type": "StringLiteral",
                                    "start": 4541,
                                    "end": 4556,
                                    "loc": {
                                      "start": {
                                        "line": 149,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 149,
                                        "column": 65
                                      }
                                    },
                                    "extra": {
                                      "rawValue": "{numpadenter}",
                                      "raw": "\"{numpadenter}\""
                                    },
                                    "value": "{numpadenter}"
                                  }
                                },
                                "extra": {
                                  "parenthesized": true,
                                  "parenStart": 4505
                                }
                              },
                              "operator": "&&",
                              "right": {
                                "type": "MemberExpression",
                                "start": 4561,
                                "end": 4583,
                                "loc": {
                                  "start": {
                                    "line": 149,
                                    "column": 70
                                  },
                                  "end": {
                                    "line": 149,
                                    "column": 92
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 4561,
                                  "end": 4568,
                                  "loc": {
                                    "start": {
                                      "line": 149,
                                      "column": 70
                                    },
                                    "end": {
                                      "line": 149,
                                      "column": 77
                                    },
                                    "identifierName": "options"
                                  },
                                  "name": "options"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 4569,
                                  "end": 4583,
                                  "loc": {
                                    "start": {
                                      "line": 149,
                                      "column": 78
                                    },
                                    "end": {
                                      "line": 149,
                                      "column": 92
                                    },
                                    "identifierName": "newLineOnEnter"
                                  },
                                  "name": "newLineOnEnter"
                                },
                                "computed": false
                              }
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 4592,
                              "end": 4653,
                              "loc": {
                                "start": {
                                  "line": 150,
                                  "column": 6
                                },
                                "end": {
                                  "line": 150,
                                  "column": 67
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 4592,
                                "end": 4652,
                                "loc": {
                                  "start": {
                                    "line": 150,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 150,
                                    "column": 66
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "Identifier",
                                  "start": 4592,
                                  "end": 4598,
                                  "loc": {
                                    "start": {
                                      "line": 150,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 150,
                                      "column": 12
                                    },
                                    "identifierName": "output"
                                  },
                                  "name": "output"
                                },
                                "right": {
                                  "type": "CallExpression",
                                  "start": 4601,
                                  "end": 4652,
                                  "loc": {
                                    "start": {
                                      "line": 150,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 150,
                                      "column": 66
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 4601,
                                    "end": 4617,
                                    "loc": {
                                      "start": {
                                        "line": 150,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 150,
                                        "column": 31
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 4601,
                                      "end": 4605,
                                      "loc": {
                                        "start": {
                                          "line": 150,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 150,
                                          "column": 19
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4606,
                                      "end": 4617,
                                      "loc": {
                                        "start": {
                                          "line": 150,
                                          "column": 20
                                        },
                                        "end": {
                                          "line": 150,
                                          "column": 31
                                        },
                                        "identifierName": "addStringAt"
                                      },
                                      "name": "addStringAt"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "Identifier",
                                      "start": 4618,
                                      "end": 4624,
                                      "loc": {
                                        "start": {
                                          "line": 150,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 150,
                                          "column": 38
                                        },
                                        "identifierName": "output"
                                      },
                                      "name": "output"
                                    },
                                    {
                                      "type": "StringLiteral",
                                      "start": 4626,
                                      "end": 4630,
                                      "loc": {
                                        "start": {
                                          "line": 150,
                                          "column": 40
                                        },
                                        "end": {
                                          "line": 150,
                                          "column": 44
                                        }
                                      },
                                      "extra": {
                                        "rawValue": "\n",
                                        "raw": "\"\\n\""
                                      },
                                      "value": "\n"
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 4632,
                                      "end": 4640,
                                      "loc": {
                                        "start": {
                                          "line": 150,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 150,
                                          "column": 54
                                        },
                                        "identifierName": "caretPos"
                                      },
                                      "name": "caretPos"
                                    },
                                    {
                                      "type": "Identifier",
                                      "start": 4642,
                                      "end": 4651,
                                      "loc": {
                                        "start": {
                                          "line": 150,
                                          "column": 56
                                        },
                                        "end": {
                                          "line": 150,
                                          "column": 65
                                        },
                                        "identifierName": "moveCaret"
                                      },
                                      "name": "moveCaret"
                                    }
                                  ]
                                }
                              }
                            },
                            "alternate": {
                              "type": "IfStatement",
                              "start": 4666,
                              "end": 5651,
                              "loc": {
                                "start": {
                                  "line": 152,
                                  "column": 9
                                },
                                "end": {
                                  "line": 174,
                                  "column": 69
                                }
                              },
                              "test": {
                                "type": "LogicalExpression",
                                "start": 4669,
                                "end": 4749,
                                "loc": {
                                  "start": {
                                    "line": 152,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 152,
                                    "column": 92
                                  }
                                },
                                "left": {
                                  "type": "CallExpression",
                                  "start": 4669,
                                  "end": 4694,
                                  "loc": {
                                    "start": {
                                      "line": 152,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 152,
                                      "column": 37
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 4669,
                                    "end": 4684,
                                    "loc": {
                                      "start": {
                                        "line": 152,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 152,
                                        "column": 27
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 4669,
                                      "end": 4675,
                                      "loc": {
                                        "start": {
                                          "line": 152,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 152,
                                          "column": 18
                                        },
                                        "identifierName": "button"
                                      },
                                      "name": "button"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4676,
                                      "end": 4684,
                                      "loc": {
                                        "start": {
                                          "line": 152,
                                          "column": 19
                                        },
                                        "end": {
                                          "line": 152,
                                          "column": 27
                                        },
                                        "identifierName": "includes"
                                      },
                                      "name": "includes"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "StringLiteral",
                                      "start": 4685,
                                      "end": 4693,
                                      "loc": {
                                        "start": {
                                          "line": 152,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 152,
                                          "column": 36
                                        }
                                      },
                                      "extra": {
                                        "rawValue": "numpad",
                                        "raw": "\"numpad\""
                                      },
                                      "value": "numpad"
                                    }
                                  ]
                                },
                                "operator": "&&",
                                "right": {
                                  "type": "CallExpression",
                                  "start": 4698,
                                  "end": 4749,
                                  "loc": {
                                    "start": {
                                      "line": 152,
                                      "column": 41
                                    },
                                    "end": {
                                      "line": 152,
                                      "column": 92
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 4698,
                                    "end": 4714,
                                    "loc": {
                                      "start": {
                                        "line": 152,
                                        "column": 41
                                      },
                                      "end": {
                                        "line": 152,
                                        "column": 57
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 4698,
                                      "end": 4704,
                                      "loc": {
                                        "start": {
                                          "line": 152,
                                          "column": 41
                                        },
                                        "end": {
                                          "line": 152,
                                          "column": 47
                                        },
                                        "identifierName": "Number"
                                      },
                                      "name": "Number"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 4705,
                                      "end": 4714,
                                      "loc": {
                                        "start": {
                                          "line": 152,
                                          "column": 48
                                        },
                                        "end": {
                                          "line": 152,
                                          "column": 57
                                        },
                                        "identifierName": "isInteger"
                                      },
                                      "name": "isInteger"
                                    },
                                    "computed": false
                                  },
                                  "arguments": [
                                    {
                                      "type": "CallExpression",
                                      "start": 4715,
                                      "end": 4748,
                                      "loc": {
                                        "start": {
                                          "line": 152,
                                          "column": 58
                                        },
                                        "end": {
                                          "line": 152,
                                          "column": 91
                                        }
                                      },
                                      "callee": {
                                        "type": "Identifier",
                                        "start": 4715,
                                        "end": 4721,
                                        "loc": {
                                          "start": {
                                            "line": 152,
                                            "column": 58
                                          },
                                          "end": {
                                            "line": 152,
                                            "column": 64
                                          },
                                          "identifierName": "Number"
                                        },
                                        "name": "Number"
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "start": 4722,
                                          "end": 4747,
                                          "loc": {
                                            "start": {
                                              "line": 152,
                                              "column": 65
                                            },
                                            "end": {
                                              "line": 152,
                                              "column": 90
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 4722,
                                            "end": 4728,
                                            "loc": {
                                              "start": {
                                                "line": 152,
                                                "column": 65
                                              },
                                              "end": {
                                                "line": 152,
                                                "column": 71
                                              },
                                              "identifierName": "button"
                                            },
                                            "name": "button"
                                          },
                                          "property": {
                                            "type": "BinaryExpression",
                                            "start": 4729,
                                            "end": 4746,
                                            "loc": {
                                              "start": {
                                                "line": 152,
                                                "column": 72
                                              },
                                              "end": {
                                                "line": 152,
                                                "column": 89
                                              }
                                            },
                                            "left": {
                                              "type": "MemberExpression",
                                              "start": 4729,
                                              "end": 4742,
                                              "loc": {
                                                "start": {
                                                  "line": 152,
                                                  "column": 72
                                                },
                                                "end": {
                                                  "line": 152,
                                                  "column": 85
                                                }
                                              },
                                              "object": {
                                                "type": "Identifier",
                                                "start": 4729,
                                                "end": 4735,
                                                "loc": {
                                                  "start": {
                                                    "line": 152,
                                                    "column": 72
                                                  },
                                                  "end": {
                                                    "line": 152,
                                                    "column": 78
                                                  },
                                                  "identifierName": "button"
                                                },
                                                "name": "button"
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 4736,
                                                "end": 4742,
                                                "loc": {
                                                  "start": {
                                                    "line": 152,
                                                    "column": 79
                                                  },
                                                  "end": {
                                                    "line": 152,
                                                    "column": 85
                                                  },
                                                  "identifierName": "length"
                                                },
                                                "name": "length"
                                              },
                                              "computed": false
                                            },
                                            "operator": "-",
                                            "right": {
                                              "type": "NumericLiteral",
                                              "start": 4745,
                                              "end": 4746,
                                              "loc": {
                                                "start": {
                                                  "line": 152,
                                                  "column": 88
                                                },
                                                "end": {
                                                  "line": 152,
                                                  "column": 89
                                                }
                                              },
                                              "extra": {
                                                "rawValue": 2,
                                                "raw": "2"
                                              },
                                              "value": 2
                                            }
                                          },
                                          "computed": true
                                        }
                                      ]
                                    }
                                  ]
                                }
                              },
                              "consequent": {
                                "type": "BlockStatement",
                                "start": 4750,
                                "end": 4837,
                                "loc": {
                                  "start": {
                                    "line": 152,
                                    "column": 93
                                  },
                                  "end": {
                                    "line": 154,
                                    "column": 5
                                  }
                                },
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 4759,
                                    "end": 4830,
                                    "loc": {
                                      "start": {
                                        "line": 153,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 153,
                                        "column": 77
                                      }
                                    },
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "start": 4759,
                                      "end": 4829,
                                      "loc": {
                                        "start": {
                                          "line": 153,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 153,
                                          "column": 76
                                        }
                                      },
                                      "operator": "=",
                                      "left": {
                                        "type": "Identifier",
                                        "start": 4759,
                                        "end": 4765,
                                        "loc": {
                                          "start": {
                                            "line": 153,
                                            "column": 6
                                          },
                                          "end": {
                                            "line": 153,
                                            "column": 12
                                          },
                                          "identifierName": "output"
                                        },
                                        "name": "output"
                                      },
                                      "right": {
                                        "type": "CallExpression",
                                        "start": 4768,
                                        "end": 4829,
                                        "loc": {
                                          "start": {
                                            "line": 153,
                                            "column": 15
                                          },
                                          "end": {
                                            "line": 153,
                                            "column": 76
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 4768,
                                          "end": 4784,
                                          "loc": {
                                            "start": {
                                              "line": 153,
                                              "column": 15
                                            },
                                            "end": {
                                              "line": 153,
                                              "column": 31
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 4768,
                                            "end": 4772,
                                            "loc": {
                                              "start": {
                                                "line": 153,
                                                "column": 15
                                              },
                                              "end": {
                                                "line": 153,
                                                "column": 19
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 4773,
                                            "end": 4784,
                                            "loc": {
                                              "start": {
                                                "line": 153,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 153,
                                                "column": 31
                                              },
                                              "identifierName": "addStringAt"
                                            },
                                            "name": "addStringAt"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 4785,
                                            "end": 4791,
                                            "loc": {
                                              "start": {
                                                "line": 153,
                                                "column": 32
                                              },
                                              "end": {
                                                "line": 153,
                                                "column": 38
                                              },
                                              "identifierName": "output"
                                            },
                                            "name": "output"
                                          },
                                          {
                                            "type": "MemberExpression",
                                            "start": 4793,
                                            "end": 4818,
                                            "loc": {
                                              "start": {
                                                "line": 153,
                                                "column": 40
                                              },
                                              "end": {
                                                "line": 153,
                                                "column": 65
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 4793,
                                              "end": 4799,
                                              "loc": {
                                                "start": {
                                                  "line": 153,
                                                  "column": 40
                                                },
                                                "end": {
                                                  "line": 153,
                                                  "column": 46
                                                },
                                                "identifierName": "button"
                                              },
                                              "name": "button"
                                            },
                                            "property": {
                                              "type": "BinaryExpression",
                                              "start": 4800,
                                              "end": 4817,
                                              "loc": {
                                                "start": {
                                                  "line": 153,
                                                  "column": 47
                                                },
                                                "end": {
                                                  "line": 153,
                                                  "column": 64
                                                }
                                              },
                                              "left": {
                                                "type": "MemberExpression",
                                                "start": 4800,
                                                "end": 4813,
                                                "loc": {
                                                  "start": {
                                                    "line": 153,
                                                    "column": 47
                                                  },
                                                  "end": {
                                                    "line": 153,
                                                    "column": 60
                                                  }
                                                },
                                                "object": {
                                                  "type": "Identifier",
                                                  "start": 4800,
                                                  "end": 4806,
                                                  "loc": {
                                                    "start": {
                                                      "line": 153,
                                                      "column": 47
                                                    },
                                                    "end": {
                                                      "line": 153,
                                                      "column": 53
                                                    },
                                                    "identifierName": "button"
                                                  },
                                                  "name": "button"
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 4807,
                                                  "end": 4813,
                                                  "loc": {
                                                    "start": {
                                                      "line": 153,
                                                      "column": 54
                                                    },
                                                    "end": {
                                                      "line": 153,
                                                      "column": 60
                                                    },
                                                    "identifierName": "length"
                                                  },
                                                  "name": "length"
                                                },
                                                "computed": false
                                              },
                                              "operator": "-",
                                              "right": {
                                                "type": "NumericLiteral",
                                                "start": 4816,
                                                "end": 4817,
                                                "loc": {
                                                  "start": {
                                                    "line": 153,
                                                    "column": 63
                                                  },
                                                  "end": {
                                                    "line": 153,
                                                    "column": 64
                                                  }
                                                },
                                                "extra": {
                                                  "rawValue": 2,
                                                  "raw": "2"
                                                },
                                                "value": 2
                                              }
                                            },
                                            "computed": true
                                          },
                                          {
                                            "type": "Identifier",
                                            "start": 4820,
                                            "end": 4828,
                                            "loc": {
                                              "start": {
                                                "line": 153,
                                                "column": 67
                                              },
                                              "end": {
                                                "line": 153,
                                                "column": 75
                                              },
                                              "identifierName": "caretPos"
                                            },
                                            "name": "caretPos"
                                          }
                                        ]
                                      }
                                    }
                                  }
                                ],
                                "directives": []
                              },
                              "alternate": {
                                "type": "IfStatement",
                                "start": 4848,
                                "end": 5651,
                                "loc": {
                                  "start": {
                                    "line": 155,
                                    "column": 9
                                  },
                                  "end": {
                                    "line": 174,
                                    "column": 69
                                  }
                                },
                                "test": {
                                  "type": "BinaryExpression",
                                  "start": 4851,
                                  "end": 4878,
                                  "loc": {
                                    "start": {
                                      "line": 155,
                                      "column": 12
                                    },
                                    "end": {
                                      "line": 155,
                                      "column": 39
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 4851,
                                    "end": 4857,
                                    "loc": {
                                      "start": {
                                        "line": 155,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 155,
                                        "column": 18
                                      },
                                      "identifierName": "button"
                                    },
                                    "name": "button"
                                  },
                                  "operator": "===",
                                  "right": {
                                    "type": "StringLiteral",
                                    "start": 4862,
                                    "end": 4878,
                                    "loc": {
                                      "start": {
                                        "line": 155,
                                        "column": 23
                                      },
                                      "end": {
                                        "line": 155,
                                        "column": 39
                                      }
                                    },
                                    "extra": {
                                      "rawValue": "{numpaddivide}",
                                      "raw": "\"{numpaddivide}\""
                                    },
                                    "value": "{numpaddivide}"
                                  }
                                },
                                "consequent": {
                                  "type": "ExpressionStatement",
                                  "start": 4887,
                                  "end": 4947,
                                  "loc": {
                                    "start": {
                                      "line": 156,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 156,
                                      "column": 66
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 4887,
                                    "end": 4946,
                                    "loc": {
                                      "start": {
                                        "line": 156,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 156,
                                        "column": 65
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "Identifier",
                                      "start": 4887,
                                      "end": 4893,
                                      "loc": {
                                        "start": {
                                          "line": 156,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 156,
                                          "column": 12
                                        },
                                        "identifierName": "output"
                                      },
                                      "name": "output"
                                    },
                                    "right": {
                                      "type": "CallExpression",
                                      "start": 4896,
                                      "end": 4946,
                                      "loc": {
                                        "start": {
                                          "line": 156,
                                          "column": 15
                                        },
                                        "end": {
                                          "line": 156,
                                          "column": 65
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 4896,
                                        "end": 4912,
                                        "loc": {
                                          "start": {
                                            "line": 156,
                                            "column": 15
                                          },
                                          "end": {
                                            "line": 156,
                                            "column": 31
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 4896,
                                          "end": 4900,
                                          "loc": {
                                            "start": {
                                              "line": 156,
                                              "column": 15
                                            },
                                            "end": {
                                              "line": 156,
                                              "column": 19
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 4901,
                                          "end": 4912,
                                          "loc": {
                                            "start": {
                                              "line": 156,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 156,
                                              "column": 31
                                            },
                                            "identifierName": "addStringAt"
                                          },
                                          "name": "addStringAt"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 4913,
                                          "end": 4919,
                                          "loc": {
                                            "start": {
                                              "line": 156,
                                              "column": 32
                                            },
                                            "end": {
                                              "line": 156,
                                              "column": 38
                                            },
                                            "identifierName": "output"
                                          },
                                          "name": "output"
                                        },
                                        {
                                          "type": "StringLiteral",
                                          "start": 4921,
                                          "end": 4924,
                                          "loc": {
                                            "start": {
                                              "line": 156,
                                              "column": 40
                                            },
                                            "end": {
                                              "line": 156,
                                              "column": 43
                                            }
                                          },
                                          "extra": {
                                            "rawValue": "/",
                                            "raw": "'/'"
                                          },
                                          "value": "/"
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 4926,
                                          "end": 4934,
                                          "loc": {
                                            "start": {
                                              "line": 156,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 156,
                                              "column": 53
                                            },
                                            "identifierName": "caretPos"
                                          },
                                          "name": "caretPos"
                                        },
                                        {
                                          "type": "Identifier",
                                          "start": 4936,
                                          "end": 4945,
                                          "loc": {
                                            "start": {
                                              "line": 156,
                                              "column": 55
                                            },
                                            "end": {
                                              "line": 156,
                                              "column": 64
                                            },
                                            "identifierName": "moveCaret"
                                          },
                                          "name": "moveCaret"
                                        }
                                      ]
                                    }
                                  }
                                },
                                "alternate": {
                                  "type": "IfStatement",
                                  "start": 4960,
                                  "end": 5651,
                                  "loc": {
                                    "start": {
                                      "line": 158,
                                      "column": 9
                                    },
                                    "end": {
                                      "line": 174,
                                      "column": 69
                                    }
                                  },
                                  "test": {
                                    "type": "BinaryExpression",
                                    "start": 4963,
                                    "end": 4992,
                                    "loc": {
                                      "start": {
                                        "line": 158,
                                        "column": 12
                                      },
                                      "end": {
                                        "line": 158,
                                        "column": 41
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 4963,
                                      "end": 4969,
                                      "loc": {
                                        "start": {
                                          "line": 158,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 158,
                                          "column": 18
                                        },
                                        "identifierName": "button"
                                      },
                                      "name": "button"
                                    },
                                    "operator": "===",
                                    "right": {
                                      "type": "StringLiteral",
                                      "start": 4974,
                                      "end": 4992,
                                      "loc": {
                                        "start": {
                                          "line": 158,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 158,
                                          "column": 41
                                        }
                                      },
                                      "extra": {
                                        "rawValue": "{numpadmultiply}",
                                        "raw": "\"{numpadmultiply}\""
                                      },
                                      "value": "{numpadmultiply}"
                                    }
                                  },
                                  "consequent": {
                                    "type": "ExpressionStatement",
                                    "start": 5001,
                                    "end": 5061,
                                    "loc": {
                                      "start": {
                                        "line": 159,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 159,
                                        "column": 66
                                      }
                                    },
                                    "expression": {
                                      "type": "AssignmentExpression",
                                      "start": 5001,
                                      "end": 5060,
                                      "loc": {
                                        "start": {
                                          "line": 159,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 159,
                                          "column": 65
                                        }
                                      },
                                      "operator": "=",
                                      "left": {
                                        "type": "Identifier",
                                        "start": 5001,
                                        "end": 5007,
                                        "loc": {
                                          "start": {
                                            "line": 159,
                                            "column": 6
                                          },
                                          "end": {
                                            "line": 159,
                                            "column": 12
                                          },
                                          "identifierName": "output"
                                        },
                                        "name": "output"
                                      },
                                      "right": {
                                        "type": "CallExpression",
                                        "start": 5010,
                                        "end": 5060,
                                        "loc": {
                                          "start": {
                                            "line": 159,
                                            "column": 15
                                          },
                                          "end": {
                                            "line": 159,
                                            "column": 65
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 5010,
                                          "end": 5026,
                                          "loc": {
                                            "start": {
                                              "line": 159,
                                              "column": 15
                                            },
                                            "end": {
                                              "line": 159,
                                              "column": 31
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 5010,
                                            "end": 5014,
                                            "loc": {
                                              "start": {
                                                "line": 159,
                                                "column": 15
                                              },
                                              "end": {
                                                "line": 159,
                                                "column": 19
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 5015,
                                            "end": 5026,
                                            "loc": {
                                              "start": {
                                                "line": 159,
                                                "column": 20
                                              },
                                              "end": {
                                                "line": 159,
                                                "column": 31
                                              },
                                              "identifierName": "addStringAt"
                                            },
                                            "name": "addStringAt"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 5027,
                                            "end": 5033,
                                            "loc": {
                                              "start": {
                                                "line": 159,
                                                "column": 32
                                              },
                                              "end": {
                                                "line": 159,
                                                "column": 38
                                              },
                                              "identifierName": "output"
                                            },
                                            "name": "output"
                                          },
                                          {
                                            "type": "StringLiteral",
                                            "start": 5035,
                                            "end": 5038,
                                            "loc": {
                                              "start": {
                                                "line": 159,
                                                "column": 40
                                              },
                                              "end": {
                                                "line": 159,
                                                "column": 43
                                              }
                                            },
                                            "extra": {
                                              "rawValue": "*",
                                              "raw": "'*'"
                                            },
                                            "value": "*"
                                          },
                                          {
                                            "type": "Identifier",
                                            "start": 5040,
                                            "end": 5048,
                                            "loc": {
                                              "start": {
                                                "line": 159,
                                                "column": 45
                                              },
                                              "end": {
                                                "line": 159,
                                                "column": 53
                                              },
                                              "identifierName": "caretPos"
                                            },
                                            "name": "caretPos"
                                          },
                                          {
                                            "type": "Identifier",
                                            "start": 5050,
                                            "end": 5059,
                                            "loc": {
                                              "start": {
                                                "line": 159,
                                                "column": 55
                                              },
                                              "end": {
                                                "line": 159,
                                                "column": 64
                                              },
                                              "identifierName": "moveCaret"
                                            },
                                            "name": "moveCaret"
                                          }
                                        ]
                                      }
                                    }
                                  },
                                  "alternate": {
                                    "type": "IfStatement",
                                    "start": 5074,
                                    "end": 5651,
                                    "loc": {
                                      "start": {
                                        "line": 161,
                                        "column": 9
                                      },
                                      "end": {
                                        "line": 174,
                                        "column": 69
                                      }
                                    },
                                    "test": {
                                      "type": "BinaryExpression",
                                      "start": 5077,
                                      "end": 5106,
                                      "loc": {
                                        "start": {
                                          "line": 161,
                                          "column": 12
                                        },
                                        "end": {
                                          "line": 161,
                                          "column": 41
                                        }
                                      },
                                      "left": {
                                        "type": "Identifier",
                                        "start": 5077,
                                        "end": 5083,
                                        "loc": {
                                          "start": {
                                            "line": 161,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 161,
                                            "column": 18
                                          },
                                          "identifierName": "button"
                                        },
                                        "name": "button"
                                      },
                                      "operator": "===",
                                      "right": {
                                        "type": "StringLiteral",
                                        "start": 5088,
                                        "end": 5106,
                                        "loc": {
                                          "start": {
                                            "line": 161,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 161,
                                            "column": 41
                                          }
                                        },
                                        "extra": {
                                          "rawValue": "{numpadsubtract}",
                                          "raw": "\"{numpadsubtract}\""
                                        },
                                        "value": "{numpadsubtract}"
                                      }
                                    },
                                    "consequent": {
                                      "type": "ExpressionStatement",
                                      "start": 5115,
                                      "end": 5175,
                                      "loc": {
                                        "start": {
                                          "line": 162,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 162,
                                          "column": 66
                                        }
                                      },
                                      "expression": {
                                        "type": "AssignmentExpression",
                                        "start": 5115,
                                        "end": 5174,
                                        "loc": {
                                          "start": {
                                            "line": 162,
                                            "column": 6
                                          },
                                          "end": {
                                            "line": 162,
                                            "column": 65
                                          }
                                        },
                                        "operator": "=",
                                        "left": {
                                          "type": "Identifier",
                                          "start": 5115,
                                          "end": 5121,
                                          "loc": {
                                            "start": {
                                              "line": 162,
                                              "column": 6
                                            },
                                            "end": {
                                              "line": 162,
                                              "column": 12
                                            },
                                            "identifierName": "output"
                                          },
                                          "name": "output"
                                        },
                                        "right": {
                                          "type": "CallExpression",
                                          "start": 5124,
                                          "end": 5174,
                                          "loc": {
                                            "start": {
                                              "line": 162,
                                              "column": 15
                                            },
                                            "end": {
                                              "line": 162,
                                              "column": 65
                                            }
                                          },
                                          "callee": {
                                            "type": "MemberExpression",
                                            "start": 5124,
                                            "end": 5140,
                                            "loc": {
                                              "start": {
                                                "line": 162,
                                                "column": 15
                                              },
                                              "end": {
                                                "line": 162,
                                                "column": 31
                                              }
                                            },
                                            "object": {
                                              "type": "ThisExpression",
                                              "start": 5124,
                                              "end": 5128,
                                              "loc": {
                                                "start": {
                                                  "line": 162,
                                                  "column": 15
                                                },
                                                "end": {
                                                  "line": 162,
                                                  "column": 19
                                                }
                                              }
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 5129,
                                              "end": 5140,
                                              "loc": {
                                                "start": {
                                                  "line": 162,
                                                  "column": 20
                                                },
                                                "end": {
                                                  "line": 162,
                                                  "column": 31
                                                },
                                                "identifierName": "addStringAt"
                                              },
                                              "name": "addStringAt"
                                            },
                                            "computed": false
                                          },
                                          "arguments": [
                                            {
                                              "type": "Identifier",
                                              "start": 5141,
                                              "end": 5147,
                                              "loc": {
                                                "start": {
                                                  "line": 162,
                                                  "column": 32
                                                },
                                                "end": {
                                                  "line": 162,
                                                  "column": 38
                                                },
                                                "identifierName": "output"
                                              },
                                              "name": "output"
                                            },
                                            {
                                              "type": "StringLiteral",
                                              "start": 5149,
                                              "end": 5152,
                                              "loc": {
                                                "start": {
                                                  "line": 162,
                                                  "column": 40
                                                },
                                                "end": {
                                                  "line": 162,
                                                  "column": 43
                                                }
                                              },
                                              "extra": {
                                                "rawValue": "-",
                                                "raw": "'-'"
                                              },
                                              "value": "-"
                                            },
                                            {
                                              "type": "Identifier",
                                              "start": 5154,
                                              "end": 5162,
                                              "loc": {
                                                "start": {
                                                  "line": 162,
                                                  "column": 45
                                                },
                                                "end": {
                                                  "line": 162,
                                                  "column": 53
                                                },
                                                "identifierName": "caretPos"
                                              },
                                              "name": "caretPos"
                                            },
                                            {
                                              "type": "Identifier",
                                              "start": 5164,
                                              "end": 5173,
                                              "loc": {
                                                "start": {
                                                  "line": 162,
                                                  "column": 55
                                                },
                                                "end": {
                                                  "line": 162,
                                                  "column": 64
                                                },
                                                "identifierName": "moveCaret"
                                              },
                                              "name": "moveCaret"
                                            }
                                          ]
                                        }
                                      }
                                    },
                                    "alternate": {
                                      "type": "IfStatement",
                                      "start": 5188,
                                      "end": 5651,
                                      "loc": {
                                        "start": {
                                          "line": 164,
                                          "column": 9
                                        },
                                        "end": {
                                          "line": 174,
                                          "column": 69
                                        }
                                      },
                                      "test": {
                                        "type": "BinaryExpression",
                                        "start": 5191,
                                        "end": 5215,
                                        "loc": {
                                          "start": {
                                            "line": 164,
                                            "column": 12
                                          },
                                          "end": {
                                            "line": 164,
                                            "column": 36
                                          }
                                        },
                                        "left": {
                                          "type": "Identifier",
                                          "start": 5191,
                                          "end": 5197,
                                          "loc": {
                                            "start": {
                                              "line": 164,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 164,
                                              "column": 18
                                            },
                                            "identifierName": "button"
                                          },
                                          "name": "button"
                                        },
                                        "operator": "===",
                                        "right": {
                                          "type": "StringLiteral",
                                          "start": 5202,
                                          "end": 5215,
                                          "loc": {
                                            "start": {
                                              "line": 164,
                                              "column": 23
                                            },
                                            "end": {
                                              "line": 164,
                                              "column": 36
                                            }
                                          },
                                          "extra": {
                                            "rawValue": "{numpadadd}",
                                            "raw": "\"{numpadadd}\""
                                          },
                                          "value": "{numpadadd}"
                                        }
                                      },
                                      "consequent": {
                                        "type": "ExpressionStatement",
                                        "start": 5224,
                                        "end": 5284,
                                        "loc": {
                                          "start": {
                                            "line": 165,
                                            "column": 6
                                          },
                                          "end": {
                                            "line": 165,
                                            "column": 66
                                          }
                                        },
                                        "expression": {
                                          "type": "AssignmentExpression",
                                          "start": 5224,
                                          "end": 5283,
                                          "loc": {
                                            "start": {
                                              "line": 165,
                                              "column": 6
                                            },
                                            "end": {
                                              "line": 165,
                                              "column": 65
                                            }
                                          },
                                          "operator": "=",
                                          "left": {
                                            "type": "Identifier",
                                            "start": 5224,
                                            "end": 5230,
                                            "loc": {
                                              "start": {
                                                "line": 165,
                                                "column": 6
                                              },
                                              "end": {
                                                "line": 165,
                                                "column": 12
                                              },
                                              "identifierName": "output"
                                            },
                                            "name": "output"
                                          },
                                          "right": {
                                            "type": "CallExpression",
                                            "start": 5233,
                                            "end": 5283,
                                            "loc": {
                                              "start": {
                                                "line": 165,
                                                "column": 15
                                              },
                                              "end": {
                                                "line": 165,
                                                "column": 65
                                              }
                                            },
                                            "callee": {
                                              "type": "MemberExpression",
                                              "start": 5233,
                                              "end": 5249,
                                              "loc": {
                                                "start": {
                                                  "line": 165,
                                                  "column": 15
                                                },
                                                "end": {
                                                  "line": 165,
                                                  "column": 31
                                                }
                                              },
                                              "object": {
                                                "type": "ThisExpression",
                                                "start": 5233,
                                                "end": 5237,
                                                "loc": {
                                                  "start": {
                                                    "line": 165,
                                                    "column": 15
                                                  },
                                                  "end": {
                                                    "line": 165,
                                                    "column": 19
                                                  }
                                                }
                                              },
                                              "property": {
                                                "type": "Identifier",
                                                "start": 5238,
                                                "end": 5249,
                                                "loc": {
                                                  "start": {
                                                    "line": 165,
                                                    "column": 20
                                                  },
                                                  "end": {
                                                    "line": 165,
                                                    "column": 31
                                                  },
                                                  "identifierName": "addStringAt"
                                                },
                                                "name": "addStringAt"
                                              },
                                              "computed": false
                                            },
                                            "arguments": [
                                              {
                                                "type": "Identifier",
                                                "start": 5250,
                                                "end": 5256,
                                                "loc": {
                                                  "start": {
                                                    "line": 165,
                                                    "column": 32
                                                  },
                                                  "end": {
                                                    "line": 165,
                                                    "column": 38
                                                  },
                                                  "identifierName": "output"
                                                },
                                                "name": "output"
                                              },
                                              {
                                                "type": "StringLiteral",
                                                "start": 5258,
                                                "end": 5261,
                                                "loc": {
                                                  "start": {
                                                    "line": 165,
                                                    "column": 40
                                                  },
                                                  "end": {
                                                    "line": 165,
                                                    "column": 43
                                                  }
                                                },
                                                "extra": {
                                                  "rawValue": "+",
                                                  "raw": "'+'"
                                                },
                                                "value": "+"
                                              },
                                              {
                                                "type": "Identifier",
                                                "start": 5263,
                                                "end": 5271,
                                                "loc": {
                                                  "start": {
                                                    "line": 165,
                                                    "column": 45
                                                  },
                                                  "end": {
                                                    "line": 165,
                                                    "column": 53
                                                  },
                                                  "identifierName": "caretPos"
                                                },
                                                "name": "caretPos"
                                              },
                                              {
                                                "type": "Identifier",
                                                "start": 5273,
                                                "end": 5282,
                                                "loc": {
                                                  "start": {
                                                    "line": 165,
                                                    "column": 55
                                                  },
                                                  "end": {
                                                    "line": 165,
                                                    "column": 64
                                                  },
                                                  "identifierName": "moveCaret"
                                                },
                                                "name": "moveCaret"
                                              }
                                            ]
                                          }
                                        }
                                      },
                                      "alternate": {
                                        "type": "IfStatement",
                                        "start": 5297,
                                        "end": 5651,
                                        "loc": {
                                          "start": {
                                            "line": 167,
                                            "column": 9
                                          },
                                          "end": {
                                            "line": 174,
                                            "column": 69
                                          }
                                        },
                                        "test": {
                                          "type": "BinaryExpression",
                                          "start": 5300,
                                          "end": 5328,
                                          "loc": {
                                            "start": {
                                              "line": 167,
                                              "column": 12
                                            },
                                            "end": {
                                              "line": 167,
                                              "column": 40
                                            }
                                          },
                                          "left": {
                                            "type": "Identifier",
                                            "start": 5300,
                                            "end": 5306,
                                            "loc": {
                                              "start": {
                                                "line": 167,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 167,
                                                "column": 18
                                              },
                                              "identifierName": "button"
                                            },
                                            "name": "button"
                                          },
                                          "operator": "===",
                                          "right": {
                                            "type": "StringLiteral",
                                            "start": 5311,
                                            "end": 5328,
                                            "loc": {
                                              "start": {
                                                "line": 167,
                                                "column": 23
                                              },
                                              "end": {
                                                "line": 167,
                                                "column": 40
                                              }
                                            },
                                            "extra": {
                                              "rawValue": "{numpaddecimal}",
                                              "raw": "\"{numpaddecimal}\""
                                            },
                                            "value": "{numpaddecimal}"
                                          }
                                        },
                                        "consequent": {
                                          "type": "ExpressionStatement",
                                          "start": 5337,
                                          "end": 5397,
                                          "loc": {
                                            "start": {
                                              "line": 168,
                                              "column": 6
                                            },
                                            "end": {
                                              "line": 168,
                                              "column": 66
                                            }
                                          },
                                          "expression": {
                                            "type": "AssignmentExpression",
                                            "start": 5337,
                                            "end": 5396,
                                            "loc": {
                                              "start": {
                                                "line": 168,
                                                "column": 6
                                              },
                                              "end": {
                                                "line": 168,
                                                "column": 65
                                              }
                                            },
                                            "operator": "=",
                                            "left": {
                                              "type": "Identifier",
                                              "start": 5337,
                                              "end": 5343,
                                              "loc": {
                                                "start": {
                                                  "line": 168,
                                                  "column": 6
                                                },
                                                "end": {
                                                  "line": 168,
                                                  "column": 12
                                                },
                                                "identifierName": "output"
                                              },
                                              "name": "output"
                                            },
                                            "right": {
                                              "type": "CallExpression",
                                              "start": 5346,
                                              "end": 5396,
                                              "loc": {
                                                "start": {
                                                  "line": 168,
                                                  "column": 15
                                                },
                                                "end": {
                                                  "line": 168,
                                                  "column": 65
                                                }
                                              },
                                              "callee": {
                                                "type": "MemberExpression",
                                                "start": 5346,
                                                "end": 5362,
                                                "loc": {
                                                  "start": {
                                                    "line": 168,
                                                    "column": 15
                                                  },
                                                  "end": {
                                                    "line": 168,
                                                    "column": 31
                                                  }
                                                },
                                                "object": {
                                                  "type": "ThisExpression",
                                                  "start": 5346,
                                                  "end": 5350,
                                                  "loc": {
                                                    "start": {
                                                      "line": 168,
                                                      "column": 15
                                                    },
                                                    "end": {
                                                      "line": 168,
                                                      "column": 19
                                                    }
                                                  }
                                                },
                                                "property": {
                                                  "type": "Identifier",
                                                  "start": 5351,
                                                  "end": 5362,
                                                  "loc": {
                                                    "start": {
                                                      "line": 168,
                                                      "column": 20
                                                    },
                                                    "end": {
                                                      "line": 168,
                                                      "column": 31
                                                    },
                                                    "identifierName": "addStringAt"
                                                  },
                                                  "name": "addStringAt"
                                                },
                                                "computed": false
                                              },
                                              "arguments": [
                                                {
                                                  "type": "Identifier",
                                                  "start": 5363,
                                                  "end": 5369,
                                                  "loc": {
                                                    "start": {
                                                      "line": 168,
                                                      "column": 32
                                                    },
                                                    "end": {
                                                      "line": 168,
                                                      "column": 38
                                                    },
                                                    "identifierName": "output"
                                                  },
                                                  "name": "output"
                                                },
                                                {
                                                  "type": "StringLiteral",
                                                  "start": 5371,
                                                  "end": 5374,
                                                  "loc": {
                                                    "start": {
                                                      "line": 168,
                                                      "column": 40
                                                    },
                                                    "end": {
                                                      "line": 168,
                                                      "column": 43
                                                    }
                                                  },
                                                  "extra": {
                                                    "rawValue": ".",
                                                    "raw": "'.'"
                                                  },
                                                  "value": "."
                                                },
                                                {
                                                  "type": "Identifier",
                                                  "start": 5376,
                                                  "end": 5384,
                                                  "loc": {
                                                    "start": {
                                                      "line": 168,
                                                      "column": 45
                                                    },
                                                    "end": {
                                                      "line": 168,
                                                      "column": 53
                                                    },
                                                    "identifierName": "caretPos"
                                                  },
                                                  "name": "caretPos"
                                                },
                                                {
                                                  "type": "Identifier",
                                                  "start": 5386,
                                                  "end": 5395,
                                                  "loc": {
                                                    "start": {
                                                      "line": 168,
                                                      "column": 55
                                                    },
                                                    "end": {
                                                      "line": 168,
                                                      "column": 64
                                                    },
                                                    "identifierName": "moveCaret"
                                                  },
                                                  "name": "moveCaret"
                                                }
                                              ]
                                            }
                                          }
                                        },
                                        "alternate": {
                                          "type": "IfStatement",
                                          "start": 5410,
                                          "end": 5651,
                                          "loc": {
                                            "start": {
                                              "line": 170,
                                              "column": 9
                                            },
                                            "end": {
                                              "line": 174,
                                              "column": 69
                                            }
                                          },
                                          "test": {
                                            "type": "LogicalExpression",
                                            "start": 5413,
                                            "end": 5445,
                                            "loc": {
                                              "start": {
                                                "line": 170,
                                                "column": 12
                                              },
                                              "end": {
                                                "line": 170,
                                                "column": 44
                                              }
                                            },
                                            "left": {
                                              "type": "BinaryExpression",
                                              "start": 5413,
                                              "end": 5427,
                                              "loc": {
                                                "start": {
                                                  "line": 170,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 170,
                                                  "column": 26
                                                }
                                              },
                                              "left": {
                                                "type": "Identifier",
                                                "start": 5413,
                                                "end": 5419,
                                                "loc": {
                                                  "start": {
                                                    "line": 170,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 170,
                                                    "column": 18
                                                  },
                                                  "identifierName": "button"
                                                },
                                                "name": "button"
                                              },
                                              "operator": "===",
                                              "right": {
                                                "type": "StringLiteral",
                                                "start": 5424,
                                                "end": 5427,
                                                "loc": {
                                                  "start": {
                                                    "line": 170,
                                                    "column": 23
                                                  },
                                                  "end": {
                                                    "line": 170,
                                                    "column": 26
                                                  }
                                                },
                                                "extra": {
                                                  "rawValue": "{",
                                                  "raw": "\"{\""
                                                },
                                                "value": "{"
                                              }
                                            },
                                            "operator": "||",
                                            "right": {
                                              "type": "BinaryExpression",
                                              "start": 5431,
                                              "end": 5445,
                                              "loc": {
                                                "start": {
                                                  "line": 170,
                                                  "column": 30
                                                },
                                                "end": {
                                                  "line": 170,
                                                  "column": 44
                                                }
                                              },
                                              "left": {
                                                "type": "Identifier",
                                                "start": 5431,
                                                "end": 5437,
                                                "loc": {
                                                  "start": {
                                                    "line": 170,
                                                    "column": 30
                                                  },
                                                  "end": {
                                                    "line": 170,
                                                    "column": 36
                                                  },
                                                  "identifierName": "button"
                                                },
                                                "name": "button"
                                              },
                                              "operator": "===",
                                              "right": {
                                                "type": "StringLiteral",
                                                "start": 5442,
                                                "end": 5445,
                                                "loc": {
                                                  "start": {
                                                    "line": 170,
                                                    "column": 41
                                                  },
                                                  "end": {
                                                    "line": 170,
                                                    "column": 44
                                                  }
                                                },
                                                "extra": {
                                                  "rawValue": "}",
                                                  "raw": "\"}\""
                                                },
                                                "value": "}"
                                              }
                                            }
                                          },
                                          "consequent": {
                                            "type": "ExpressionStatement",
                                            "start": 5454,
                                            "end": 5517,
                                            "loc": {
                                              "start": {
                                                "line": 171,
                                                "column": 6
                                              },
                                              "end": {
                                                "line": 171,
                                                "column": 69
                                              }
                                            },
                                            "expression": {
                                              "type": "AssignmentExpression",
                                              "start": 5454,
                                              "end": 5516,
                                              "loc": {
                                                "start": {
                                                  "line": 171,
                                                  "column": 6
                                                },
                                                "end": {
                                                  "line": 171,
                                                  "column": 68
                                                }
                                              },
                                              "operator": "=",
                                              "left": {
                                                "type": "Identifier",
                                                "start": 5454,
                                                "end": 5460,
                                                "loc": {
                                                  "start": {
                                                    "line": 171,
                                                    "column": 6
                                                  },
                                                  "end": {
                                                    "line": 171,
                                                    "column": 12
                                                  },
                                                  "identifierName": "output"
                                                },
                                                "name": "output"
                                              },
                                              "right": {
                                                "type": "CallExpression",
                                                "start": 5463,
                                                "end": 5516,
                                                "loc": {
                                                  "start": {
                                                    "line": 171,
                                                    "column": 15
                                                  },
                                                  "end": {
                                                    "line": 171,
                                                    "column": 68
                                                  }
                                                },
                                                "callee": {
                                                  "type": "MemberExpression",
                                                  "start": 5463,
                                                  "end": 5479,
                                                  "loc": {
                                                    "start": {
                                                      "line": 171,
                                                      "column": 15
                                                    },
                                                    "end": {
                                                      "line": 171,
                                                      "column": 31
                                                    }
                                                  },
                                                  "object": {
                                                    "type": "ThisExpression",
                                                    "start": 5463,
                                                    "end": 5467,
                                                    "loc": {
                                                      "start": {
                                                        "line": 171,
                                                        "column": 15
                                                      },
                                                      "end": {
                                                        "line": 171,
                                                        "column": 19
                                                      }
                                                    }
                                                  },
                                                  "property": {
                                                    "type": "Identifier",
                                                    "start": 5468,
                                                    "end": 5479,
                                                    "loc": {
                                                      "start": {
                                                        "line": 171,
                                                        "column": 20
                                                      },
                                                      "end": {
                                                        "line": 171,
                                                        "column": 31
                                                      },
                                                      "identifierName": "addStringAt"
                                                    },
                                                    "name": "addStringAt"
                                                  },
                                                  "computed": false
                                                },
                                                "arguments": [
                                                  {
                                                    "type": "Identifier",
                                                    "start": 5480,
                                                    "end": 5486,
                                                    "loc": {
                                                      "start": {
                                                        "line": 171,
                                                        "column": 32
                                                      },
                                                      "end": {
                                                        "line": 171,
                                                        "column": 38
                                                      },
                                                      "identifierName": "output"
                                                    },
                                                    "name": "output"
                                                  },
                                                  {
                                                    "type": "Identifier",
                                                    "start": 5488,
                                                    "end": 5494,
                                                    "loc": {
                                                      "start": {
                                                        "line": 171,
                                                        "column": 40
                                                      },
                                                      "end": {
                                                        "line": 171,
                                                        "column": 46
                                                      },
                                                      "identifierName": "button"
                                                    },
                                                    "name": "button"
                                                  },
                                                  {
                                                    "type": "Identifier",
                                                    "start": 5496,
                                                    "end": 5504,
                                                    "loc": {
                                                      "start": {
                                                        "line": 171,
                                                        "column": 48
                                                      },
                                                      "end": {
                                                        "line": 171,
                                                        "column": 56
                                                      },
                                                      "identifierName": "caretPos"
                                                    },
                                                    "name": "caretPos"
                                                  },
                                                  {
                                                    "type": "Identifier",
                                                    "start": 5506,
                                                    "end": 5515,
                                                    "loc": {
                                                      "start": {
                                                        "line": 171,
                                                        "column": 58
                                                      },
                                                      "end": {
                                                        "line": 171,
                                                        "column": 67
                                                      },
                                                      "identifierName": "moveCaret"
                                                    },
                                                    "name": "moveCaret"
                                                  }
                                                ]
                                              }
                                            }
                                          },
                                          "alternate": {
                                            "type": "IfStatement",
                                            "start": 5530,
                                            "end": 5651,
                                            "loc": {
                                              "start": {
                                                "line": 173,
                                                "column": 9
                                              },
                                              "end": {
                                                "line": 174,
                                                "column": 69
                                              }
                                            },
                                            "test": {
                                              "type": "LogicalExpression",
                                              "start": 5533,
                                              "end": 5579,
                                              "loc": {
                                                "start": {
                                                  "line": 173,
                                                  "column": 12
                                                },
                                                "end": {
                                                  "line": 173,
                                                  "column": 58
                                                }
                                              },
                                              "left": {
                                                "type": "UnaryExpression",
                                                "start": 5533,
                                                "end": 5554,
                                                "loc": {
                                                  "start": {
                                                    "line": 173,
                                                    "column": 12
                                                  },
                                                  "end": {
                                                    "line": 173,
                                                    "column": 33
                                                  }
                                                },
                                                "operator": "!",
                                                "prefix": true,
                                                "argument": {
                                                  "type": "CallExpression",
                                                  "start": 5534,
                                                  "end": 5554,
                                                  "loc": {
                                                    "start": {
                                                      "line": 173,
                                                      "column": 13
                                                    },
                                                    "end": {
                                                      "line": 173,
                                                      "column": 33
                                                    }
                                                  },
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "start": 5534,
                                                    "end": 5549,
                                                    "loc": {
                                                      "start": {
                                                        "line": 173,
                                                        "column": 13
                                                      },
                                                      "end": {
                                                        "line": 173,
                                                        "column": 28
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 5534,
                                                      "end": 5540,
                                                      "loc": {
                                                        "start": {
                                                          "line": 173,
                                                          "column": 13
                                                        },
                                                        "end": {
                                                          "line": 173,
                                                          "column": 19
                                                        },
                                                        "identifierName": "button"
                                                      },
                                                      "name": "button"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 5541,
                                                      "end": 5549,
                                                      "loc": {
                                                        "start": {
                                                          "line": 173,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 173,
                                                          "column": 28
                                                        },
                                                        "identifierName": "includes"
                                                      },
                                                      "name": "includes"
                                                    },
                                                    "computed": false
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "StringLiteral",
                                                      "start": 5550,
                                                      "end": 5553,
                                                      "loc": {
                                                        "start": {
                                                          "line": 173,
                                                          "column": 29
                                                        },
                                                        "end": {
                                                          "line": 173,
                                                          "column": 32
                                                        }
                                                      },
                                                      "extra": {
                                                        "rawValue": "{",
                                                        "raw": "\"{\""
                                                      },
                                                      "value": "{"
                                                    }
                                                  ]
                                                },
                                                "extra": {
                                                  "parenthesizedArgument": false
                                                }
                                              },
                                              "operator": "&&",
                                              "right": {
                                                "type": "UnaryExpression",
                                                "start": 5558,
                                                "end": 5579,
                                                "loc": {
                                                  "start": {
                                                    "line": 173,
                                                    "column": 37
                                                  },
                                                  "end": {
                                                    "line": 173,
                                                    "column": 58
                                                  }
                                                },
                                                "operator": "!",
                                                "prefix": true,
                                                "argument": {
                                                  "type": "CallExpression",
                                                  "start": 5559,
                                                  "end": 5579,
                                                  "loc": {
                                                    "start": {
                                                      "line": 173,
                                                      "column": 38
                                                    },
                                                    "end": {
                                                      "line": 173,
                                                      "column": 58
                                                    }
                                                  },
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "start": 5559,
                                                    "end": 5574,
                                                    "loc": {
                                                      "start": {
                                                        "line": 173,
                                                        "column": 38
                                                      },
                                                      "end": {
                                                        "line": 173,
                                                        "column": 53
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "Identifier",
                                                      "start": 5559,
                                                      "end": 5565,
                                                      "loc": {
                                                        "start": {
                                                          "line": 173,
                                                          "column": 38
                                                        },
                                                        "end": {
                                                          "line": 173,
                                                          "column": 44
                                                        },
                                                        "identifierName": "button"
                                                      },
                                                      "name": "button"
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 5566,
                                                      "end": 5574,
                                                      "loc": {
                                                        "start": {
                                                          "line": 173,
                                                          "column": 45
                                                        },
                                                        "end": {
                                                          "line": 173,
                                                          "column": 53
                                                        },
                                                        "identifierName": "includes"
                                                      },
                                                      "name": "includes"
                                                    },
                                                    "computed": false
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "StringLiteral",
                                                      "start": 5575,
                                                      "end": 5578,
                                                      "loc": {
                                                        "start": {
                                                          "line": 173,
                                                          "column": 54
                                                        },
                                                        "end": {
                                                          "line": 173,
                                                          "column": 57
                                                        }
                                                      },
                                                      "extra": {
                                                        "rawValue": "}",
                                                        "raw": "\"}\""
                                                      },
                                                      "value": "}"
                                                    }
                                                  ]
                                                },
                                                "extra": {
                                                  "parenthesizedArgument": false
                                                }
                                              }
                                            },
                                            "consequent": {
                                              "type": "ExpressionStatement",
                                              "start": 5588,
                                              "end": 5651,
                                              "loc": {
                                                "start": {
                                                  "line": 174,
                                                  "column": 6
                                                },
                                                "end": {
                                                  "line": 174,
                                                  "column": 69
                                                }
                                              },
                                              "expression": {
                                                "type": "AssignmentExpression",
                                                "start": 5588,
                                                "end": 5650,
                                                "loc": {
                                                  "start": {
                                                    "line": 174,
                                                    "column": 6
                                                  },
                                                  "end": {
                                                    "line": 174,
                                                    "column": 68
                                                  }
                                                },
                                                "operator": "=",
                                                "left": {
                                                  "type": "Identifier",
                                                  "start": 5588,
                                                  "end": 5594,
                                                  "loc": {
                                                    "start": {
                                                      "line": 174,
                                                      "column": 6
                                                    },
                                                    "end": {
                                                      "line": 174,
                                                      "column": 12
                                                    },
                                                    "identifierName": "output"
                                                  },
                                                  "name": "output"
                                                },
                                                "right": {
                                                  "type": "CallExpression",
                                                  "start": 5597,
                                                  "end": 5650,
                                                  "loc": {
                                                    "start": {
                                                      "line": 174,
                                                      "column": 15
                                                    },
                                                    "end": {
                                                      "line": 174,
                                                      "column": 68
                                                    }
                                                  },
                                                  "callee": {
                                                    "type": "MemberExpression",
                                                    "start": 5597,
                                                    "end": 5613,
                                                    "loc": {
                                                      "start": {
                                                        "line": 174,
                                                        "column": 15
                                                      },
                                                      "end": {
                                                        "line": 174,
                                                        "column": 31
                                                      }
                                                    },
                                                    "object": {
                                                      "type": "ThisExpression",
                                                      "start": 5597,
                                                      "end": 5601,
                                                      "loc": {
                                                        "start": {
                                                          "line": 174,
                                                          "column": 15
                                                        },
                                                        "end": {
                                                          "line": 174,
                                                          "column": 19
                                                        }
                                                      }
                                                    },
                                                    "property": {
                                                      "type": "Identifier",
                                                      "start": 5602,
                                                      "end": 5613,
                                                      "loc": {
                                                        "start": {
                                                          "line": 174,
                                                          "column": 20
                                                        },
                                                        "end": {
                                                          "line": 174,
                                                          "column": 31
                                                        },
                                                        "identifierName": "addStringAt"
                                                      },
                                                      "name": "addStringAt"
                                                    },
                                                    "computed": false
                                                  },
                                                  "arguments": [
                                                    {
                                                      "type": "Identifier",
                                                      "start": 5614,
                                                      "end": 5620,
                                                      "loc": {
                                                        "start": {
                                                          "line": 174,
                                                          "column": 32
                                                        },
                                                        "end": {
                                                          "line": 174,
                                                          "column": 38
                                                        },
                                                        "identifierName": "output"
                                                      },
                                                      "name": "output"
                                                    },
                                                    {
                                                      "type": "Identifier",
                                                      "start": 5622,
                                                      "end": 5628,
                                                      "loc": {
                                                        "start": {
                                                          "line": 174,
                                                          "column": 40
                                                        },
                                                        "end": {
                                                          "line": 174,
                                                          "column": 46
                                                        },
                                                        "identifierName": "button"
                                                      },
                                                      "name": "button"
                                                    },
                                                    {
                                                      "type": "Identifier",
                                                      "start": 5630,
                                                      "end": 5638,
                                                      "loc": {
                                                        "start": {
                                                          "line": 174,
                                                          "column": 48
                                                        },
                                                        "end": {
                                                          "line": 174,
                                                          "column": 56
                                                        },
                                                        "identifierName": "caretPos"
                                                      },
                                                      "name": "caretPos"
                                                    },
                                                    {
                                                      "type": "Identifier",
                                                      "start": 5640,
                                                      "end": 5649,
                                                      "loc": {
                                                        "start": {
                                                          "line": 174,
                                                          "column": 58
                                                        },
                                                        "end": {
                                                          "line": 174,
                                                          "column": 67
                                                        },
                                                        "identifierName": "moveCaret"
                                                      },
                                                      "name": "moveCaret"
                                                    }
                                                  ]
                                                }
                                              }
                                            },
                                            "alternate": null
                                          }
                                        }
                                      }
                                    }
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 5659,
                      "end": 5673,
                      "loc": {
                        "start": {
                          "line": 176,
                          "column": 4
                        },
                        "end": {
                          "line": 176,
                          "column": 18
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 5666,
                        "end": 5672,
                        "loc": {
                          "start": {
                            "line": 176,
                            "column": 11
                          },
                          "end": {
                            "line": 176,
                            "column": 17
                          },
                          "identifierName": "output"
                        },
                        "name": "output"
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Returns the updated input resulting from clicking a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @param  {string} input The input string\r\n   * @param  {object} options The simple-keyboard options object\r\n   * @param  {number} caretPos The cursor's current position\r\n   * @param  {boolean} moveCaret Whether to update simple-keyboard's cursor\r\n   ",
                    "start": 3560,
                    "end": 3954,
                    "loc": {
                      "start": {
                        "line": 127,
                        "column": 2
                      },
                      "end": {
                        "line": 135,
                        "column": 5
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Moves the cursor position by a given amount\r\n   * \r\n   * @param  {number} length Represents by how many characters the input should be moved\r\n   * @param  {boolean} minus Whether the cursor should be moved to the left or not.\r\n   ",
                    "start": 5684,
                    "end": 5926,
                    "loc": {
                      "start": {
                        "line": 179,
                        "column": 2
                      },
                      "end": {
                        "line": 184,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 5930,
                "end": 6267,
                "loc": {
                  "start": {
                    "line": 185,
                    "column": 2
                  },
                  "end": {
                    "line": 192,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 5930,
                  "end": 5944,
                  "loc": {
                    "start": {
                      "line": 185,
                      "column": 2
                    },
                    "end": {
                      "line": 185,
                      "column": 16
                    },
                    "identifierName": "updateCaretPos"
                  },
                  "name": "updateCaretPos",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 5945,
                    "end": 5951,
                    "loc": {
                      "start": {
                        "line": 185,
                        "column": 17
                      },
                      "end": {
                        "line": 185,
                        "column": 23
                      },
                      "identifierName": "length"
                    },
                    "name": "length"
                  },
                  {
                    "type": "Identifier",
                    "start": 5953,
                    "end": 5958,
                    "loc": {
                      "start": {
                        "line": 185,
                        "column": 25
                      },
                      "end": {
                        "line": 185,
                        "column": 30
                      },
                      "identifierName": "minus"
                    },
                    "name": "minus"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 5959,
                  "end": 6267,
                  "loc": {
                    "start": {
                      "line": 185,
                      "column": 31
                    },
                    "end": {
                      "line": 192,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 5966,
                      "end": 6262,
                      "loc": {
                        "start": {
                          "line": 186,
                          "column": 4
                        },
                        "end": {
                          "line": 191,
                          "column": 5
                        }
                      },
                      "test": {
                        "type": "Identifier",
                        "start": 5969,
                        "end": 5974,
                        "loc": {
                          "start": {
                            "line": 186,
                            "column": 7
                          },
                          "end": {
                            "line": 186,
                            "column": 12
                          },
                          "identifierName": "minus"
                        },
                        "name": "minus"
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 5975,
                        "end": 6145,
                        "loc": {
                          "start": {
                            "line": 186,
                            "column": 13
                          },
                          "end": {
                            "line": 189,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "IfStatement",
                            "start": 5984,
                            "end": 6138,
                            "loc": {
                              "start": {
                                "line": 187,
                                "column": 6
                              },
                              "end": {
                                "line": 188,
                                "column": 103
                              }
                            },
                            "test": {
                              "type": "BinaryExpression",
                              "start": 5987,
                              "end": 6032,
                              "loc": {
                                "start": {
                                  "line": 187,
                                  "column": 9
                                },
                                "end": {
                                  "line": 187,
                                  "column": 54
                                }
                              },
                              "left": {
                                "type": "MemberExpression",
                                "start": 5987,
                                "end": 6028,
                                "loc": {
                                  "start": {
                                    "line": 187,
                                    "column": 9
                                  },
                                  "end": {
                                    "line": 187,
                                    "column": 50
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 5987,
                                  "end": 6014,
                                  "loc": {
                                    "start": {
                                      "line": 187,
                                      "column": 9
                                    },
                                    "end": {
                                      "line": 187,
                                      "column": 36
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 5987,
                                    "end": 5991,
                                    "loc": {
                                      "start": {
                                        "line": 187,
                                        "column": 9
                                      },
                                      "end": {
                                        "line": 187,
                                        "column": 13
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 5992,
                                    "end": 6014,
                                    "loc": {
                                      "start": {
                                        "line": 187,
                                        "column": 14
                                      },
                                      "end": {
                                        "line": 187,
                                        "column": 36
                                      },
                                      "identifierName": "simpleKeyboardInstance"
                                    },
                                    "name": "simpleKeyboardInstance"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6015,
                                  "end": 6028,
                                  "loc": {
                                    "start": {
                                      "line": 187,
                                      "column": 37
                                    },
                                    "end": {
                                      "line": 187,
                                      "column": 50
                                    },
                                    "identifierName": "caretPosition"
                                  },
                                  "name": "caretPosition"
                                },
                                "computed": false
                              },
                              "operator": ">",
                              "right": {
                                "type": "NumericLiteral",
                                "start": 6031,
                                "end": 6032,
                                "loc": {
                                  "start": {
                                    "line": 187,
                                    "column": 53
                                  },
                                  "end": {
                                    "line": 187,
                                    "column": 54
                                  }
                                },
                                "extra": {
                                  "rawValue": 0,
                                  "raw": "0"
                                },
                                "value": 0
                              }
                            },
                            "consequent": {
                              "type": "ExpressionStatement",
                              "start": 6043,
                              "end": 6138,
                              "loc": {
                                "start": {
                                  "line": 188,
                                  "column": 8
                                },
                                "end": {
                                  "line": 188,
                                  "column": 103
                                }
                              },
                              "expression": {
                                "type": "AssignmentExpression",
                                "start": 6043,
                                "end": 6137,
                                "loc": {
                                  "start": {
                                    "line": 188,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 188,
                                    "column": 102
                                  }
                                },
                                "operator": "=",
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 6043,
                                  "end": 6084,
                                  "loc": {
                                    "start": {
                                      "line": 188,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 188,
                                      "column": 49
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 6043,
                                    "end": 6070,
                                    "loc": {
                                      "start": {
                                        "line": 188,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 188,
                                        "column": 35
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 6043,
                                      "end": 6047,
                                      "loc": {
                                        "start": {
                                          "line": 188,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 188,
                                          "column": 12
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 6048,
                                      "end": 6070,
                                      "loc": {
                                        "start": {
                                          "line": 188,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 188,
                                          "column": 35
                                        },
                                        "identifierName": "simpleKeyboardInstance"
                                      },
                                      "name": "simpleKeyboardInstance"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 6071,
                                    "end": 6084,
                                    "loc": {
                                      "start": {
                                        "line": 188,
                                        "column": 36
                                      },
                                      "end": {
                                        "line": 188,
                                        "column": 49
                                      },
                                      "identifierName": "caretPosition"
                                    },
                                    "name": "caretPosition"
                                  },
                                  "computed": false
                                },
                                "right": {
                                  "type": "BinaryExpression",
                                  "start": 6087,
                                  "end": 6137,
                                  "loc": {
                                    "start": {
                                      "line": 188,
                                      "column": 52
                                    },
                                    "end": {
                                      "line": 188,
                                      "column": 102
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 6087,
                                    "end": 6128,
                                    "loc": {
                                      "start": {
                                        "line": 188,
                                        "column": 52
                                      },
                                      "end": {
                                        "line": 188,
                                        "column": 93
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 6087,
                                      "end": 6114,
                                      "loc": {
                                        "start": {
                                          "line": 188,
                                          "column": 52
                                        },
                                        "end": {
                                          "line": 188,
                                          "column": 79
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 6087,
                                        "end": 6091,
                                        "loc": {
                                          "start": {
                                            "line": 188,
                                            "column": 52
                                          },
                                          "end": {
                                            "line": 188,
                                            "column": 56
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 6092,
                                        "end": 6114,
                                        "loc": {
                                          "start": {
                                            "line": 188,
                                            "column": 57
                                          },
                                          "end": {
                                            "line": 188,
                                            "column": 79
                                          },
                                          "identifierName": "simpleKeyboardInstance"
                                        },
                                        "name": "simpleKeyboardInstance"
                                      },
                                      "computed": false
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 6115,
                                      "end": 6128,
                                      "loc": {
                                        "start": {
                                          "line": 188,
                                          "column": 80
                                        },
                                        "end": {
                                          "line": 188,
                                          "column": 93
                                        },
                                        "identifierName": "caretPosition"
                                      },
                                      "name": "caretPosition"
                                    },
                                    "computed": false
                                  },
                                  "operator": "-",
                                  "right": {
                                    "type": "Identifier",
                                    "start": 6131,
                                    "end": 6137,
                                    "loc": {
                                      "start": {
                                        "line": 188,
                                        "column": 96
                                      },
                                      "end": {
                                        "line": 188,
                                        "column": 102
                                      },
                                      "identifierName": "length"
                                    },
                                    "name": "length"
                                  }
                                }
                              }
                            },
                            "alternate": null
                          }
                        ],
                        "directives": []
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "start": 6151,
                        "end": 6262,
                        "loc": {
                          "start": {
                            "line": 189,
                            "column": 11
                          },
                          "end": {
                            "line": 191,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 6160,
                            "end": 6255,
                            "loc": {
                              "start": {
                                "line": 190,
                                "column": 6
                              },
                              "end": {
                                "line": 190,
                                "column": 101
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 6160,
                              "end": 6254,
                              "loc": {
                                "start": {
                                  "line": 190,
                                  "column": 6
                                },
                                "end": {
                                  "line": 190,
                                  "column": 100
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 6160,
                                "end": 6201,
                                "loc": {
                                  "start": {
                                    "line": 190,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 190,
                                    "column": 47
                                  }
                                },
                                "object": {
                                  "type": "MemberExpression",
                                  "start": 6160,
                                  "end": 6187,
                                  "loc": {
                                    "start": {
                                      "line": 190,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 190,
                                      "column": 33
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 6160,
                                    "end": 6164,
                                    "loc": {
                                      "start": {
                                        "line": 190,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 190,
                                        "column": 10
                                      }
                                    }
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 6165,
                                    "end": 6187,
                                    "loc": {
                                      "start": {
                                        "line": 190,
                                        "column": 11
                                      },
                                      "end": {
                                        "line": 190,
                                        "column": 33
                                      },
                                      "identifierName": "simpleKeyboardInstance"
                                    },
                                    "name": "simpleKeyboardInstance"
                                  },
                                  "computed": false
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 6188,
                                  "end": 6201,
                                  "loc": {
                                    "start": {
                                      "line": 190,
                                      "column": 34
                                    },
                                    "end": {
                                      "line": 190,
                                      "column": 47
                                    },
                                    "identifierName": "caretPosition"
                                  },
                                  "name": "caretPosition"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "BinaryExpression",
                                "start": 6204,
                                "end": 6254,
                                "loc": {
                                  "start": {
                                    "line": 190,
                                    "column": 50
                                  },
                                  "end": {
                                    "line": 190,
                                    "column": 100
                                  }
                                },
                                "left": {
                                  "type": "MemberExpression",
                                  "start": 6204,
                                  "end": 6245,
                                  "loc": {
                                    "start": {
                                      "line": 190,
                                      "column": 50
                                    },
                                    "end": {
                                      "line": 190,
                                      "column": 91
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 6204,
                                    "end": 6231,
                                    "loc": {
                                      "start": {
                                        "line": 190,
                                        "column": 50
                                      },
                                      "end": {
                                        "line": 190,
                                        "column": 77
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 6204,
                                      "end": 6208,
                                      "loc": {
                                        "start": {
                                          "line": 190,
                                          "column": 50
                                        },
                                        "end": {
                                          "line": 190,
                                          "column": 54
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 6209,
                                      "end": 6231,
                                      "loc": {
                                        "start": {
                                          "line": 190,
                                          "column": 55
                                        },
                                        "end": {
                                          "line": 190,
                                          "column": 77
                                        },
                                        "identifierName": "simpleKeyboardInstance"
                                      },
                                      "name": "simpleKeyboardInstance"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 6232,
                                    "end": 6245,
                                    "loc": {
                                      "start": {
                                        "line": 190,
                                        "column": 78
                                      },
                                      "end": {
                                        "line": 190,
                                        "column": 91
                                      },
                                      "identifierName": "caretPosition"
                                    },
                                    "name": "caretPosition"
                                  },
                                  "computed": false
                                },
                                "operator": "+",
                                "right": {
                                  "type": "Identifier",
                                  "start": 6248,
                                  "end": 6254,
                                  "loc": {
                                    "start": {
                                      "line": 190,
                                      "column": 94
                                    },
                                    "end": {
                                      "line": 190,
                                      "column": 100
                                    },
                                    "identifierName": "length"
                                  },
                                  "name": "length"
                                }
                              }
                            }
                          }
                        ],
                        "directives": []
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Moves the cursor position by a given amount\r\n   * \r\n   * @param  {number} length Represents by how many characters the input should be moved\r\n   * @param  {boolean} minus Whether the cursor should be moved to the left or not.\r\n   ",
                    "start": 5684,
                    "end": 5926,
                    "loc": {
                      "start": {
                        "line": 179,
                        "column": 2
                      },
                      "end": {
                        "line": 184,
                        "column": 5
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Adds a string to the input at a given position\r\n   * \r\n   * @param  {string} source The source input\r\n   * @param  {string} string The string to add\r\n   * @param  {number} position The (cursor) position where the string should be added\r\n   * @param  {boolean} moveCaret Whether to update simple-keyboard's cursor\r\n   ",
                    "start": 6273,
                    "end": 6602,
                    "loc": {
                      "start": {
                        "line": 194,
                        "column": 2
                      },
                      "end": {
                        "line": 201,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 6606,
                "end": 7189,
                "loc": {
                  "start": {
                    "line": 202,
                    "column": 2
                  },
                  "end": {
                    "line": 224,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 6606,
                  "end": 6617,
                  "loc": {
                    "start": {
                      "line": 202,
                      "column": 2
                    },
                    "end": {
                      "line": 202,
                      "column": 13
                    },
                    "identifierName": "addStringAt"
                  },
                  "name": "addStringAt",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 6618,
                    "end": 6624,
                    "loc": {
                      "start": {
                        "line": 202,
                        "column": 14
                      },
                      "end": {
                        "line": 202,
                        "column": 20
                      },
                      "identifierName": "source"
                    },
                    "name": "source"
                  },
                  {
                    "type": "Identifier",
                    "start": 6626,
                    "end": 6632,
                    "loc": {
                      "start": {
                        "line": 202,
                        "column": 22
                      },
                      "end": {
                        "line": 202,
                        "column": 28
                      },
                      "identifierName": "string"
                    },
                    "name": "string"
                  },
                  {
                    "type": "Identifier",
                    "start": 6634,
                    "end": 6642,
                    "loc": {
                      "start": {
                        "line": 202,
                        "column": 30
                      },
                      "end": {
                        "line": 202,
                        "column": 38
                      },
                      "identifierName": "position"
                    },
                    "name": "position"
                  },
                  {
                    "type": "Identifier",
                    "start": 6644,
                    "end": 6653,
                    "loc": {
                      "start": {
                        "line": 202,
                        "column": 40
                      },
                      "end": {
                        "line": 202,
                        "column": 49
                      },
                      "identifierName": "moveCaret"
                    },
                    "name": "moveCaret"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 6654,
                  "end": 7189,
                  "loc": {
                    "start": {
                      "line": 202,
                      "column": 50
                    },
                    "end": {
                      "line": 224,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 6661,
                      "end": 6672,
                      "loc": {
                        "start": {
                          "line": 203,
                          "column": 4
                        },
                        "end": {
                          "line": 203,
                          "column": 15
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 6665,
                          "end": 6671,
                          "loc": {
                            "start": {
                              "line": 203,
                              "column": 8
                            },
                            "end": {
                              "line": 203,
                              "column": 14
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 6665,
                            "end": 6671,
                            "loc": {
                              "start": {
                                "line": 203,
                                "column": 8
                              },
                              "end": {
                                "line": 203,
                                "column": 14
                              },
                              "identifierName": "output"
                            },
                            "name": "output"
                          },
                          "init": null
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "IfStatement",
                      "start": 6680,
                      "end": 7045,
                      "loc": {
                        "start": {
                          "line": 205,
                          "column": 4
                        },
                        "end": {
                          "line": 217,
                          "column": 5
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 6683,
                        "end": 6710,
                        "loc": {
                          "start": {
                            "line": 205,
                            "column": 7
                          },
                          "end": {
                            "line": 205,
                            "column": 34
                          }
                        },
                        "left": {
                          "type": "UnaryExpression",
                          "start": 6683,
                          "end": 6692,
                          "loc": {
                            "start": {
                              "line": 205,
                              "column": 7
                            },
                            "end": {
                              "line": 205,
                              "column": 16
                            }
                          },
                          "operator": "!",
                          "prefix": true,
                          "argument": {
                            "type": "Identifier",
                            "start": 6684,
                            "end": 6692,
                            "loc": {
                              "start": {
                                "line": 205,
                                "column": 8
                              },
                              "end": {
                                "line": 205,
                                "column": 16
                              },
                              "identifierName": "position"
                            },
                            "name": "position"
                          },
                          "extra": {
                            "parenthesizedArgument": false
                          }
                        },
                        "operator": "&&",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 6696,
                          "end": 6710,
                          "loc": {
                            "start": {
                              "line": 205,
                              "column": 20
                            },
                            "end": {
                              "line": 205,
                              "column": 34
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 6696,
                            "end": 6704,
                            "loc": {
                              "start": {
                                "line": 205,
                                "column": 20
                              },
                              "end": {
                                "line": 205,
                                "column": 28
                              },
                              "identifierName": "position"
                            },
                            "name": "position"
                          },
                          "operator": "!==",
                          "right": {
                            "type": "NumericLiteral",
                            "start": 6709,
                            "end": 6710,
                            "loc": {
                              "start": {
                                "line": 205,
                                "column": 33
                              },
                              "end": {
                                "line": 205,
                                "column": 34
                              }
                            },
                            "extra": {
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "value": 0
                          }
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 6711,
                        "end": 6752,
                        "loc": {
                          "start": {
                            "line": 205,
                            "column": 35
                          },
                          "end": {
                            "line": 207,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 6720,
                            "end": 6745,
                            "loc": {
                              "start": {
                                "line": 206,
                                "column": 6
                              },
                              "end": {
                                "line": 206,
                                "column": 31
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 6720,
                              "end": 6744,
                              "loc": {
                                "start": {
                                  "line": 206,
                                  "column": 6
                                },
                                "end": {
                                  "line": 206,
                                  "column": 30
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 6720,
                                "end": 6726,
                                "loc": {
                                  "start": {
                                    "line": 206,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 206,
                                    "column": 12
                                  },
                                  "identifierName": "output"
                                },
                                "name": "output"
                              },
                              "right": {
                                "type": "BinaryExpression",
                                "start": 6729,
                                "end": 6744,
                                "loc": {
                                  "start": {
                                    "line": 206,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 206,
                                    "column": 30
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 6729,
                                  "end": 6735,
                                  "loc": {
                                    "start": {
                                      "line": 206,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 206,
                                      "column": 21
                                    },
                                    "identifierName": "source"
                                  },
                                  "name": "source"
                                },
                                "operator": "+",
                                "right": {
                                  "type": "Identifier",
                                  "start": 6738,
                                  "end": 6744,
                                  "loc": {
                                    "start": {
                                      "line": 206,
                                      "column": 24
                                    },
                                    "end": {
                                      "line": 206,
                                      "column": 30
                                    },
                                    "identifierName": "string"
                                  },
                                  "name": "string"
                                }
                              }
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "start": 6758,
                        "end": 7045,
                        "loc": {
                          "start": {
                            "line": 207,
                            "column": 11
                          },
                          "end": {
                            "line": 217,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 6767,
                            "end": 6845,
                            "loc": {
                              "start": {
                                "line": 208,
                                "column": 6
                              },
                              "end": {
                                "line": 208,
                                "column": 84
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 6767,
                              "end": 6844,
                              "loc": {
                                "start": {
                                  "line": 208,
                                  "column": 6
                                },
                                "end": {
                                  "line": 208,
                                  "column": 83
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 6767,
                                "end": 6773,
                                "loc": {
                                  "start": {
                                    "line": 208,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 208,
                                    "column": 12
                                  },
                                  "identifierName": "output"
                                },
                                "name": "output"
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 6776,
                                "end": 6844,
                                "loc": {
                                  "start": {
                                    "line": 208,
                                    "column": 15
                                  },
                                  "end": {
                                    "line": 208,
                                    "column": 83
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 6776,
                                  "end": 6840,
                                  "loc": {
                                    "start": {
                                      "line": 208,
                                      "column": 15
                                    },
                                    "end": {
                                      "line": 208,
                                      "column": 79
                                    }
                                  },
                                  "object": {
                                    "type": "ArrayExpression",
                                    "start": 6776,
                                    "end": 6835,
                                    "loc": {
                                      "start": {
                                        "line": 208,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 208,
                                        "column": 74
                                      }
                                    },
                                    "elements": [
                                      {
                                        "type": "CallExpression",
                                        "start": 6777,
                                        "end": 6802,
                                        "loc": {
                                          "start": {
                                            "line": 208,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 208,
                                            "column": 41
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 6777,
                                          "end": 6789,
                                          "loc": {
                                            "start": {
                                              "line": 208,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 208,
                                              "column": 28
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 6777,
                                            "end": 6783,
                                            "loc": {
                                              "start": {
                                                "line": 208,
                                                "column": 16
                                              },
                                              "end": {
                                                "line": 208,
                                                "column": 22
                                              },
                                              "identifierName": "source"
                                            },
                                            "name": "source"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 6784,
                                            "end": 6789,
                                            "loc": {
                                              "start": {
                                                "line": 208,
                                                "column": 23
                                              },
                                              "end": {
                                                "line": 208,
                                                "column": 28
                                              },
                                              "identifierName": "slice"
                                            },
                                            "name": "slice"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "NumericLiteral",
                                            "start": 6790,
                                            "end": 6791,
                                            "loc": {
                                              "start": {
                                                "line": 208,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 208,
                                                "column": 30
                                              }
                                            },
                                            "extra": {
                                              "rawValue": 0,
                                              "raw": "0"
                                            },
                                            "value": 0
                                          },
                                          {
                                            "type": "Identifier",
                                            "start": 6793,
                                            "end": 6801,
                                            "loc": {
                                              "start": {
                                                "line": 208,
                                                "column": 32
                                              },
                                              "end": {
                                                "line": 208,
                                                "column": 40
                                              },
                                              "identifierName": "position"
                                            },
                                            "name": "position"
                                          }
                                        ]
                                      },
                                      {
                                        "type": "Identifier",
                                        "start": 6804,
                                        "end": 6810,
                                        "loc": {
                                          "start": {
                                            "line": 208,
                                            "column": 43
                                          },
                                          "end": {
                                            "line": 208,
                                            "column": 49
                                          },
                                          "identifierName": "string"
                                        },
                                        "name": "string"
                                      },
                                      {
                                        "type": "CallExpression",
                                        "start": 6812,
                                        "end": 6834,
                                        "loc": {
                                          "start": {
                                            "line": 208,
                                            "column": 51
                                          },
                                          "end": {
                                            "line": 208,
                                            "column": 73
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 6812,
                                          "end": 6824,
                                          "loc": {
                                            "start": {
                                              "line": 208,
                                              "column": 51
                                            },
                                            "end": {
                                              "line": 208,
                                              "column": 63
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 6812,
                                            "end": 6818,
                                            "loc": {
                                              "start": {
                                                "line": 208,
                                                "column": 51
                                              },
                                              "end": {
                                                "line": 208,
                                                "column": 57
                                              },
                                              "identifierName": "source"
                                            },
                                            "name": "source"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 6819,
                                            "end": 6824,
                                            "loc": {
                                              "start": {
                                                "line": 208,
                                                "column": 58
                                              },
                                              "end": {
                                                "line": 208,
                                                "column": 63
                                              },
                                              "identifierName": "slice"
                                            },
                                            "name": "slice"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 6825,
                                            "end": 6833,
                                            "loc": {
                                              "start": {
                                                "line": 208,
                                                "column": 64
                                              },
                                              "end": {
                                                "line": 208,
                                                "column": 72
                                              },
                                              "identifierName": "position"
                                            },
                                            "name": "position"
                                          }
                                        ]
                                      }
                                    ]
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 6836,
                                    "end": 6840,
                                    "loc": {
                                      "start": {
                                        "line": 208,
                                        "column": 75
                                      },
                                      "end": {
                                        "line": 208,
                                        "column": 79
                                      },
                                      "identifierName": "join"
                                    },
                                    "name": "join"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "StringLiteral",
                                    "start": 6841,
                                    "end": 6843,
                                    "loc": {
                                      "start": {
                                        "line": 208,
                                        "column": 80
                                      },
                                      "end": {
                                        "line": 208,
                                        "column": 82
                                      }
                                    },
                                    "extra": {
                                      "rawValue": "",
                                      "raw": "''"
                                    },
                                    "value": ""
                                  }
                                ]
                              }
                            },
                            "trailingComments": [
                              {
                                "type": "CommentBlock",
                                "value": "*\r\n       * Avoid caret position change when maxLength is set\r\n       ",
                                "start": 6855,
                                "end": 6929,
                                "loc": {
                                  "start": {
                                    "line": 210,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 212,
                                    "column": 9
                                  }
                                }
                              }
                            ]
                          },
                          {
                            "type": "IfStatement",
                            "start": 6937,
                            "end": 7036,
                            "loc": {
                              "start": {
                                "line": 213,
                                "column": 6
                              },
                              "end": {
                                "line": 215,
                                "column": 7
                              }
                            },
                            "test": {
                              "type": "UnaryExpression",
                              "start": 6940,
                              "end": 6966,
                              "loc": {
                                "start": {
                                  "line": 213,
                                  "column": 9
                                },
                                "end": {
                                  "line": 213,
                                  "column": 35
                                }
                              },
                              "operator": "!",
                              "prefix": true,
                              "argument": {
                                "type": "CallExpression",
                                "start": 6941,
                                "end": 6966,
                                "loc": {
                                  "start": {
                                    "line": 213,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 213,
                                    "column": 35
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 6941,
                                  "end": 6964,
                                  "loc": {
                                    "start": {
                                      "line": 213,
                                      "column": 10
                                    },
                                    "end": {
                                      "line": 213,
                                      "column": 33
                                    }
                                  },
                                  "object": {
                                    "type": "ThisExpression",
                                    "start": 6941,
                                    "end": 6945,
                                    "loc": {
                                      "start": {
                                        "line": 213,
                                        "column": 10
                                      },
                                      "end": {
                                        "line": 213,
                                        "column": 14
                                      }
                                    },
                                    "leadingComments": null
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 6946,
                                    "end": 6964,
                                    "loc": {
                                      "start": {
                                        "line": 213,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 213,
                                        "column": 33
                                      },
                                      "identifierName": "isMaxLengthReached"
                                    },
                                    "name": "isMaxLengthReached"
                                  },
                                  "computed": false,
                                  "leadingComments": null
                                },
                                "arguments": [],
                                "leadingComments": null
                              },
                              "extra": {
                                "parenthesizedArgument": false
                              },
                              "leadingComments": null
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 6967,
                              "end": 7036,
                              "loc": {
                                "start": {
                                  "line": 213,
                                  "column": 36
                                },
                                "end": {
                                  "line": 215,
                                  "column": 7
                                }
                              },
                              "body": [
                                {
                                  "type": "IfStatement",
                                  "start": 6978,
                                  "end": 7027,
                                  "loc": {
                                    "start": {
                                      "line": 214,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 214,
                                      "column": 57
                                    }
                                  },
                                  "test": {
                                    "type": "Identifier",
                                    "start": 6981,
                                    "end": 6990,
                                    "loc": {
                                      "start": {
                                        "line": 214,
                                        "column": 11
                                      },
                                      "end": {
                                        "line": 214,
                                        "column": 20
                                      },
                                      "identifierName": "moveCaret"
                                    },
                                    "name": "moveCaret"
                                  },
                                  "consequent": {
                                    "type": "ExpressionStatement",
                                    "start": 6992,
                                    "end": 7027,
                                    "loc": {
                                      "start": {
                                        "line": 214,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 214,
                                        "column": 57
                                      }
                                    },
                                    "expression": {
                                      "type": "CallExpression",
                                      "start": 6992,
                                      "end": 7026,
                                      "loc": {
                                        "start": {
                                          "line": 214,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 214,
                                          "column": 56
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 6992,
                                        "end": 7011,
                                        "loc": {
                                          "start": {
                                            "line": 214,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 214,
                                            "column": 41
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 6992,
                                          "end": 6996,
                                          "loc": {
                                            "start": {
                                              "line": 214,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 214,
                                              "column": 26
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 6997,
                                          "end": 7011,
                                          "loc": {
                                            "start": {
                                              "line": 214,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 214,
                                              "column": 41
                                            },
                                            "identifierName": "updateCaretPos"
                                          },
                                          "name": "updateCaretPos"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "start": 7012,
                                          "end": 7025,
                                          "loc": {
                                            "start": {
                                              "line": 214,
                                              "column": 42
                                            },
                                            "end": {
                                              "line": 214,
                                              "column": 55
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 7012,
                                            "end": 7018,
                                            "loc": {
                                              "start": {
                                                "line": 214,
                                                "column": 42
                                              },
                                              "end": {
                                                "line": 214,
                                                "column": 48
                                              },
                                              "identifierName": "string"
                                            },
                                            "name": "string"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 7019,
                                            "end": 7025,
                                            "loc": {
                                              "start": {
                                                "line": 214,
                                                "column": 49
                                              },
                                              "end": {
                                                "line": 214,
                                                "column": 55
                                              },
                                              "identifierName": "length"
                                            },
                                            "name": "length"
                                          },
                                          "computed": false
                                        }
                                      ]
                                    }
                                  },
                                  "alternate": null
                                }
                              ],
                              "directives": []
                            },
                            "alternate": null,
                            "leadingComments": [
                              {
                                "type": "CommentBlock",
                                "value": "*\r\n       * Avoid caret position change when maxLength is set\r\n       ",
                                "start": 6855,
                                "end": 6929,
                                "loc": {
                                  "start": {
                                    "line": 210,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 212,
                                    "column": 9
                                  }
                                }
                              }
                            ]
                          }
                        ],
                        "directives": []
                      }
                    },
                    {
                      "type": "IfStatement",
                      "start": 7053,
                      "end": 7162,
                      "loc": {
                        "start": {
                          "line": 219,
                          "column": 4
                        },
                        "end": {
                          "line": 221,
                          "column": 5
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 7056,
                        "end": 7110,
                        "loc": {
                          "start": {
                            "line": 219,
                            "column": 7
                          },
                          "end": {
                            "line": 219,
                            "column": 61
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 7056,
                          "end": 7097,
                          "loc": {
                            "start": {
                              "line": 219,
                              "column": 7
                            },
                            "end": {
                              "line": 219,
                              "column": 48
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 7056,
                            "end": 7091,
                            "loc": {
                              "start": {
                                "line": 219,
                                "column": 7
                              },
                              "end": {
                                "line": 219,
                                "column": 42
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 7056,
                              "end": 7083,
                              "loc": {
                                "start": {
                                  "line": 219,
                                  "column": 7
                                },
                                "end": {
                                  "line": 219,
                                  "column": 34
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 7056,
                                "end": 7060,
                                "loc": {
                                  "start": {
                                    "line": 219,
                                    "column": 7
                                  },
                                  "end": {
                                    "line": 219,
                                    "column": 11
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 7061,
                                "end": 7083,
                                "loc": {
                                  "start": {
                                    "line": 219,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 219,
                                    "column": 34
                                  },
                                  "identifierName": "simpleKeyboardInstance"
                                },
                                "name": "simpleKeyboardInstance"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7084,
                              "end": 7091,
                              "loc": {
                                "start": {
                                  "line": 219,
                                  "column": 35
                                },
                                "end": {
                                  "line": 219,
                                  "column": 42
                                },
                                "identifierName": "options"
                              },
                              "name": "options"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7092,
                            "end": 7097,
                            "loc": {
                              "start": {
                                "line": 219,
                                "column": 43
                              },
                              "end": {
                                "line": 219,
                                "column": 48
                              },
                              "identifierName": "debug"
                            },
                            "name": "debug"
                          },
                          "computed": false
                        },
                        "operator": "&&",
                        "right": {
                          "type": "Identifier",
                          "start": 7101,
                          "end": 7110,
                          "loc": {
                            "start": {
                              "line": 219,
                              "column": 52
                            },
                            "end": {
                              "line": 219,
                              "column": 61
                            },
                            "identifierName": "moveCaret"
                          },
                          "name": "moveCaret"
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 7111,
                        "end": 7162,
                        "loc": {
                          "start": {
                            "line": 219,
                            "column": 62
                          },
                          "end": {
                            "line": 221,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 7120,
                            "end": 7155,
                            "loc": {
                              "start": {
                                "line": 220,
                                "column": 6
                              },
                              "end": {
                                "line": 220,
                                "column": 41
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 7120,
                              "end": 7154,
                              "loc": {
                                "start": {
                                  "line": 220,
                                  "column": 6
                                },
                                "end": {
                                  "line": 220,
                                  "column": 40
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 7120,
                                "end": 7131,
                                "loc": {
                                  "start": {
                                    "line": 220,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 220,
                                    "column": 17
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 7120,
                                  "end": 7127,
                                  "loc": {
                                    "start": {
                                      "line": 220,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 220,
                                      "column": 13
                                    },
                                    "identifierName": "console"
                                  },
                                  "name": "console"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 7128,
                                  "end": 7131,
                                  "loc": {
                                    "start": {
                                      "line": 220,
                                      "column": 14
                                    },
                                    "end": {
                                      "line": 220,
                                      "column": 17
                                    },
                                    "identifierName": "log"
                                  },
                                  "name": "log"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "StringLiteral",
                                  "start": 7132,
                                  "end": 7143,
                                  "loc": {
                                    "start": {
                                      "line": 220,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 220,
                                      "column": 29
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "Caret at:",
                                    "raw": "\"Caret at:\""
                                  },
                                  "value": "Caret at:"
                                },
                                {
                                  "type": "Identifier",
                                  "start": 7145,
                                  "end": 7153,
                                  "loc": {
                                    "start": {
                                      "line": 220,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 220,
                                      "column": 39
                                    },
                                    "identifierName": "position"
                                  },
                                  "name": "position"
                                }
                              ]
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 7170,
                      "end": 7184,
                      "loc": {
                        "start": {
                          "line": 223,
                          "column": 4
                        },
                        "end": {
                          "line": 223,
                          "column": 18
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 7177,
                        "end": 7183,
                        "loc": {
                          "start": {
                            "line": 223,
                            "column": 11
                          },
                          "end": {
                            "line": 223,
                            "column": 17
                          },
                          "identifierName": "output"
                        },
                        "name": "output"
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Adds a string to the input at a given position\r\n   * \r\n   * @param  {string} source The source input\r\n   * @param  {string} string The string to add\r\n   * @param  {number} position The (cursor) position where the string should be added\r\n   * @param  {boolean} moveCaret Whether to update simple-keyboard's cursor\r\n   ",
                    "start": 6273,
                    "end": 6602,
                    "loc": {
                      "start": {
                        "line": 194,
                        "column": 2
                      },
                      "end": {
                        "line": 201,
                        "column": 5
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Removes an amount of characters at a given position\r\n   * \r\n   * @param  {string} source The source input\r\n   * @param  {number} position The (cursor) position from where the characters should be removed\r\n   * @param  {boolean} moveCaret Whether to update simple-keyboard's cursor\r\n   ",
                    "start": 7195,
                    "end": 7492,
                    "loc": {
                      "start": {
                        "line": 226,
                        "column": 2
                      },
                      "end": {
                        "line": 232,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 7496,
                "end": 8943,
                "loc": {
                  "start": {
                    "line": 233,
                    "column": 2
                  },
                  "end": {
                    "line": 276,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 7496,
                  "end": 7504,
                  "loc": {
                    "start": {
                      "line": 233,
                      "column": 2
                    },
                    "end": {
                      "line": 233,
                      "column": 10
                    },
                    "identifierName": "removeAt"
                  },
                  "name": "removeAt",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 7505,
                    "end": 7511,
                    "loc": {
                      "start": {
                        "line": 233,
                        "column": 11
                      },
                      "end": {
                        "line": 233,
                        "column": 17
                      },
                      "identifierName": "source"
                    },
                    "name": "source"
                  },
                  {
                    "type": "Identifier",
                    "start": 7513,
                    "end": 7521,
                    "loc": {
                      "start": {
                        "line": 233,
                        "column": 19
                      },
                      "end": {
                        "line": 233,
                        "column": 27
                      },
                      "identifierName": "position"
                    },
                    "name": "position"
                  },
                  {
                    "type": "Identifier",
                    "start": 7523,
                    "end": 7532,
                    "loc": {
                      "start": {
                        "line": 233,
                        "column": 29
                      },
                      "end": {
                        "line": 233,
                        "column": 38
                      },
                      "identifierName": "moveCaret"
                    },
                    "name": "moveCaret"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 7533,
                  "end": 8943,
                  "loc": {
                    "start": {
                      "line": 233,
                      "column": 39
                    },
                    "end": {
                      "line": 276,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "IfStatement",
                      "start": 7540,
                      "end": 7621,
                      "loc": {
                        "start": {
                          "line": 234,
                          "column": 4
                        },
                        "end": {
                          "line": 236,
                          "column": 5
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 7543,
                        "end": 7590,
                        "loc": {
                          "start": {
                            "line": 234,
                            "column": 7
                          },
                          "end": {
                            "line": 234,
                            "column": 54
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 7543,
                          "end": 7584,
                          "loc": {
                            "start": {
                              "line": 234,
                              "column": 7
                            },
                            "end": {
                              "line": 234,
                              "column": 48
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 7543,
                            "end": 7570,
                            "loc": {
                              "start": {
                                "line": 234,
                                "column": 7
                              },
                              "end": {
                                "line": 234,
                                "column": 34
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 7543,
                              "end": 7547,
                              "loc": {
                                "start": {
                                  "line": 234,
                                  "column": 7
                                },
                                "end": {
                                  "line": 234,
                                  "column": 11
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 7548,
                              "end": 7570,
                              "loc": {
                                "start": {
                                  "line": 234,
                                  "column": 12
                                },
                                "end": {
                                  "line": 234,
                                  "column": 34
                                },
                                "identifierName": "simpleKeyboardInstance"
                              },
                              "name": "simpleKeyboardInstance"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 7571,
                            "end": 7584,
                            "loc": {
                              "start": {
                                "line": 234,
                                "column": 35
                              },
                              "end": {
                                "line": 234,
                                "column": 48
                              },
                              "identifierName": "caretPosition"
                            },
                            "name": "caretPosition"
                          },
                          "computed": false
                        },
                        "operator": "===",
                        "right": {
                          "type": "NumericLiteral",
                          "start": 7589,
                          "end": 7590,
                          "loc": {
                            "start": {
                              "line": 234,
                              "column": 53
                            },
                            "end": {
                              "line": 234,
                              "column": 54
                            }
                          },
                          "extra": {
                            "rawValue": 0,
                            "raw": "0"
                          },
                          "value": 0
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 7591,
                        "end": 7621,
                        "loc": {
                          "start": {
                            "line": 234,
                            "column": 55
                          },
                          "end": {
                            "line": 236,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "ReturnStatement",
                            "start": 7600,
                            "end": 7614,
                            "loc": {
                              "start": {
                                "line": 235,
                                "column": 6
                              },
                              "end": {
                                "line": 235,
                                "column": 20
                              }
                            },
                            "argument": {
                              "type": "Identifier",
                              "start": 7607,
                              "end": 7613,
                              "loc": {
                                "start": {
                                  "line": 235,
                                  "column": 13
                                },
                                "end": {
                                  "line": 235,
                                  "column": 19
                                },
                                "identifierName": "source"
                              },
                              "name": "source"
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 7629,
                      "end": 7640,
                      "loc": {
                        "start": {
                          "line": 238,
                          "column": 4
                        },
                        "end": {
                          "line": 238,
                          "column": 15
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 7633,
                          "end": 7639,
                          "loc": {
                            "start": {
                              "line": 238,
                              "column": 8
                            },
                            "end": {
                              "line": 238,
                              "column": 14
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 7633,
                            "end": 7639,
                            "loc": {
                              "start": {
                                "line": 238,
                                "column": 8
                              },
                              "end": {
                                "line": 238,
                                "column": 14
                              },
                              "identifierName": "output"
                            },
                            "name": "output"
                          },
                          "init": null
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 7646,
                      "end": 7663,
                      "loc": {
                        "start": {
                          "line": 239,
                          "column": 4
                        },
                        "end": {
                          "line": 239,
                          "column": 21
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 7650,
                          "end": 7662,
                          "loc": {
                            "start": {
                              "line": 239,
                              "column": 8
                            },
                            "end": {
                              "line": 239,
                              "column": 20
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 7650,
                            "end": 7662,
                            "loc": {
                              "start": {
                                "line": 239,
                                "column": 8
                              },
                              "end": {
                                "line": 239,
                                "column": 20
                              },
                              "identifierName": "prevTwoChars"
                            },
                            "name": "prevTwoChars"
                          },
                          "init": null
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 7669,
                      "end": 7686,
                      "loc": {
                        "start": {
                          "line": 240,
                          "column": 4
                        },
                        "end": {
                          "line": 240,
                          "column": 21
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 7673,
                          "end": 7685,
                          "loc": {
                            "start": {
                              "line": 240,
                              "column": 8
                            },
                            "end": {
                              "line": 240,
                              "column": 20
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 7673,
                            "end": 7685,
                            "loc": {
                              "start": {
                                "line": 240,
                                "column": 8
                              },
                              "end": {
                                "line": 240,
                                "column": 20
                              },
                              "identifierName": "emojiMatched"
                            },
                            "name": "emojiMatched"
                          },
                          "init": null
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 7692,
                      "end": 7750,
                      "loc": {
                        "start": {
                          "line": 241,
                          "column": 4
                        },
                        "end": {
                          "line": 241,
                          "column": 62
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 7696,
                          "end": 7749,
                          "loc": {
                            "start": {
                              "line": 241,
                              "column": 8
                            },
                            "end": {
                              "line": 241,
                              "column": 61
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 7696,
                            "end": 7711,
                            "loc": {
                              "start": {
                                "line": 241,
                                "column": 8
                              },
                              "end": {
                                "line": 241,
                                "column": 23
                              },
                              "identifierName": "emojiMatchedReg"
                            },
                            "name": "emojiMatchedReg"
                          },
                          "init": {
                            "type": "RegExpLiteral",
                            "start": 7714,
                            "end": 7749,
                            "loc": {
                              "start": {
                                "line": 241,
                                "column": 26
                              },
                              "end": {
                                "line": 241,
                                "column": 61
                              }
                            },
                            "extra": {
                              "raw": "/([\\uD800-\\uDBFF][\\uDC00-\\uDFFF])/g"
                            },
                            "pattern": "([\\uD800-\\uDBFF][\\uDC00-\\uDFFF])",
                            "flags": "g"
                          }
                        }
                      ],
                      "kind": "let",
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\r\n     * Emojis are made out of two characters, so we must take a custom approach to trim them.\r\n     * For more info: https://mathiasbynens.be/notes/javascript-unicode\r\n     ",
                          "start": 7758,
                          "end": 7938,
                          "loc": {
                            "start": {
                              "line": 243,
                              "column": 4
                            },
                            "end": {
                              "line": 246,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 7944,
                      "end": 8766,
                      "loc": {
                        "start": {
                          "line": 247,
                          "column": 4
                        },
                        "end": {
                          "line": 269,
                          "column": 5
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 7947,
                        "end": 7972,
                        "loc": {
                          "start": {
                            "line": 247,
                            "column": 7
                          },
                          "end": {
                            "line": 247,
                            "column": 32
                          }
                        },
                        "left": {
                          "type": "Identifier",
                          "start": 7947,
                          "end": 7955,
                          "loc": {
                            "start": {
                              "line": 247,
                              "column": 7
                            },
                            "end": {
                              "line": 247,
                              "column": 15
                            },
                            "identifierName": "position"
                          },
                          "name": "position",
                          "leadingComments": null
                        },
                        "operator": "&&",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 7959,
                          "end": 7972,
                          "loc": {
                            "start": {
                              "line": 247,
                              "column": 19
                            },
                            "end": {
                              "line": 247,
                              "column": 32
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 7959,
                            "end": 7967,
                            "loc": {
                              "start": {
                                "line": 247,
                                "column": 19
                              },
                              "end": {
                                "line": 247,
                                "column": 27
                              },
                              "identifierName": "position"
                            },
                            "name": "position"
                          },
                          "operator": ">=",
                          "right": {
                            "type": "NumericLiteral",
                            "start": 7971,
                            "end": 7972,
                            "loc": {
                              "start": {
                                "line": 247,
                                "column": 31
                              },
                              "end": {
                                "line": 247,
                                "column": 32
                              }
                            },
                            "extra": {
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "value": 0
                          }
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 7973,
                        "end": 8417,
                        "loc": {
                          "start": {
                            "line": 247,
                            "column": 33
                          },
                          "end": {
                            "line": 258,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 7982,
                            "end": 8037,
                            "loc": {
                              "start": {
                                "line": 248,
                                "column": 6
                              },
                              "end": {
                                "line": 248,
                                "column": 61
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 7982,
                              "end": 8037,
                              "loc": {
                                "start": {
                                  "line": 248,
                                  "column": 6
                                },
                                "end": {
                                  "line": 248,
                                  "column": 61
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 7982,
                                "end": 7994,
                                "loc": {
                                  "start": {
                                    "line": 248,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 248,
                                    "column": 18
                                  },
                                  "identifierName": "prevTwoChars"
                                },
                                "name": "prevTwoChars"
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 7997,
                                "end": 8037,
                                "loc": {
                                  "start": {
                                    "line": 248,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 248,
                                    "column": 61
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 7997,
                                  "end": 8013,
                                  "loc": {
                                    "start": {
                                      "line": 248,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 248,
                                      "column": 37
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 7997,
                                    "end": 8003,
                                    "loc": {
                                      "start": {
                                        "line": 248,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 248,
                                        "column": 27
                                      },
                                      "identifierName": "source"
                                    },
                                    "name": "source"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 8004,
                                    "end": 8013,
                                    "loc": {
                                      "start": {
                                        "line": 248,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 248,
                                        "column": 37
                                      },
                                      "identifierName": "substring"
                                    },
                                    "name": "substring"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "BinaryExpression",
                                    "start": 8014,
                                    "end": 8026,
                                    "loc": {
                                      "start": {
                                        "line": 248,
                                        "column": 38
                                      },
                                      "end": {
                                        "line": 248,
                                        "column": 50
                                      }
                                    },
                                    "left": {
                                      "type": "Identifier",
                                      "start": 8014,
                                      "end": 8022,
                                      "loc": {
                                        "start": {
                                          "line": 248,
                                          "column": 38
                                        },
                                        "end": {
                                          "line": 248,
                                          "column": 46
                                        },
                                        "identifierName": "position"
                                      },
                                      "name": "position"
                                    },
                                    "operator": "-",
                                    "right": {
                                      "type": "NumericLiteral",
                                      "start": 8025,
                                      "end": 8026,
                                      "loc": {
                                        "start": {
                                          "line": 248,
                                          "column": 49
                                        },
                                        "end": {
                                          "line": 248,
                                          "column": 50
                                        }
                                      },
                                      "extra": {
                                        "rawValue": 2,
                                        "raw": "2"
                                      },
                                      "value": 2
                                    }
                                  },
                                  {
                                    "type": "Identifier",
                                    "start": 8028,
                                    "end": 8036,
                                    "loc": {
                                      "start": {
                                        "line": 248,
                                        "column": 52
                                      },
                                      "end": {
                                        "line": 248,
                                        "column": 60
                                      },
                                      "identifierName": "position"
                                    },
                                    "name": "position"
                                  }
                                ]
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 8045,
                            "end": 8096,
                            "loc": {
                              "start": {
                                "line": 249,
                                "column": 6
                              },
                              "end": {
                                "line": 249,
                                "column": 57
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 8045,
                              "end": 8095,
                              "loc": {
                                "start": {
                                  "line": 249,
                                  "column": 6
                                },
                                "end": {
                                  "line": 249,
                                  "column": 56
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 8045,
                                "end": 8057,
                                "loc": {
                                  "start": {
                                    "line": 249,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 249,
                                    "column": 18
                                  },
                                  "identifierName": "emojiMatched"
                                },
                                "name": "emojiMatched"
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 8060,
                                "end": 8095,
                                "loc": {
                                  "start": {
                                    "line": 249,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 249,
                                    "column": 56
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 8060,
                                  "end": 8078,
                                  "loc": {
                                    "start": {
                                      "line": 249,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 249,
                                      "column": 39
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 8060,
                                    "end": 8072,
                                    "loc": {
                                      "start": {
                                        "line": 249,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 249,
                                        "column": 33
                                      },
                                      "identifierName": "prevTwoChars"
                                    },
                                    "name": "prevTwoChars"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 8073,
                                    "end": 8078,
                                    "loc": {
                                      "start": {
                                        "line": 249,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 249,
                                        "column": 39
                                      },
                                      "identifierName": "match"
                                    },
                                    "name": "match"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 8079,
                                    "end": 8094,
                                    "loc": {
                                      "start": {
                                        "line": 249,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 249,
                                        "column": 55
                                      },
                                      "identifierName": "emojiMatchedReg"
                                    },
                                    "name": "emojiMatchedReg"
                                  }
                                ]
                              }
                            }
                          },
                          {
                            "type": "IfStatement",
                            "start": 8106,
                            "end": 8410,
                            "loc": {
                              "start": {
                                "line": 251,
                                "column": 6
                              },
                              "end": {
                                "line": 257,
                                "column": 7
                              }
                            },
                            "test": {
                              "type": "Identifier",
                              "start": 8109,
                              "end": 8121,
                              "loc": {
                                "start": {
                                  "line": 251,
                                  "column": 9
                                },
                                "end": {
                                  "line": 251,
                                  "column": 21
                                },
                                "identifierName": "emojiMatched"
                              },
                              "name": "emojiMatched"
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 8122,
                              "end": 8263,
                              "loc": {
                                "start": {
                                  "line": 251,
                                  "column": 22
                                },
                                "end": {
                                  "line": 254,
                                  "column": 7
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 8133,
                                  "end": 8201,
                                  "loc": {
                                    "start": {
                                      "line": 252,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 252,
                                      "column": 76
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 8133,
                                    "end": 8200,
                                    "loc": {
                                      "start": {
                                        "line": 252,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 252,
                                        "column": 75
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "Identifier",
                                      "start": 8133,
                                      "end": 8139,
                                      "loc": {
                                        "start": {
                                          "line": 252,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 252,
                                          "column": 14
                                        },
                                        "identifierName": "output"
                                      },
                                      "name": "output"
                                    },
                                    "right": {
                                      "type": "BinaryExpression",
                                      "start": 8142,
                                      "end": 8200,
                                      "loc": {
                                        "start": {
                                          "line": 252,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 252,
                                          "column": 75
                                        }
                                      },
                                      "left": {
                                        "type": "CallExpression",
                                        "start": 8142,
                                        "end": 8174,
                                        "loc": {
                                          "start": {
                                            "line": 252,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 252,
                                            "column": 49
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 8142,
                                          "end": 8155,
                                          "loc": {
                                            "start": {
                                              "line": 252,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 252,
                                              "column": 30
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 8142,
                                            "end": 8148,
                                            "loc": {
                                              "start": {
                                                "line": 252,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 252,
                                                "column": 23
                                              },
                                              "identifierName": "source"
                                            },
                                            "name": "source"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 8149,
                                            "end": 8155,
                                            "loc": {
                                              "start": {
                                                "line": 252,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 252,
                                                "column": 30
                                              },
                                              "identifierName": "substr"
                                            },
                                            "name": "substr"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "NumericLiteral",
                                            "start": 8156,
                                            "end": 8157,
                                            "loc": {
                                              "start": {
                                                "line": 252,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 252,
                                                "column": 32
                                              }
                                            },
                                            "extra": {
                                              "rawValue": 0,
                                              "raw": "0"
                                            },
                                            "value": 0
                                          },
                                          {
                                            "type": "BinaryExpression",
                                            "start": 8160,
                                            "end": 8172,
                                            "loc": {
                                              "start": {
                                                "line": 252,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 252,
                                                "column": 47
                                              }
                                            },
                                            "left": {
                                              "type": "Identifier",
                                              "start": 8160,
                                              "end": 8168,
                                              "loc": {
                                                "start": {
                                                  "line": 252,
                                                  "column": 35
                                                },
                                                "end": {
                                                  "line": 252,
                                                  "column": 43
                                                },
                                                "identifierName": "position"
                                              },
                                              "name": "position"
                                            },
                                            "operator": "-",
                                            "right": {
                                              "type": "NumericLiteral",
                                              "start": 8171,
                                              "end": 8172,
                                              "loc": {
                                                "start": {
                                                  "line": 252,
                                                  "column": 46
                                                },
                                                "end": {
                                                  "line": 252,
                                                  "column": 47
                                                }
                                              },
                                              "extra": {
                                                "rawValue": 2,
                                                "raw": "2"
                                              },
                                              "value": 2
                                            },
                                            "extra": {
                                              "parenthesized": true,
                                              "parenStart": 8159
                                            }
                                          }
                                        ]
                                      },
                                      "operator": "+",
                                      "right": {
                                        "type": "CallExpression",
                                        "start": 8177,
                                        "end": 8200,
                                        "loc": {
                                          "start": {
                                            "line": 252,
                                            "column": 52
                                          },
                                          "end": {
                                            "line": 252,
                                            "column": 75
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 8177,
                                          "end": 8190,
                                          "loc": {
                                            "start": {
                                              "line": 252,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 252,
                                              "column": 65
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 8177,
                                            "end": 8183,
                                            "loc": {
                                              "start": {
                                                "line": 252,
                                                "column": 52
                                              },
                                              "end": {
                                                "line": 252,
                                                "column": 58
                                              },
                                              "identifierName": "source"
                                            },
                                            "name": "source"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 8184,
                                            "end": 8190,
                                            "loc": {
                                              "start": {
                                                "line": 252,
                                                "column": 59
                                              },
                                              "end": {
                                                "line": 252,
                                                "column": 65
                                              },
                                              "identifierName": "substr"
                                            },
                                            "name": "substr"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 8191,
                                            "end": 8199,
                                            "loc": {
                                              "start": {
                                                "line": 252,
                                                "column": 66
                                              },
                                              "end": {
                                                "line": 252,
                                                "column": 74
                                              },
                                              "identifierName": "position"
                                            },
                                            "name": "position"
                                          }
                                        ]
                                      }
                                    }
                                  }
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 8211,
                                  "end": 8254,
                                  "loc": {
                                    "start": {
                                      "line": 253,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 253,
                                      "column": 51
                                    }
                                  },
                                  "test": {
                                    "type": "Identifier",
                                    "start": 8214,
                                    "end": 8223,
                                    "loc": {
                                      "start": {
                                        "line": 253,
                                        "column": 11
                                      },
                                      "end": {
                                        "line": 253,
                                        "column": 20
                                      },
                                      "identifierName": "moveCaret"
                                    },
                                    "name": "moveCaret"
                                  },
                                  "consequent": {
                                    "type": "ExpressionStatement",
                                    "start": 8225,
                                    "end": 8254,
                                    "loc": {
                                      "start": {
                                        "line": 253,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 253,
                                        "column": 51
                                      }
                                    },
                                    "expression": {
                                      "type": "CallExpression",
                                      "start": 8225,
                                      "end": 8253,
                                      "loc": {
                                        "start": {
                                          "line": 253,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 253,
                                          "column": 50
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 8225,
                                        "end": 8244,
                                        "loc": {
                                          "start": {
                                            "line": 253,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 253,
                                            "column": 41
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 8225,
                                          "end": 8229,
                                          "loc": {
                                            "start": {
                                              "line": 253,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 253,
                                              "column": 26
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 8230,
                                          "end": 8244,
                                          "loc": {
                                            "start": {
                                              "line": 253,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 253,
                                              "column": 41
                                            },
                                            "identifierName": "updateCaretPos"
                                          },
                                          "name": "updateCaretPos"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "NumericLiteral",
                                          "start": 8245,
                                          "end": 8246,
                                          "loc": {
                                            "start": {
                                              "line": 253,
                                              "column": 42
                                            },
                                            "end": {
                                              "line": 253,
                                              "column": 43
                                            }
                                          },
                                          "extra": {
                                            "rawValue": 2,
                                            "raw": "2"
                                          },
                                          "value": 2
                                        },
                                        {
                                          "type": "BooleanLiteral",
                                          "start": 8248,
                                          "end": 8252,
                                          "loc": {
                                            "start": {
                                              "line": 253,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 253,
                                              "column": 49
                                            }
                                          },
                                          "value": true
                                        }
                                      ]
                                    }
                                  },
                                  "alternate": null
                                }
                              ],
                              "directives": []
                            },
                            "alternate": {
                              "type": "BlockStatement",
                              "start": 8269,
                              "end": 8410,
                              "loc": {
                                "start": {
                                  "line": 254,
                                  "column": 13
                                },
                                "end": {
                                  "line": 257,
                                  "column": 7
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 8280,
                                  "end": 8348,
                                  "loc": {
                                    "start": {
                                      "line": 255,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 255,
                                      "column": 76
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 8280,
                                    "end": 8347,
                                    "loc": {
                                      "start": {
                                        "line": 255,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 255,
                                        "column": 75
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "Identifier",
                                      "start": 8280,
                                      "end": 8286,
                                      "loc": {
                                        "start": {
                                          "line": 255,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 255,
                                          "column": 14
                                        },
                                        "identifierName": "output"
                                      },
                                      "name": "output"
                                    },
                                    "right": {
                                      "type": "BinaryExpression",
                                      "start": 8289,
                                      "end": 8347,
                                      "loc": {
                                        "start": {
                                          "line": 255,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 255,
                                          "column": 75
                                        }
                                      },
                                      "left": {
                                        "type": "CallExpression",
                                        "start": 8289,
                                        "end": 8321,
                                        "loc": {
                                          "start": {
                                            "line": 255,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 255,
                                            "column": 49
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 8289,
                                          "end": 8302,
                                          "loc": {
                                            "start": {
                                              "line": 255,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 255,
                                              "column": 30
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 8289,
                                            "end": 8295,
                                            "loc": {
                                              "start": {
                                                "line": 255,
                                                "column": 17
                                              },
                                              "end": {
                                                "line": 255,
                                                "column": 23
                                              },
                                              "identifierName": "source"
                                            },
                                            "name": "source"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 8296,
                                            "end": 8302,
                                            "loc": {
                                              "start": {
                                                "line": 255,
                                                "column": 24
                                              },
                                              "end": {
                                                "line": 255,
                                                "column": 30
                                              },
                                              "identifierName": "substr"
                                            },
                                            "name": "substr"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "NumericLiteral",
                                            "start": 8303,
                                            "end": 8304,
                                            "loc": {
                                              "start": {
                                                "line": 255,
                                                "column": 31
                                              },
                                              "end": {
                                                "line": 255,
                                                "column": 32
                                              }
                                            },
                                            "extra": {
                                              "rawValue": 0,
                                              "raw": "0"
                                            },
                                            "value": 0
                                          },
                                          {
                                            "type": "BinaryExpression",
                                            "start": 8307,
                                            "end": 8319,
                                            "loc": {
                                              "start": {
                                                "line": 255,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 255,
                                                "column": 47
                                              }
                                            },
                                            "left": {
                                              "type": "Identifier",
                                              "start": 8307,
                                              "end": 8315,
                                              "loc": {
                                                "start": {
                                                  "line": 255,
                                                  "column": 35
                                                },
                                                "end": {
                                                  "line": 255,
                                                  "column": 43
                                                },
                                                "identifierName": "position"
                                              },
                                              "name": "position"
                                            },
                                            "operator": "-",
                                            "right": {
                                              "type": "NumericLiteral",
                                              "start": 8318,
                                              "end": 8319,
                                              "loc": {
                                                "start": {
                                                  "line": 255,
                                                  "column": 46
                                                },
                                                "end": {
                                                  "line": 255,
                                                  "column": 47
                                                }
                                              },
                                              "extra": {
                                                "rawValue": 1,
                                                "raw": "1"
                                              },
                                              "value": 1
                                            },
                                            "extra": {
                                              "parenthesized": true,
                                              "parenStart": 8306
                                            }
                                          }
                                        ]
                                      },
                                      "operator": "+",
                                      "right": {
                                        "type": "CallExpression",
                                        "start": 8324,
                                        "end": 8347,
                                        "loc": {
                                          "start": {
                                            "line": 255,
                                            "column": 52
                                          },
                                          "end": {
                                            "line": 255,
                                            "column": 75
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 8324,
                                          "end": 8337,
                                          "loc": {
                                            "start": {
                                              "line": 255,
                                              "column": 52
                                            },
                                            "end": {
                                              "line": 255,
                                              "column": 65
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 8324,
                                            "end": 8330,
                                            "loc": {
                                              "start": {
                                                "line": 255,
                                                "column": 52
                                              },
                                              "end": {
                                                "line": 255,
                                                "column": 58
                                              },
                                              "identifierName": "source"
                                            },
                                            "name": "source"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 8331,
                                            "end": 8337,
                                            "loc": {
                                              "start": {
                                                "line": 255,
                                                "column": 59
                                              },
                                              "end": {
                                                "line": 255,
                                                "column": 65
                                              },
                                              "identifierName": "substr"
                                            },
                                            "name": "substr"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 8338,
                                            "end": 8346,
                                            "loc": {
                                              "start": {
                                                "line": 255,
                                                "column": 66
                                              },
                                              "end": {
                                                "line": 255,
                                                "column": 74
                                              },
                                              "identifierName": "position"
                                            },
                                            "name": "position"
                                          }
                                        ]
                                      }
                                    }
                                  }
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 8358,
                                  "end": 8401,
                                  "loc": {
                                    "start": {
                                      "line": 256,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 256,
                                      "column": 51
                                    }
                                  },
                                  "test": {
                                    "type": "Identifier",
                                    "start": 8361,
                                    "end": 8370,
                                    "loc": {
                                      "start": {
                                        "line": 256,
                                        "column": 11
                                      },
                                      "end": {
                                        "line": 256,
                                        "column": 20
                                      },
                                      "identifierName": "moveCaret"
                                    },
                                    "name": "moveCaret"
                                  },
                                  "consequent": {
                                    "type": "ExpressionStatement",
                                    "start": 8372,
                                    "end": 8401,
                                    "loc": {
                                      "start": {
                                        "line": 256,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 256,
                                        "column": 51
                                      }
                                    },
                                    "expression": {
                                      "type": "CallExpression",
                                      "start": 8372,
                                      "end": 8400,
                                      "loc": {
                                        "start": {
                                          "line": 256,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 256,
                                          "column": 50
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 8372,
                                        "end": 8391,
                                        "loc": {
                                          "start": {
                                            "line": 256,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 256,
                                            "column": 41
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 8372,
                                          "end": 8376,
                                          "loc": {
                                            "start": {
                                              "line": 256,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 256,
                                              "column": 26
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 8377,
                                          "end": 8391,
                                          "loc": {
                                            "start": {
                                              "line": 256,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 256,
                                              "column": 41
                                            },
                                            "identifierName": "updateCaretPos"
                                          },
                                          "name": "updateCaretPos"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "NumericLiteral",
                                          "start": 8392,
                                          "end": 8393,
                                          "loc": {
                                            "start": {
                                              "line": 256,
                                              "column": 42
                                            },
                                            "end": {
                                              "line": 256,
                                              "column": 43
                                            }
                                          },
                                          "extra": {
                                            "rawValue": 1,
                                            "raw": "1"
                                          },
                                          "value": 1
                                        },
                                        {
                                          "type": "BooleanLiteral",
                                          "start": 8395,
                                          "end": 8399,
                                          "loc": {
                                            "start": {
                                              "line": 256,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 256,
                                              "column": 49
                                            }
                                          },
                                          "value": true
                                        }
                                      ]
                                    }
                                  },
                                  "alternate": null
                                }
                              ],
                              "directives": []
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": {
                        "type": "BlockStatement",
                        "start": 8423,
                        "end": 8766,
                        "loc": {
                          "start": {
                            "line": 258,
                            "column": 11
                          },
                          "end": {
                            "line": 269,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 8432,
                            "end": 8464,
                            "loc": {
                              "start": {
                                "line": 259,
                                "column": 6
                              },
                              "end": {
                                "line": 259,
                                "column": 38
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 8432,
                              "end": 8463,
                              "loc": {
                                "start": {
                                  "line": 259,
                                  "column": 6
                                },
                                "end": {
                                  "line": 259,
                                  "column": 37
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 8432,
                                "end": 8444,
                                "loc": {
                                  "start": {
                                    "line": 259,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 259,
                                    "column": 18
                                  },
                                  "identifierName": "prevTwoChars"
                                },
                                "name": "prevTwoChars"
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 8447,
                                "end": 8463,
                                "loc": {
                                  "start": {
                                    "line": 259,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 259,
                                    "column": 37
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 8447,
                                  "end": 8459,
                                  "loc": {
                                    "start": {
                                      "line": 259,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 259,
                                      "column": 33
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 8447,
                                    "end": 8453,
                                    "loc": {
                                      "start": {
                                        "line": 259,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 259,
                                        "column": 27
                                      },
                                      "identifierName": "source"
                                    },
                                    "name": "source"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 8454,
                                    "end": 8459,
                                    "loc": {
                                      "start": {
                                        "line": 259,
                                        "column": 28
                                      },
                                      "end": {
                                        "line": 259,
                                        "column": 33
                                      },
                                      "identifierName": "slice"
                                    },
                                    "name": "slice"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "UnaryExpression",
                                    "start": 8460,
                                    "end": 8462,
                                    "loc": {
                                      "start": {
                                        "line": 259,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 259,
                                        "column": 36
                                      }
                                    },
                                    "operator": "-",
                                    "prefix": true,
                                    "argument": {
                                      "type": "NumericLiteral",
                                      "start": 8461,
                                      "end": 8462,
                                      "loc": {
                                        "start": {
                                          "line": 259,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 259,
                                          "column": 36
                                        }
                                      },
                                      "extra": {
                                        "rawValue": 2,
                                        "raw": "2"
                                      },
                                      "value": 2
                                    },
                                    "extra": {
                                      "parenthesizedArgument": false
                                    }
                                  }
                                ]
                              }
                            }
                          },
                          {
                            "type": "ExpressionStatement",
                            "start": 8472,
                            "end": 8523,
                            "loc": {
                              "start": {
                                "line": 260,
                                "column": 6
                              },
                              "end": {
                                "line": 260,
                                "column": 57
                              }
                            },
                            "expression": {
                              "type": "AssignmentExpression",
                              "start": 8472,
                              "end": 8522,
                              "loc": {
                                "start": {
                                  "line": 260,
                                  "column": 6
                                },
                                "end": {
                                  "line": 260,
                                  "column": 56
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "Identifier",
                                "start": 8472,
                                "end": 8484,
                                "loc": {
                                  "start": {
                                    "line": 260,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 260,
                                    "column": 18
                                  },
                                  "identifierName": "emojiMatched"
                                },
                                "name": "emojiMatched"
                              },
                              "right": {
                                "type": "CallExpression",
                                "start": 8487,
                                "end": 8522,
                                "loc": {
                                  "start": {
                                    "line": 260,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 260,
                                    "column": 56
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 8487,
                                  "end": 8505,
                                  "loc": {
                                    "start": {
                                      "line": 260,
                                      "column": 21
                                    },
                                    "end": {
                                      "line": 260,
                                      "column": 39
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 8487,
                                    "end": 8499,
                                    "loc": {
                                      "start": {
                                        "line": 260,
                                        "column": 21
                                      },
                                      "end": {
                                        "line": 260,
                                        "column": 33
                                      },
                                      "identifierName": "prevTwoChars"
                                    },
                                    "name": "prevTwoChars"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 8500,
                                    "end": 8505,
                                    "loc": {
                                      "start": {
                                        "line": 260,
                                        "column": 34
                                      },
                                      "end": {
                                        "line": 260,
                                        "column": 39
                                      },
                                      "identifierName": "match"
                                    },
                                    "name": "match"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "Identifier",
                                    "start": 8506,
                                    "end": 8521,
                                    "loc": {
                                      "start": {
                                        "line": 260,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 260,
                                        "column": 55
                                      },
                                      "identifierName": "emojiMatchedReg"
                                    },
                                    "name": "emojiMatchedReg"
                                  }
                                ]
                              }
                            }
                          },
                          {
                            "type": "IfStatement",
                            "start": 8533,
                            "end": 8759,
                            "loc": {
                              "start": {
                                "line": 262,
                                "column": 6
                              },
                              "end": {
                                "line": 268,
                                "column": 7
                              }
                            },
                            "test": {
                              "type": "Identifier",
                              "start": 8536,
                              "end": 8548,
                              "loc": {
                                "start": {
                                  "line": 262,
                                  "column": 9
                                },
                                "end": {
                                  "line": 262,
                                  "column": 21
                                },
                                "identifierName": "emojiMatched"
                              },
                              "name": "emojiMatched"
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 8549,
                              "end": 8651,
                              "loc": {
                                "start": {
                                  "line": 262,
                                  "column": 22
                                },
                                "end": {
                                  "line": 265,
                                  "column": 7
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 8560,
                                  "end": 8589,
                                  "loc": {
                                    "start": {
                                      "line": 263,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 263,
                                      "column": 37
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 8560,
                                    "end": 8588,
                                    "loc": {
                                      "start": {
                                        "line": 263,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 263,
                                        "column": 36
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "Identifier",
                                      "start": 8560,
                                      "end": 8566,
                                      "loc": {
                                        "start": {
                                          "line": 263,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 263,
                                          "column": 14
                                        },
                                        "identifierName": "output"
                                      },
                                      "name": "output"
                                    },
                                    "right": {
                                      "type": "CallExpression",
                                      "start": 8569,
                                      "end": 8588,
                                      "loc": {
                                        "start": {
                                          "line": 263,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 263,
                                          "column": 36
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 8569,
                                        "end": 8581,
                                        "loc": {
                                          "start": {
                                            "line": 263,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 263,
                                            "column": 29
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 8569,
                                          "end": 8575,
                                          "loc": {
                                            "start": {
                                              "line": 263,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 263,
                                              "column": 23
                                            },
                                            "identifierName": "source"
                                          },
                                          "name": "source"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 8576,
                                          "end": 8581,
                                          "loc": {
                                            "start": {
                                              "line": 263,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 263,
                                              "column": 29
                                            },
                                            "identifierName": "slice"
                                          },
                                          "name": "slice"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "NumericLiteral",
                                          "start": 8582,
                                          "end": 8583,
                                          "loc": {
                                            "start": {
                                              "line": 263,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 263,
                                              "column": 31
                                            }
                                          },
                                          "extra": {
                                            "rawValue": 0,
                                            "raw": "0"
                                          },
                                          "value": 0
                                        },
                                        {
                                          "type": "UnaryExpression",
                                          "start": 8585,
                                          "end": 8587,
                                          "loc": {
                                            "start": {
                                              "line": 263,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 263,
                                              "column": 35
                                            }
                                          },
                                          "operator": "-",
                                          "prefix": true,
                                          "argument": {
                                            "type": "NumericLiteral",
                                            "start": 8586,
                                            "end": 8587,
                                            "loc": {
                                              "start": {
                                                "line": 263,
                                                "column": 34
                                              },
                                              "end": {
                                                "line": 263,
                                                "column": 35
                                              }
                                            },
                                            "extra": {
                                              "rawValue": 2,
                                              "raw": "2"
                                            },
                                            "value": 2
                                          },
                                          "extra": {
                                            "parenthesizedArgument": false
                                          }
                                        }
                                      ]
                                    }
                                  }
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 8599,
                                  "end": 8642,
                                  "loc": {
                                    "start": {
                                      "line": 264,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 264,
                                      "column": 51
                                    }
                                  },
                                  "test": {
                                    "type": "Identifier",
                                    "start": 8602,
                                    "end": 8611,
                                    "loc": {
                                      "start": {
                                        "line": 264,
                                        "column": 11
                                      },
                                      "end": {
                                        "line": 264,
                                        "column": 20
                                      },
                                      "identifierName": "moveCaret"
                                    },
                                    "name": "moveCaret"
                                  },
                                  "consequent": {
                                    "type": "ExpressionStatement",
                                    "start": 8613,
                                    "end": 8642,
                                    "loc": {
                                      "start": {
                                        "line": 264,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 264,
                                        "column": 51
                                      }
                                    },
                                    "expression": {
                                      "type": "CallExpression",
                                      "start": 8613,
                                      "end": 8641,
                                      "loc": {
                                        "start": {
                                          "line": 264,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 264,
                                          "column": 50
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 8613,
                                        "end": 8632,
                                        "loc": {
                                          "start": {
                                            "line": 264,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 264,
                                            "column": 41
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 8613,
                                          "end": 8617,
                                          "loc": {
                                            "start": {
                                              "line": 264,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 264,
                                              "column": 26
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 8618,
                                          "end": 8632,
                                          "loc": {
                                            "start": {
                                              "line": 264,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 264,
                                              "column": 41
                                            },
                                            "identifierName": "updateCaretPos"
                                          },
                                          "name": "updateCaretPos"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "NumericLiteral",
                                          "start": 8633,
                                          "end": 8634,
                                          "loc": {
                                            "start": {
                                              "line": 264,
                                              "column": 42
                                            },
                                            "end": {
                                              "line": 264,
                                              "column": 43
                                            }
                                          },
                                          "extra": {
                                            "rawValue": 2,
                                            "raw": "2"
                                          },
                                          "value": 2
                                        },
                                        {
                                          "type": "BooleanLiteral",
                                          "start": 8636,
                                          "end": 8640,
                                          "loc": {
                                            "start": {
                                              "line": 264,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 264,
                                              "column": 49
                                            }
                                          },
                                          "value": true
                                        }
                                      ]
                                    }
                                  },
                                  "alternate": null
                                }
                              ],
                              "directives": []
                            },
                            "alternate": {
                              "type": "BlockStatement",
                              "start": 8657,
                              "end": 8759,
                              "loc": {
                                "start": {
                                  "line": 265,
                                  "column": 13
                                },
                                "end": {
                                  "line": 268,
                                  "column": 7
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 8668,
                                  "end": 8697,
                                  "loc": {
                                    "start": {
                                      "line": 266,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 266,
                                      "column": 37
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 8668,
                                    "end": 8696,
                                    "loc": {
                                      "start": {
                                        "line": 266,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 266,
                                        "column": 36
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "Identifier",
                                      "start": 8668,
                                      "end": 8674,
                                      "loc": {
                                        "start": {
                                          "line": 266,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 266,
                                          "column": 14
                                        },
                                        "identifierName": "output"
                                      },
                                      "name": "output"
                                    },
                                    "right": {
                                      "type": "CallExpression",
                                      "start": 8677,
                                      "end": 8696,
                                      "loc": {
                                        "start": {
                                          "line": 266,
                                          "column": 17
                                        },
                                        "end": {
                                          "line": 266,
                                          "column": 36
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 8677,
                                        "end": 8689,
                                        "loc": {
                                          "start": {
                                            "line": 266,
                                            "column": 17
                                          },
                                          "end": {
                                            "line": 266,
                                            "column": 29
                                          }
                                        },
                                        "object": {
                                          "type": "Identifier",
                                          "start": 8677,
                                          "end": 8683,
                                          "loc": {
                                            "start": {
                                              "line": 266,
                                              "column": 17
                                            },
                                            "end": {
                                              "line": 266,
                                              "column": 23
                                            },
                                            "identifierName": "source"
                                          },
                                          "name": "source"
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 8684,
                                          "end": 8689,
                                          "loc": {
                                            "start": {
                                              "line": 266,
                                              "column": 24
                                            },
                                            "end": {
                                              "line": 266,
                                              "column": 29
                                            },
                                            "identifierName": "slice"
                                          },
                                          "name": "slice"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "NumericLiteral",
                                          "start": 8690,
                                          "end": 8691,
                                          "loc": {
                                            "start": {
                                              "line": 266,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 266,
                                              "column": 31
                                            }
                                          },
                                          "extra": {
                                            "rawValue": 0,
                                            "raw": "0"
                                          },
                                          "value": 0
                                        },
                                        {
                                          "type": "UnaryExpression",
                                          "start": 8693,
                                          "end": 8695,
                                          "loc": {
                                            "start": {
                                              "line": 266,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 266,
                                              "column": 35
                                            }
                                          },
                                          "operator": "-",
                                          "prefix": true,
                                          "argument": {
                                            "type": "NumericLiteral",
                                            "start": 8694,
                                            "end": 8695,
                                            "loc": {
                                              "start": {
                                                "line": 266,
                                                "column": 34
                                              },
                                              "end": {
                                                "line": 266,
                                                "column": 35
                                              }
                                            },
                                            "extra": {
                                              "rawValue": 1,
                                              "raw": "1"
                                            },
                                            "value": 1
                                          },
                                          "extra": {
                                            "parenthesizedArgument": false
                                          }
                                        }
                                      ]
                                    }
                                  }
                                },
                                {
                                  "type": "IfStatement",
                                  "start": 8707,
                                  "end": 8750,
                                  "loc": {
                                    "start": {
                                      "line": 267,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 267,
                                      "column": 51
                                    }
                                  },
                                  "test": {
                                    "type": "Identifier",
                                    "start": 8710,
                                    "end": 8719,
                                    "loc": {
                                      "start": {
                                        "line": 267,
                                        "column": 11
                                      },
                                      "end": {
                                        "line": 267,
                                        "column": 20
                                      },
                                      "identifierName": "moveCaret"
                                    },
                                    "name": "moveCaret"
                                  },
                                  "consequent": {
                                    "type": "ExpressionStatement",
                                    "start": 8721,
                                    "end": 8750,
                                    "loc": {
                                      "start": {
                                        "line": 267,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 267,
                                        "column": 51
                                      }
                                    },
                                    "expression": {
                                      "type": "CallExpression",
                                      "start": 8721,
                                      "end": 8749,
                                      "loc": {
                                        "start": {
                                          "line": 267,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 267,
                                          "column": 50
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 8721,
                                        "end": 8740,
                                        "loc": {
                                          "start": {
                                            "line": 267,
                                            "column": 22
                                          },
                                          "end": {
                                            "line": 267,
                                            "column": 41
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 8721,
                                          "end": 8725,
                                          "loc": {
                                            "start": {
                                              "line": 267,
                                              "column": 22
                                            },
                                            "end": {
                                              "line": 267,
                                              "column": 26
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 8726,
                                          "end": 8740,
                                          "loc": {
                                            "start": {
                                              "line": 267,
                                              "column": 27
                                            },
                                            "end": {
                                              "line": 267,
                                              "column": 41
                                            },
                                            "identifierName": "updateCaretPos"
                                          },
                                          "name": "updateCaretPos"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "NumericLiteral",
                                          "start": 8741,
                                          "end": 8742,
                                          "loc": {
                                            "start": {
                                              "line": 267,
                                              "column": 42
                                            },
                                            "end": {
                                              "line": 267,
                                              "column": 43
                                            }
                                          },
                                          "extra": {
                                            "rawValue": 1,
                                            "raw": "1"
                                          },
                                          "value": 1
                                        },
                                        {
                                          "type": "BooleanLiteral",
                                          "start": 8744,
                                          "end": 8748,
                                          "loc": {
                                            "start": {
                                              "line": 267,
                                              "column": 45
                                            },
                                            "end": {
                                              "line": 267,
                                              "column": 49
                                            }
                                          },
                                          "value": true
                                        }
                                      ]
                                    }
                                  },
                                  "alternate": null
                                }
                              ],
                              "directives": []
                            }
                          }
                        ],
                        "directives": []
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\r\n     * Emojis are made out of two characters, so we must take a custom approach to trim them.\r\n     * For more info: https://mathiasbynens.be/notes/javascript-unicode\r\n     ",
                          "start": 7758,
                          "end": 7938,
                          "loc": {
                            "start": {
                              "line": 243,
                              "column": 4
                            },
                            "end": {
                              "line": 246,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 8774,
                      "end": 8916,
                      "loc": {
                        "start": {
                          "line": 271,
                          "column": 4
                        },
                        "end": {
                          "line": 273,
                          "column": 5
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 8777,
                        "end": 8831,
                        "loc": {
                          "start": {
                            "line": 271,
                            "column": 7
                          },
                          "end": {
                            "line": 271,
                            "column": 61
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 8777,
                          "end": 8818,
                          "loc": {
                            "start": {
                              "line": 271,
                              "column": 7
                            },
                            "end": {
                              "line": 271,
                              "column": 48
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 8777,
                            "end": 8812,
                            "loc": {
                              "start": {
                                "line": 271,
                                "column": 7
                              },
                              "end": {
                                "line": 271,
                                "column": 42
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 8777,
                              "end": 8804,
                              "loc": {
                                "start": {
                                  "line": 271,
                                  "column": 7
                                },
                                "end": {
                                  "line": 271,
                                  "column": 34
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 8777,
                                "end": 8781,
                                "loc": {
                                  "start": {
                                    "line": 271,
                                    "column": 7
                                  },
                                  "end": {
                                    "line": 271,
                                    "column": 11
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 8782,
                                "end": 8804,
                                "loc": {
                                  "start": {
                                    "line": 271,
                                    "column": 12
                                  },
                                  "end": {
                                    "line": 271,
                                    "column": 34
                                  },
                                  "identifierName": "simpleKeyboardInstance"
                                },
                                "name": "simpleKeyboardInstance"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 8805,
                              "end": 8812,
                              "loc": {
                                "start": {
                                  "line": 271,
                                  "column": 35
                                },
                                "end": {
                                  "line": 271,
                                  "column": 42
                                },
                                "identifierName": "options"
                              },
                              "name": "options"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 8813,
                            "end": 8818,
                            "loc": {
                              "start": {
                                "line": 271,
                                "column": 43
                              },
                              "end": {
                                "line": 271,
                                "column": 48
                              },
                              "identifierName": "debug"
                            },
                            "name": "debug"
                          },
                          "computed": false
                        },
                        "operator": "&&",
                        "right": {
                          "type": "Identifier",
                          "start": 8822,
                          "end": 8831,
                          "loc": {
                            "start": {
                              "line": 271,
                              "column": 52
                            },
                            "end": {
                              "line": 271,
                              "column": 61
                            },
                            "identifierName": "moveCaret"
                          },
                          "name": "moveCaret"
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 8832,
                        "end": 8916,
                        "loc": {
                          "start": {
                            "line": 271,
                            "column": 62
                          },
                          "end": {
                            "line": 273,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "ExpressionStatement",
                            "start": 8841,
                            "end": 8909,
                            "loc": {
                              "start": {
                                "line": 272,
                                "column": 6
                              },
                              "end": {
                                "line": 272,
                                "column": 74
                              }
                            },
                            "expression": {
                              "type": "CallExpression",
                              "start": 8841,
                              "end": 8908,
                              "loc": {
                                "start": {
                                  "line": 272,
                                  "column": 6
                                },
                                "end": {
                                  "line": 272,
                                  "column": 73
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 8841,
                                "end": 8852,
                                "loc": {
                                  "start": {
                                    "line": 272,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 272,
                                    "column": 17
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 8841,
                                  "end": 8848,
                                  "loc": {
                                    "start": {
                                      "line": 272,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 272,
                                      "column": 13
                                    },
                                    "identifierName": "console"
                                  },
                                  "name": "console"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 8849,
                                  "end": 8852,
                                  "loc": {
                                    "start": {
                                      "line": 272,
                                      "column": 14
                                    },
                                    "end": {
                                      "line": 272,
                                      "column": 17
                                    },
                                    "identifierName": "log"
                                  },
                                  "name": "log"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "StringLiteral",
                                  "start": 8853,
                                  "end": 8864,
                                  "loc": {
                                    "start": {
                                      "line": 272,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 272,
                                      "column": 29
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "Caret at:",
                                    "raw": "\"Caret at:\""
                                  },
                                  "value": "Caret at:"
                                },
                                {
                                  "type": "MemberExpression",
                                  "start": 8866,
                                  "end": 8907,
                                  "loc": {
                                    "start": {
                                      "line": 272,
                                      "column": 31
                                    },
                                    "end": {
                                      "line": 272,
                                      "column": 72
                                    }
                                  },
                                  "object": {
                                    "type": "MemberExpression",
                                    "start": 8866,
                                    "end": 8893,
                                    "loc": {
                                      "start": {
                                        "line": 272,
                                        "column": 31
                                      },
                                      "end": {
                                        "line": 272,
                                        "column": 58
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 8866,
                                      "end": 8870,
                                      "loc": {
                                        "start": {
                                          "line": 272,
                                          "column": 31
                                        },
                                        "end": {
                                          "line": 272,
                                          "column": 35
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 8871,
                                      "end": 8893,
                                      "loc": {
                                        "start": {
                                          "line": 272,
                                          "column": 36
                                        },
                                        "end": {
                                          "line": 272,
                                          "column": 58
                                        },
                                        "identifierName": "simpleKeyboardInstance"
                                      },
                                      "name": "simpleKeyboardInstance"
                                    },
                                    "computed": false
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 8894,
                                    "end": 8907,
                                    "loc": {
                                      "start": {
                                        "line": 272,
                                        "column": 59
                                      },
                                      "end": {
                                        "line": 272,
                                        "column": 72
                                      },
                                      "identifierName": "caretPosition"
                                    },
                                    "name": "caretPosition"
                                  },
                                  "computed": false
                                }
                              ]
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    },
                    {
                      "type": "ReturnStatement",
                      "start": 8924,
                      "end": 8938,
                      "loc": {
                        "start": {
                          "line": 275,
                          "column": 4
                        },
                        "end": {
                          "line": 275,
                          "column": 18
                        }
                      },
                      "argument": {
                        "type": "Identifier",
                        "start": 8931,
                        "end": 8937,
                        "loc": {
                          "start": {
                            "line": 275,
                            "column": 11
                          },
                          "end": {
                            "line": 275,
                            "column": 17
                          },
                          "identifierName": "output"
                        },
                        "name": "output"
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Removes an amount of characters at a given position\r\n   * \r\n   * @param  {string} source The source input\r\n   * @param  {number} position The (cursor) position from where the characters should be removed\r\n   * @param  {boolean} moveCaret Whether to update simple-keyboard's cursor\r\n   ",
                    "start": 7195,
                    "end": 7492,
                    "loc": {
                      "start": {
                        "line": 226,
                        "column": 2
                      },
                      "end": {
                        "line": 232,
                        "column": 5
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Determines whether the maxLength has been reached. This function is called when the maxLength option it set.\r\n   * \r\n   * @param  {object} inputObj\r\n   * @param  {object} options\r\n   * @param  {string} updatedInput\r\n   ",
                    "start": 8947,
                    "end": 9178,
                    "loc": {
                      "start": {
                        "line": 277,
                        "column": 2
                      },
                      "end": {
                        "line": 283,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 9182,
                "end": 10438,
                "loc": {
                  "start": {
                    "line": 284,
                    "column": 2
                  },
                  "end": {
                    "line": 331,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 9182,
                  "end": 9197,
                  "loc": {
                    "start": {
                      "line": 284,
                      "column": 2
                    },
                    "end": {
                      "line": 284,
                      "column": 17
                    },
                    "identifierName": "handleMaxLength"
                  },
                  "name": "handleMaxLength",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 9198,
                    "end": 9206,
                    "loc": {
                      "start": {
                        "line": 284,
                        "column": 18
                      },
                      "end": {
                        "line": 284,
                        "column": 26
                      },
                      "identifierName": "inputObj"
                    },
                    "name": "inputObj"
                  },
                  {
                    "type": "Identifier",
                    "start": 9208,
                    "end": 9215,
                    "loc": {
                      "start": {
                        "line": 284,
                        "column": 28
                      },
                      "end": {
                        "line": 284,
                        "column": 35
                      },
                      "identifierName": "options"
                    },
                    "name": "options"
                  },
                  {
                    "type": "Identifier",
                    "start": 9217,
                    "end": 9229,
                    "loc": {
                      "start": {
                        "line": 284,
                        "column": 37
                      },
                      "end": {
                        "line": 284,
                        "column": 49
                      },
                      "identifierName": "updatedInput"
                    },
                    "name": "updatedInput"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 9230,
                  "end": 10438,
                  "loc": {
                    "start": {
                      "line": 284,
                      "column": 50
                    },
                    "end": {
                      "line": 331,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 9237,
                      "end": 9271,
                      "loc": {
                        "start": {
                          "line": 285,
                          "column": 4
                        },
                        "end": {
                          "line": 285,
                          "column": 38
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 9241,
                          "end": 9270,
                          "loc": {
                            "start": {
                              "line": 285,
                              "column": 8
                            },
                            "end": {
                              "line": 285,
                              "column": 37
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 9241,
                            "end": 9250,
                            "loc": {
                              "start": {
                                "line": 285,
                                "column": 8
                              },
                              "end": {
                                "line": 285,
                                "column": 17
                              },
                              "identifierName": "maxLength"
                            },
                            "name": "maxLength"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 9253,
                            "end": 9270,
                            "loc": {
                              "start": {
                                "line": 285,
                                "column": 20
                              },
                              "end": {
                                "line": 285,
                                "column": 37
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 9253,
                              "end": 9260,
                              "loc": {
                                "start": {
                                  "line": 285,
                                  "column": 20
                                },
                                "end": {
                                  "line": 285,
                                  "column": 27
                                },
                                "identifierName": "options"
                              },
                              "name": "options"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 9261,
                              "end": 9270,
                              "loc": {
                                "start": {
                                  "line": 285,
                                  "column": 28
                                },
                                "end": {
                                  "line": 285,
                                  "column": 37
                                },
                                "identifierName": "maxLength"
                              },
                              "name": "maxLength"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 9277,
                      "end": 9324,
                      "loc": {
                        "start": {
                          "line": 286,
                          "column": 4
                        },
                        "end": {
                          "line": 286,
                          "column": 51
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 9281,
                          "end": 9323,
                          "loc": {
                            "start": {
                              "line": 286,
                              "column": 8
                            },
                            "end": {
                              "line": 286,
                              "column": 50
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 9281,
                            "end": 9293,
                            "loc": {
                              "start": {
                                "line": 286,
                                "column": 8
                              },
                              "end": {
                                "line": 286,
                                "column": 20
                              },
                              "identifierName": "currentInput"
                            },
                            "name": "currentInput"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 9296,
                            "end": 9323,
                            "loc": {
                              "start": {
                                "line": 286,
                                "column": 23
                              },
                              "end": {
                                "line": 286,
                                "column": 50
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 9296,
                              "end": 9304,
                              "loc": {
                                "start": {
                                  "line": 286,
                                  "column": 23
                                },
                                "end": {
                                  "line": 286,
                                  "column": 31
                                },
                                "identifierName": "inputObj"
                              },
                              "name": "inputObj"
                            },
                            "property": {
                              "type": "MemberExpression",
                              "start": 9305,
                              "end": 9322,
                              "loc": {
                                "start": {
                                  "line": 286,
                                  "column": 32
                                },
                                "end": {
                                  "line": 286,
                                  "column": 49
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 9305,
                                "end": 9312,
                                "loc": {
                                  "start": {
                                    "line": 286,
                                    "column": 32
                                  },
                                  "end": {
                                    "line": 286,
                                    "column": 39
                                  },
                                  "identifierName": "options"
                                },
                                "name": "options"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9313,
                                "end": 9322,
                                "loc": {
                                  "start": {
                                    "line": 286,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 286,
                                    "column": 49
                                  },
                                  "identifierName": "inputName"
                                },
                                "name": "inputName"
                              },
                              "computed": false
                            },
                            "computed": true
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 9330,
                      "end": 9380,
                      "loc": {
                        "start": {
                          "line": 287,
                          "column": 4
                        },
                        "end": {
                          "line": 287,
                          "column": 54
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 9334,
                          "end": 9379,
                          "loc": {
                            "start": {
                              "line": 287,
                              "column": 8
                            },
                            "end": {
                              "line": 287,
                              "column": 53
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 9334,
                            "end": 9343,
                            "loc": {
                              "start": {
                                "line": 287,
                                "column": 8
                              },
                              "end": {
                                "line": 287,
                                "column": 17
                              },
                              "identifierName": "condition"
                            },
                            "name": "condition"
                          },
                          "init": {
                            "type": "BinaryExpression",
                            "start": 9346,
                            "end": 9379,
                            "loc": {
                              "start": {
                                "line": 287,
                                "column": 20
                              },
                              "end": {
                                "line": 287,
                                "column": 53
                              }
                            },
                            "left": {
                              "type": "MemberExpression",
                              "start": 9346,
                              "end": 9365,
                              "loc": {
                                "start": {
                                  "line": 287,
                                  "column": 20
                                },
                                "end": {
                                  "line": 287,
                                  "column": 39
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 9346,
                                "end": 9358,
                                "loc": {
                                  "start": {
                                    "line": 287,
                                    "column": 20
                                  },
                                  "end": {
                                    "line": 287,
                                    "column": 32
                                  },
                                  "identifierName": "currentInput"
                                },
                                "name": "currentInput"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9359,
                                "end": 9365,
                                "loc": {
                                  "start": {
                                    "line": 287,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 287,
                                    "column": 39
                                  },
                                  "identifierName": "length"
                                },
                                "name": "length"
                              },
                              "computed": false
                            },
                            "operator": "===",
                            "right": {
                              "type": "Identifier",
                              "start": 9370,
                              "end": 9379,
                              "loc": {
                                "start": {
                                  "line": 287,
                                  "column": 44
                                },
                                "end": {
                                  "line": 287,
                                  "column": 53
                                },
                                "identifierName": "maxLength"
                              },
                              "name": "maxLength"
                            }
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "IfStatement",
                      "start": 9388,
                      "end": 9606,
                      "loc": {
                        "start": {
                          "line": 289,
                          "column": 4
                        },
                        "end": {
                          "line": 297,
                          "column": 5
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 9528,
                        "end": 9570,
                        "loc": {
                          "start": {
                            "line": 294,
                            "column": 6
                          },
                          "end": {
                            "line": 294,
                            "column": 48
                          }
                        },
                        "left": {
                          "type": "MemberExpression",
                          "start": 9528,
                          "end": 9547,
                          "loc": {
                            "start": {
                              "line": 294,
                              "column": 6
                            },
                            "end": {
                              "line": 294,
                              "column": 25
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 9528,
                            "end": 9540,
                            "loc": {
                              "start": {
                                "line": 294,
                                "column": 6
                              },
                              "end": {
                                "line": 294,
                                "column": 18
                              },
                              "identifierName": "updatedInput"
                            },
                            "name": "updatedInput",
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9541,
                            "end": 9547,
                            "loc": {
                              "start": {
                                "line": 294,
                                "column": 19
                              },
                              "end": {
                                "line": 294,
                                "column": 25
                              },
                              "identifierName": "length"
                            },
                            "name": "length"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "operator": "<=",
                        "right": {
                          "type": "MemberExpression",
                          "start": 9551,
                          "end": 9570,
                          "loc": {
                            "start": {
                              "line": 294,
                              "column": 29
                            },
                            "end": {
                              "line": 294,
                              "column": 48
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 9551,
                            "end": 9563,
                            "loc": {
                              "start": {
                                "line": 294,
                                "column": 29
                              },
                              "end": {
                                "line": 294,
                                "column": 41
                              },
                              "identifierName": "currentInput"
                            },
                            "name": "currentInput"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9564,
                            "end": 9570,
                            "loc": {
                              "start": {
                                "line": 294,
                                "column": 42
                              },
                              "end": {
                                "line": 294,
                                "column": 48
                              },
                              "identifierName": "length"
                            },
                            "name": "length"
                          },
                          "computed": false
                        },
                        "leadingComments": [
                          {
                            "type": "CommentBlock",
                            "value": "*\r\n       * If pressing this button won't add more characters\r\n       * We exit out of this limiter function\r\n       ",
                            "start": 9399,
                            "end": 9520,
                            "loc": {
                              "start": {
                                "line": 290,
                                "column": 6
                              },
                              "end": {
                                "line": 293,
                                "column": 9
                              }
                            }
                          }
                        ]
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 9577,
                        "end": 9606,
                        "loc": {
                          "start": {
                            "line": 295,
                            "column": 5
                          },
                          "end": {
                            "line": 297,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "ReturnStatement",
                            "start": 9586,
                            "end": 9599,
                            "loc": {
                              "start": {
                                "line": 296,
                                "column": 6
                              },
                              "end": {
                                "line": 296,
                                "column": 19
                              }
                            },
                            "argument": {
                              "type": "BooleanLiteral",
                              "start": 9593,
                              "end": 9598,
                              "loc": {
                                "start": {
                                  "line": 296,
                                  "column": 13
                                },
                                "end": {
                                  "line": 296,
                                  "column": 18
                                }
                              },
                              "value": false
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 9614,
                      "end": 10036,
                      "loc": {
                        "start": {
                          "line": 299,
                          "column": 4
                        },
                        "end": {
                          "line": 314,
                          "column": 5
                        }
                      },
                      "test": {
                        "type": "CallExpression",
                        "start": 9617,
                        "end": 9644,
                        "loc": {
                          "start": {
                            "line": 299,
                            "column": 7
                          },
                          "end": {
                            "line": 299,
                            "column": 34
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 9617,
                          "end": 9633,
                          "loc": {
                            "start": {
                              "line": 299,
                              "column": 7
                            },
                            "end": {
                              "line": 299,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 9617,
                            "end": 9623,
                            "loc": {
                              "start": {
                                "line": 299,
                                "column": 7
                              },
                              "end": {
                                "line": 299,
                                "column": 13
                              },
                              "identifierName": "Number"
                            },
                            "name": "Number"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 9624,
                            "end": 9633,
                            "loc": {
                              "start": {
                                "line": 299,
                                "column": 14
                              },
                              "end": {
                                "line": 299,
                                "column": 23
                              },
                              "identifierName": "isInteger"
                            },
                            "name": "isInteger"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "Identifier",
                            "start": 9634,
                            "end": 9643,
                            "loc": {
                              "start": {
                                "line": 299,
                                "column": 24
                              },
                              "end": {
                                "line": 299,
                                "column": 33
                              },
                              "identifierName": "maxLength"
                            },
                            "name": "maxLength"
                          }
                        ]
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 9645,
                        "end": 10036,
                        "loc": {
                          "start": {
                            "line": 299,
                            "column": 35
                          },
                          "end": {
                            "line": 314,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "IfStatement",
                            "start": 9654,
                            "end": 9742,
                            "loc": {
                              "start": {
                                "line": 300,
                                "column": 6
                              },
                              "end": {
                                "line": 302,
                                "column": 7
                              }
                            },
                            "test": {
                              "type": "MemberExpression",
                              "start": 9657,
                              "end": 9670,
                              "loc": {
                                "start": {
                                  "line": 300,
                                  "column": 9
                                },
                                "end": {
                                  "line": 300,
                                  "column": 22
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 9657,
                                "end": 9664,
                                "loc": {
                                  "start": {
                                    "line": 300,
                                    "column": 9
                                  },
                                  "end": {
                                    "line": 300,
                                    "column": 16
                                  },
                                  "identifierName": "options"
                                },
                                "name": "options"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 9665,
                                "end": 9670,
                                "loc": {
                                  "start": {
                                    "line": 300,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 300,
                                    "column": 22
                                  },
                                  "identifierName": "debug"
                                },
                                "name": "debug"
                              },
                              "computed": false
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 9671,
                              "end": 9742,
                              "loc": {
                                "start": {
                                  "line": 300,
                                  "column": 23
                                },
                                "end": {
                                  "line": 302,
                                  "column": 7
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 9682,
                                  "end": 9733,
                                  "loc": {
                                    "start": {
                                      "line": 301,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 301,
                                      "column": 59
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 9682,
                                    "end": 9732,
                                    "loc": {
                                      "start": {
                                        "line": 301,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 301,
                                        "column": 58
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 9682,
                                      "end": 9693,
                                      "loc": {
                                        "start": {
                                          "line": 301,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 301,
                                          "column": 19
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 9682,
                                        "end": 9689,
                                        "loc": {
                                          "start": {
                                            "line": 301,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 301,
                                            "column": 15
                                          },
                                          "identifierName": "console"
                                        },
                                        "name": "console"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9690,
                                        "end": 9693,
                                        "loc": {
                                          "start": {
                                            "line": 301,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 301,
                                            "column": 19
                                          },
                                          "identifierName": "log"
                                        },
                                        "name": "log"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "StringLiteral",
                                        "start": 9694,
                                        "end": 9720,
                                        "loc": {
                                          "start": {
                                            "line": 301,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 301,
                                            "column": 46
                                          }
                                        },
                                        "extra": {
                                          "rawValue": "maxLength (num) reached:",
                                          "raw": "\"maxLength (num) reached:\""
                                        },
                                        "value": "maxLength (num) reached:"
                                      },
                                      {
                                        "type": "Identifier",
                                        "start": 9722,
                                        "end": 9731,
                                        "loc": {
                                          "start": {
                                            "line": 301,
                                            "column": 48
                                          },
                                          "end": {
                                            "line": 301,
                                            "column": 57
                                          },
                                          "identifierName": "condition"
                                        },
                                        "name": "condition"
                                      }
                                    ]
                                  }
                                }
                              ],
                              "directives": []
                            },
                            "alternate": null
                          },
                          {
                            "type": "IfStatement",
                            "start": 9752,
                            "end": 10029,
                            "loc": {
                              "start": {
                                "line": 304,
                                "column": 6
                              },
                              "end": {
                                "line": 313,
                                "column": 7
                              }
                            },
                            "test": {
                              "type": "Identifier",
                              "start": 9755,
                              "end": 9764,
                              "loc": {
                                "start": {
                                  "line": 304,
                                  "column": 9
                                },
                                "end": {
                                  "line": 304,
                                  "column": 18
                                },
                                "identifierName": "condition"
                              },
                              "name": "condition"
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 9765,
                              "end": 9950,
                              "loc": {
                                "start": {
                                  "line": 304,
                                  "column": 19
                                },
                                "end": {
                                  "line": 310,
                                  "column": 7
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 9890,
                                  "end": 9919,
                                  "loc": {
                                    "start": {
                                      "line": 308,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 308,
                                      "column": 37
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 9890,
                                    "end": 9918,
                                    "loc": {
                                      "start": {
                                        "line": 308,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 308,
                                        "column": 36
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 9890,
                                      "end": 9911,
                                      "loc": {
                                        "start": {
                                          "line": 308,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 308,
                                          "column": 29
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 9890,
                                        "end": 9894,
                                        "loc": {
                                          "start": {
                                            "line": 308,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 308,
                                            "column": 12
                                          }
                                        },
                                        "leadingComments": null
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9895,
                                        "end": 9911,
                                        "loc": {
                                          "start": {
                                            "line": 308,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 308,
                                            "column": 29
                                          },
                                          "identifierName": "maxLengthReached"
                                        },
                                        "name": "maxLengthReached"
                                      },
                                      "computed": false,
                                      "leadingComments": null
                                    },
                                    "right": {
                                      "type": "BooleanLiteral",
                                      "start": 9914,
                                      "end": 9918,
                                      "loc": {
                                        "start": {
                                          "line": 308,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 308,
                                          "column": 36
                                        }
                                      },
                                      "value": true
                                    },
                                    "leadingComments": null
                                  },
                                  "leadingComments": [
                                    {
                                      "type": "CommentBlock",
                                      "value": "*\r\n         * @type {boolean} Boolean value that shows whether maxLength has been reached\r\n         ",
                                      "start": 9776,
                                      "end": 9880,
                                      "loc": {
                                        "start": {
                                          "line": 305,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 307,
                                          "column": 11
                                        }
                                      }
                                    }
                                  ]
                                },
                                {
                                  "type": "ReturnStatement",
                                  "start": 9929,
                                  "end": 9941,
                                  "loc": {
                                    "start": {
                                      "line": 309,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 309,
                                      "column": 20
                                    }
                                  },
                                  "argument": {
                                    "type": "BooleanLiteral",
                                    "start": 9936,
                                    "end": 9940,
                                    "loc": {
                                      "start": {
                                        "line": 309,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 309,
                                        "column": 19
                                      }
                                    },
                                    "value": true
                                  }
                                }
                              ],
                              "directives": []
                            },
                            "alternate": {
                              "type": "BlockStatement",
                              "start": 9956,
                              "end": 10029,
                              "loc": {
                                "start": {
                                  "line": 310,
                                  "column": 13
                                },
                                "end": {
                                  "line": 313,
                                  "column": 7
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 9967,
                                  "end": 9997,
                                  "loc": {
                                    "start": {
                                      "line": 311,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 311,
                                      "column": 38
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 9967,
                                    "end": 9996,
                                    "loc": {
                                      "start": {
                                        "line": 311,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 311,
                                        "column": 37
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 9967,
                                      "end": 9988,
                                      "loc": {
                                        "start": {
                                          "line": 311,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 311,
                                          "column": 29
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 9967,
                                        "end": 9971,
                                        "loc": {
                                          "start": {
                                            "line": 311,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 311,
                                            "column": 12
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 9972,
                                        "end": 9988,
                                        "loc": {
                                          "start": {
                                            "line": 311,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 311,
                                            "column": 29
                                          },
                                          "identifierName": "maxLengthReached"
                                        },
                                        "name": "maxLengthReached"
                                      },
                                      "computed": false
                                    },
                                    "right": {
                                      "type": "BooleanLiteral",
                                      "start": 9991,
                                      "end": 9996,
                                      "loc": {
                                        "start": {
                                          "line": 311,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 311,
                                          "column": 37
                                        }
                                      },
                                      "value": false
                                    }
                                  }
                                },
                                {
                                  "type": "ReturnStatement",
                                  "start": 10007,
                                  "end": 10020,
                                  "loc": {
                                    "start": {
                                      "line": 312,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 312,
                                      "column": 21
                                    }
                                  },
                                  "argument": {
                                    "type": "BooleanLiteral",
                                    "start": 10014,
                                    "end": 10019,
                                    "loc": {
                                      "start": {
                                        "line": 312,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 312,
                                        "column": 20
                                      }
                                    },
                                    "value": false
                                  }
                                }
                              ],
                              "directives": []
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    },
                    {
                      "type": "IfStatement",
                      "start": 10044,
                      "end": 10433,
                      "loc": {
                        "start": {
                          "line": 316,
                          "column": 4
                        },
                        "end": {
                          "line": 330,
                          "column": 5
                        }
                      },
                      "test": {
                        "type": "BinaryExpression",
                        "start": 10047,
                        "end": 10076,
                        "loc": {
                          "start": {
                            "line": 316,
                            "column": 7
                          },
                          "end": {
                            "line": 316,
                            "column": 36
                          }
                        },
                        "left": {
                          "type": "UnaryExpression",
                          "start": 10047,
                          "end": 10063,
                          "loc": {
                            "start": {
                              "line": 316,
                              "column": 7
                            },
                            "end": {
                              "line": 316,
                              "column": 23
                            }
                          },
                          "operator": "typeof",
                          "prefix": true,
                          "argument": {
                            "type": "Identifier",
                            "start": 10054,
                            "end": 10063,
                            "loc": {
                              "start": {
                                "line": 316,
                                "column": 14
                              },
                              "end": {
                                "line": 316,
                                "column": 23
                              },
                              "identifierName": "maxLength"
                            },
                            "name": "maxLength"
                          },
                          "extra": {
                            "parenthesizedArgument": false
                          }
                        },
                        "operator": "===",
                        "right": {
                          "type": "StringLiteral",
                          "start": 10068,
                          "end": 10076,
                          "loc": {
                            "start": {
                              "line": 316,
                              "column": 28
                            },
                            "end": {
                              "line": 316,
                              "column": 36
                            }
                          },
                          "extra": {
                            "rawValue": "object",
                            "raw": "\"object\""
                          },
                          "value": "object"
                        }
                      },
                      "consequent": {
                        "type": "BlockStatement",
                        "start": 10077,
                        "end": 10433,
                        "loc": {
                          "start": {
                            "line": 316,
                            "column": 37
                          },
                          "end": {
                            "line": 330,
                            "column": 5
                          }
                        },
                        "body": [
                          {
                            "type": "VariableDeclaration",
                            "start": 10086,
                            "end": 10155,
                            "loc": {
                              "start": {
                                "line": 317,
                                "column": 6
                              },
                              "end": {
                                "line": 317,
                                "column": 75
                              }
                            },
                            "declarations": [
                              {
                                "type": "VariableDeclarator",
                                "start": 10090,
                                "end": 10154,
                                "loc": {
                                  "start": {
                                    "line": 317,
                                    "column": 10
                                  },
                                  "end": {
                                    "line": 317,
                                    "column": 74
                                  }
                                },
                                "id": {
                                  "type": "Identifier",
                                  "start": 10090,
                                  "end": 10099,
                                  "loc": {
                                    "start": {
                                      "line": 317,
                                      "column": 10
                                    },
                                    "end": {
                                      "line": 317,
                                      "column": 19
                                    },
                                    "identifierName": "condition"
                                  },
                                  "name": "condition"
                                },
                                "init": {
                                  "type": "BinaryExpression",
                                  "start": 10102,
                                  "end": 10154,
                                  "loc": {
                                    "start": {
                                      "line": 317,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 317,
                                      "column": 74
                                    }
                                  },
                                  "left": {
                                    "type": "MemberExpression",
                                    "start": 10102,
                                    "end": 10121,
                                    "loc": {
                                      "start": {
                                        "line": 317,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 317,
                                        "column": 41
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 10102,
                                      "end": 10114,
                                      "loc": {
                                        "start": {
                                          "line": 317,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 317,
                                          "column": 34
                                        },
                                        "identifierName": "currentInput"
                                      },
                                      "name": "currentInput"
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10115,
                                      "end": 10121,
                                      "loc": {
                                        "start": {
                                          "line": 317,
                                          "column": 35
                                        },
                                        "end": {
                                          "line": 317,
                                          "column": 41
                                        },
                                        "identifierName": "length"
                                      },
                                      "name": "length"
                                    },
                                    "computed": false
                                  },
                                  "operator": "===",
                                  "right": {
                                    "type": "MemberExpression",
                                    "start": 10126,
                                    "end": 10154,
                                    "loc": {
                                      "start": {
                                        "line": 317,
                                        "column": 46
                                      },
                                      "end": {
                                        "line": 317,
                                        "column": 74
                                      }
                                    },
                                    "object": {
                                      "type": "Identifier",
                                      "start": 10126,
                                      "end": 10135,
                                      "loc": {
                                        "start": {
                                          "line": 317,
                                          "column": 46
                                        },
                                        "end": {
                                          "line": 317,
                                          "column": 55
                                        },
                                        "identifierName": "maxLength"
                                      },
                                      "name": "maxLength"
                                    },
                                    "property": {
                                      "type": "MemberExpression",
                                      "start": 10136,
                                      "end": 10153,
                                      "loc": {
                                        "start": {
                                          "line": 317,
                                          "column": 56
                                        },
                                        "end": {
                                          "line": 317,
                                          "column": 73
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 10136,
                                        "end": 10143,
                                        "loc": {
                                          "start": {
                                            "line": 317,
                                            "column": 56
                                          },
                                          "end": {
                                            "line": 317,
                                            "column": 63
                                          },
                                          "identifierName": "options"
                                        },
                                        "name": "options"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 10144,
                                        "end": 10153,
                                        "loc": {
                                          "start": {
                                            "line": 317,
                                            "column": 64
                                          },
                                          "end": {
                                            "line": 317,
                                            "column": 73
                                          },
                                          "identifierName": "inputName"
                                        },
                                        "name": "inputName"
                                      },
                                      "computed": false
                                    },
                                    "computed": true
                                  }
                                }
                              }
                            ],
                            "kind": "let"
                          },
                          {
                            "type": "IfStatement",
                            "start": 10165,
                            "end": 10253,
                            "loc": {
                              "start": {
                                "line": 319,
                                "column": 6
                              },
                              "end": {
                                "line": 321,
                                "column": 7
                              }
                            },
                            "test": {
                              "type": "MemberExpression",
                              "start": 10168,
                              "end": 10181,
                              "loc": {
                                "start": {
                                  "line": 319,
                                  "column": 9
                                },
                                "end": {
                                  "line": 319,
                                  "column": 22
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 10168,
                                "end": 10175,
                                "loc": {
                                  "start": {
                                    "line": 319,
                                    "column": 9
                                  },
                                  "end": {
                                    "line": 319,
                                    "column": 16
                                  },
                                  "identifierName": "options"
                                },
                                "name": "options"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 10176,
                                "end": 10181,
                                "loc": {
                                  "start": {
                                    "line": 319,
                                    "column": 17
                                  },
                                  "end": {
                                    "line": 319,
                                    "column": 22
                                  },
                                  "identifierName": "debug"
                                },
                                "name": "debug"
                              },
                              "computed": false
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 10182,
                              "end": 10253,
                              "loc": {
                                "start": {
                                  "line": 319,
                                  "column": 23
                                },
                                "end": {
                                  "line": 321,
                                  "column": 7
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 10193,
                                  "end": 10244,
                                  "loc": {
                                    "start": {
                                      "line": 320,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 320,
                                      "column": 59
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 10193,
                                    "end": 10243,
                                    "loc": {
                                      "start": {
                                        "line": 320,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 320,
                                        "column": 58
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 10193,
                                      "end": 10204,
                                      "loc": {
                                        "start": {
                                          "line": 320,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 320,
                                          "column": 19
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 10193,
                                        "end": 10200,
                                        "loc": {
                                          "start": {
                                            "line": 320,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 320,
                                            "column": 15
                                          },
                                          "identifierName": "console"
                                        },
                                        "name": "console"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 10201,
                                        "end": 10204,
                                        "loc": {
                                          "start": {
                                            "line": 320,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 320,
                                            "column": 19
                                          },
                                          "identifierName": "log"
                                        },
                                        "name": "log"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "StringLiteral",
                                        "start": 10205,
                                        "end": 10231,
                                        "loc": {
                                          "start": {
                                            "line": 320,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 320,
                                            "column": 46
                                          }
                                        },
                                        "extra": {
                                          "rawValue": "maxLength (obj) reached:",
                                          "raw": "\"maxLength (obj) reached:\""
                                        },
                                        "value": "maxLength (obj) reached:"
                                      },
                                      {
                                        "type": "Identifier",
                                        "start": 10233,
                                        "end": 10242,
                                        "loc": {
                                          "start": {
                                            "line": 320,
                                            "column": 48
                                          },
                                          "end": {
                                            "line": 320,
                                            "column": 57
                                          },
                                          "identifierName": "condition"
                                        },
                                        "name": "condition"
                                      }
                                    ]
                                  }
                                }
                              ],
                              "directives": []
                            },
                            "alternate": null
                          },
                          {
                            "type": "IfStatement",
                            "start": 10263,
                            "end": 10426,
                            "loc": {
                              "start": {
                                "line": 323,
                                "column": 6
                              },
                              "end": {
                                "line": 329,
                                "column": 7
                              }
                            },
                            "test": {
                              "type": "Identifier",
                              "start": 10266,
                              "end": 10275,
                              "loc": {
                                "start": {
                                  "line": 323,
                                  "column": 9
                                },
                                "end": {
                                  "line": 323,
                                  "column": 18
                                },
                                "identifierName": "condition"
                              },
                              "name": "condition"
                            },
                            "consequent": {
                              "type": "BlockStatement",
                              "start": 10276,
                              "end": 10347,
                              "loc": {
                                "start": {
                                  "line": 323,
                                  "column": 19
                                },
                                "end": {
                                  "line": 326,
                                  "column": 7
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 10287,
                                  "end": 10316,
                                  "loc": {
                                    "start": {
                                      "line": 324,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 324,
                                      "column": 37
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 10287,
                                    "end": 10315,
                                    "loc": {
                                      "start": {
                                        "line": 324,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 324,
                                        "column": 36
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 10287,
                                      "end": 10308,
                                      "loc": {
                                        "start": {
                                          "line": 324,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 324,
                                          "column": 29
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 10287,
                                        "end": 10291,
                                        "loc": {
                                          "start": {
                                            "line": 324,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 324,
                                            "column": 12
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 10292,
                                        "end": 10308,
                                        "loc": {
                                          "start": {
                                            "line": 324,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 324,
                                            "column": 29
                                          },
                                          "identifierName": "maxLengthReached"
                                        },
                                        "name": "maxLengthReached"
                                      },
                                      "computed": false
                                    },
                                    "right": {
                                      "type": "BooleanLiteral",
                                      "start": 10311,
                                      "end": 10315,
                                      "loc": {
                                        "start": {
                                          "line": 324,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 324,
                                          "column": 36
                                        }
                                      },
                                      "value": true
                                    }
                                  }
                                },
                                {
                                  "type": "ReturnStatement",
                                  "start": 10326,
                                  "end": 10338,
                                  "loc": {
                                    "start": {
                                      "line": 325,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 325,
                                      "column": 20
                                    }
                                  },
                                  "argument": {
                                    "type": "BooleanLiteral",
                                    "start": 10333,
                                    "end": 10337,
                                    "loc": {
                                      "start": {
                                        "line": 325,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 325,
                                        "column": 19
                                      }
                                    },
                                    "value": true
                                  }
                                }
                              ],
                              "directives": []
                            },
                            "alternate": {
                              "type": "BlockStatement",
                              "start": 10353,
                              "end": 10426,
                              "loc": {
                                "start": {
                                  "line": 326,
                                  "column": 13
                                },
                                "end": {
                                  "line": 329,
                                  "column": 7
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 10364,
                                  "end": 10394,
                                  "loc": {
                                    "start": {
                                      "line": 327,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 327,
                                      "column": 38
                                    }
                                  },
                                  "expression": {
                                    "type": "AssignmentExpression",
                                    "start": 10364,
                                    "end": 10393,
                                    "loc": {
                                      "start": {
                                        "line": 327,
                                        "column": 8
                                      },
                                      "end": {
                                        "line": 327,
                                        "column": 37
                                      }
                                    },
                                    "operator": "=",
                                    "left": {
                                      "type": "MemberExpression",
                                      "start": 10364,
                                      "end": 10385,
                                      "loc": {
                                        "start": {
                                          "line": 327,
                                          "column": 8
                                        },
                                        "end": {
                                          "line": 327,
                                          "column": 29
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 10364,
                                        "end": 10368,
                                        "loc": {
                                          "start": {
                                            "line": 327,
                                            "column": 8
                                          },
                                          "end": {
                                            "line": 327,
                                            "column": 12
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 10369,
                                        "end": 10385,
                                        "loc": {
                                          "start": {
                                            "line": 327,
                                            "column": 13
                                          },
                                          "end": {
                                            "line": 327,
                                            "column": 29
                                          },
                                          "identifierName": "maxLengthReached"
                                        },
                                        "name": "maxLengthReached"
                                      },
                                      "computed": false
                                    },
                                    "right": {
                                      "type": "BooleanLiteral",
                                      "start": 10388,
                                      "end": 10393,
                                      "loc": {
                                        "start": {
                                          "line": 327,
                                          "column": 32
                                        },
                                        "end": {
                                          "line": 327,
                                          "column": 37
                                        }
                                      },
                                      "value": false
                                    }
                                  }
                                },
                                {
                                  "type": "ReturnStatement",
                                  "start": 10404,
                                  "end": 10417,
                                  "loc": {
                                    "start": {
                                      "line": 328,
                                      "column": 8
                                    },
                                    "end": {
                                      "line": 328,
                                      "column": 21
                                    }
                                  },
                                  "argument": {
                                    "type": "BooleanLiteral",
                                    "start": 10411,
                                    "end": 10416,
                                    "loc": {
                                      "start": {
                                        "line": 328,
                                        "column": 15
                                      },
                                      "end": {
                                        "line": 328,
                                        "column": 20
                                      }
                                    },
                                    "value": false
                                  }
                                }
                              ],
                              "directives": []
                            }
                          }
                        ],
                        "directives": []
                      },
                      "alternate": null
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Determines whether the maxLength has been reached. This function is called when the maxLength option it set.\r\n   * \r\n   * @param  {object} inputObj\r\n   * @param  {object} options\r\n   * @param  {string} updatedInput\r\n   ",
                    "start": 8947,
                    "end": 9178,
                    "loc": {
                      "start": {
                        "line": 277,
                        "column": 2
                      },
                      "end": {
                        "line": 283,
                        "column": 5
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Gets the current value of maxLengthReached\r\n   ",
                    "start": 10444,
                    "end": 10503,
                    "loc": {
                      "start": {
                        "line": 333,
                        "column": 2
                      },
                      "end": {
                        "line": 335,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 10507,
                "end": 10577,
                "loc": {
                  "start": {
                    "line": 336,
                    "column": 2
                  },
                  "end": {
                    "line": 338,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 10507,
                  "end": 10525,
                  "loc": {
                    "start": {
                      "line": 336,
                      "column": 2
                    },
                    "end": {
                      "line": 336,
                      "column": 20
                    },
                    "identifierName": "isMaxLengthReached"
                  },
                  "name": "isMaxLengthReached",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 10527,
                  "end": 10577,
                  "loc": {
                    "start": {
                      "line": 336,
                      "column": 22
                    },
                    "end": {
                      "line": 338,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 10534,
                      "end": 10572,
                      "loc": {
                        "start": {
                          "line": 337,
                          "column": 4
                        },
                        "end": {
                          "line": 337,
                          "column": 42
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 10541,
                        "end": 10571,
                        "loc": {
                          "start": {
                            "line": 337,
                            "column": 11
                          },
                          "end": {
                            "line": 337,
                            "column": 41
                          }
                        },
                        "callee": {
                          "type": "Identifier",
                          "start": 10541,
                          "end": 10548,
                          "loc": {
                            "start": {
                              "line": 337,
                              "column": 11
                            },
                            "end": {
                              "line": 337,
                              "column": 18
                            },
                            "identifierName": "Boolean"
                          },
                          "name": "Boolean"
                        },
                        "arguments": [
                          {
                            "type": "MemberExpression",
                            "start": 10549,
                            "end": 10570,
                            "loc": {
                              "start": {
                                "line": 337,
                                "column": 19
                              },
                              "end": {
                                "line": 337,
                                "column": 40
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 10549,
                              "end": 10553,
                              "loc": {
                                "start": {
                                  "line": 337,
                                  "column": 19
                                },
                                "end": {
                                  "line": 337,
                                  "column": 23
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 10554,
                              "end": 10570,
                              "loc": {
                                "start": {
                                  "line": 337,
                                  "column": 24
                                },
                                "end": {
                                  "line": 337,
                                  "column": 40
                                },
                                "identifierName": "maxLengthReached"
                              },
                              "name": "maxLengthReached"
                            },
                            "computed": false
                          }
                        ]
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Gets the current value of maxLengthReached\r\n   ",
                    "start": 10444,
                    "end": 10503,
                    "loc": {
                      "start": {
                        "line": 333,
                        "column": 2
                      },
                      "end": {
                        "line": 335,
                        "column": 5
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Transforms an arbitrary string to camelCase\r\n   * \r\n   * @param  {string} string The string to transform.\r\n   ",
                    "start": 10583,
                    "end": 10705,
                    "loc": {
                      "start": {
                        "line": 340,
                        "column": 2
                      },
                      "end": {
                        "line": 344,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 10709,
                "end": 10865,
                "loc": {
                  "start": {
                    "line": 345,
                    "column": 2
                  },
                  "end": {
                    "line": 347,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 10709,
                  "end": 10718,
                  "loc": {
                    "start": {
                      "line": 345,
                      "column": 2
                    },
                    "end": {
                      "line": 345,
                      "column": 11
                    },
                    "identifierName": "camelCase"
                  },
                  "name": "camelCase",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 10719,
                    "end": 10725,
                    "loc": {
                      "start": {
                        "line": 345,
                        "column": 12
                      },
                      "end": {
                        "line": 345,
                        "column": 18
                      },
                      "identifierName": "string"
                    },
                    "name": "string"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 10726,
                  "end": 10865,
                  "loc": {
                    "start": {
                      "line": 345,
                      "column": 19
                    },
                    "end": {
                      "line": 347,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 10733,
                      "end": 10860,
                      "loc": {
                        "start": {
                          "line": 346,
                          "column": 4
                        },
                        "end": {
                          "line": 346,
                          "column": 131
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 10740,
                        "end": 10859,
                        "loc": {
                          "start": {
                            "line": 346,
                            "column": 11
                          },
                          "end": {
                            "line": 346,
                            "column": 130
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 10740,
                          "end": 10793,
                          "loc": {
                            "start": {
                              "line": 346,
                              "column": 11
                            },
                            "end": {
                              "line": 346,
                              "column": 64
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 10740,
                            "end": 10786,
                            "loc": {
                              "start": {
                                "line": 346,
                                "column": 11
                              },
                              "end": {
                                "line": 346,
                                "column": 57
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 10740,
                              "end": 10773,
                              "loc": {
                                "start": {
                                  "line": 346,
                                  "column": 11
                                },
                                "end": {
                                  "line": 346,
                                  "column": 44
                                }
                              },
                              "object": {
                                "type": "CallExpression",
                                "start": 10740,
                                "end": 10767,
                                "loc": {
                                  "start": {
                                    "line": 346,
                                    "column": 11
                                  },
                                  "end": {
                                    "line": 346,
                                    "column": 38
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 10740,
                                  "end": 10765,
                                  "loc": {
                                    "start": {
                                      "line": 346,
                                      "column": 11
                                    },
                                    "end": {
                                      "line": 346,
                                      "column": 36
                                    }
                                  },
                                  "object": {
                                    "type": "CallExpression",
                                    "start": 10740,
                                    "end": 10760,
                                    "loc": {
                                      "start": {
                                        "line": 346,
                                        "column": 11
                                      },
                                      "end": {
                                        "line": 346,
                                        "column": 31
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 10740,
                                      "end": 10758,
                                      "loc": {
                                        "start": {
                                          "line": 346,
                                          "column": 11
                                        },
                                        "end": {
                                          "line": 346,
                                          "column": 29
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 10740,
                                        "end": 10746,
                                        "loc": {
                                          "start": {
                                            "line": 346,
                                            "column": 11
                                          },
                                          "end": {
                                            "line": 346,
                                            "column": 17
                                          },
                                          "identifierName": "string"
                                        },
                                        "name": "string"
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 10747,
                                        "end": 10758,
                                        "loc": {
                                          "start": {
                                            "line": 346,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 346,
                                            "column": 29
                                          },
                                          "identifierName": "toLowerCase"
                                        },
                                        "name": "toLowerCase"
                                      },
                                      "computed": false
                                    },
                                    "arguments": []
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10761,
                                    "end": 10765,
                                    "loc": {
                                      "start": {
                                        "line": 346,
                                        "column": 32
                                      },
                                      "end": {
                                        "line": 346,
                                        "column": 36
                                      },
                                      "identifierName": "trim"
                                    },
                                    "name": "trim"
                                  },
                                  "computed": false
                                },
                                "arguments": []
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 10768,
                                "end": 10773,
                                "loc": {
                                  "start": {
                                    "line": 346,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 346,
                                    "column": 44
                                  },
                                  "identifierName": "split"
                                },
                                "name": "split"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "RegExpLiteral",
                                "start": 10774,
                                "end": 10785,
                                "loc": {
                                  "start": {
                                    "line": 346,
                                    "column": 45
                                  },
                                  "end": {
                                    "line": 346,
                                    "column": 56
                                  }
                                },
                                "extra": {
                                  "raw": "/[.\\-_\\s]/g"
                                },
                                "pattern": "[.\\-_\\s]",
                                "flags": "g"
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 10787,
                            "end": 10793,
                            "loc": {
                              "start": {
                                "line": 346,
                                "column": 58
                              },
                              "end": {
                                "line": 346,
                                "column": 64
                              },
                              "identifierName": "reduce"
                            },
                            "name": "reduce"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 10794,
                            "end": 10858,
                            "loc": {
                              "start": {
                                "line": 346,
                                "column": 65
                              },
                              "end": {
                                "line": 346,
                                "column": 129
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 10795,
                                "end": 10801,
                                "loc": {
                                  "start": {
                                    "line": 346,
                                    "column": 66
                                  },
                                  "end": {
                                    "line": 346,
                                    "column": 72
                                  },
                                  "identifierName": "string"
                                },
                                "name": "string"
                              },
                              {
                                "type": "Identifier",
                                "start": 10803,
                                "end": 10807,
                                "loc": {
                                  "start": {
                                    "line": 346,
                                    "column": 74
                                  },
                                  "end": {
                                    "line": 346,
                                    "column": 78
                                  },
                                  "identifierName": "word"
                                },
                                "name": "word"
                              }
                            ],
                            "body": {
                              "type": "BinaryExpression",
                              "start": 10812,
                              "end": 10858,
                              "loc": {
                                "start": {
                                  "line": 346,
                                  "column": 83
                                },
                                "end": {
                                  "line": 346,
                                  "column": 129
                                }
                              },
                              "left": {
                                "type": "BinaryExpression",
                                "start": 10812,
                                "end": 10842,
                                "loc": {
                                  "start": {
                                    "line": 346,
                                    "column": 83
                                  },
                                  "end": {
                                    "line": 346,
                                    "column": 113
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 10812,
                                  "end": 10818,
                                  "loc": {
                                    "start": {
                                      "line": 346,
                                      "column": 83
                                    },
                                    "end": {
                                      "line": 346,
                                      "column": 89
                                    },
                                    "identifierName": "string"
                                  },
                                  "name": "string"
                                },
                                "operator": "+",
                                "right": {
                                  "type": "CallExpression",
                                  "start": 10821,
                                  "end": 10842,
                                  "loc": {
                                    "start": {
                                      "line": 346,
                                      "column": 92
                                    },
                                    "end": {
                                      "line": 346,
                                      "column": 113
                                    }
                                  },
                                  "callee": {
                                    "type": "MemberExpression",
                                    "start": 10821,
                                    "end": 10840,
                                    "loc": {
                                      "start": {
                                        "line": 346,
                                        "column": 92
                                      },
                                      "end": {
                                        "line": 346,
                                        "column": 111
                                      }
                                    },
                                    "object": {
                                      "type": "MemberExpression",
                                      "start": 10821,
                                      "end": 10828,
                                      "loc": {
                                        "start": {
                                          "line": 346,
                                          "column": 92
                                        },
                                        "end": {
                                          "line": 346,
                                          "column": 99
                                        }
                                      },
                                      "object": {
                                        "type": "Identifier",
                                        "start": 10821,
                                        "end": 10825,
                                        "loc": {
                                          "start": {
                                            "line": 346,
                                            "column": 92
                                          },
                                          "end": {
                                            "line": 346,
                                            "column": 96
                                          },
                                          "identifierName": "word"
                                        },
                                        "name": "word"
                                      },
                                      "property": {
                                        "type": "NumericLiteral",
                                        "start": 10826,
                                        "end": 10827,
                                        "loc": {
                                          "start": {
                                            "line": 346,
                                            "column": 97
                                          },
                                          "end": {
                                            "line": 346,
                                            "column": 98
                                          }
                                        },
                                        "extra": {
                                          "rawValue": 0,
                                          "raw": "0"
                                        },
                                        "value": 0
                                      },
                                      "computed": true
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 10829,
                                      "end": 10840,
                                      "loc": {
                                        "start": {
                                          "line": 346,
                                          "column": 100
                                        },
                                        "end": {
                                          "line": 346,
                                          "column": 111
                                        },
                                        "identifierName": "toUpperCase"
                                      },
                                      "name": "toUpperCase"
                                    },
                                    "computed": false
                                  },
                                  "arguments": []
                                }
                              },
                              "operator": "+",
                              "right": {
                                "type": "CallExpression",
                                "start": 10845,
                                "end": 10858,
                                "loc": {
                                  "start": {
                                    "line": 346,
                                    "column": 116
                                  },
                                  "end": {
                                    "line": 346,
                                    "column": 129
                                  }
                                },
                                "callee": {
                                  "type": "MemberExpression",
                                  "start": 10845,
                                  "end": 10855,
                                  "loc": {
                                    "start": {
                                      "line": 346,
                                      "column": 116
                                    },
                                    "end": {
                                      "line": 346,
                                      "column": 126
                                    }
                                  },
                                  "object": {
                                    "type": "Identifier",
                                    "start": 10845,
                                    "end": 10849,
                                    "loc": {
                                      "start": {
                                        "line": 346,
                                        "column": 116
                                      },
                                      "end": {
                                        "line": 346,
                                        "column": 120
                                      },
                                      "identifierName": "word"
                                    },
                                    "name": "word"
                                  },
                                  "property": {
                                    "type": "Identifier",
                                    "start": 10850,
                                    "end": 10855,
                                    "loc": {
                                      "start": {
                                        "line": 346,
                                        "column": 121
                                      },
                                      "end": {
                                        "line": 346,
                                        "column": 126
                                      },
                                      "identifierName": "slice"
                                    },
                                    "name": "slice"
                                  },
                                  "computed": false
                                },
                                "arguments": [
                                  {
                                    "type": "NumericLiteral",
                                    "start": 10856,
                                    "end": 10857,
                                    "loc": {
                                      "start": {
                                        "line": 346,
                                        "column": 127
                                      },
                                      "end": {
                                        "line": 346,
                                        "column": 128
                                      }
                                    },
                                    "extra": {
                                      "rawValue": 1,
                                      "raw": "1"
                                    },
                                    "value": 1
                                  }
                                ]
                              }
                            }
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Transforms an arbitrary string to camelCase\r\n   * \r\n   * @param  {string} string The string to transform.\r\n   ",
                    "start": 10583,
                    "end": 10705,
                    "loc": {
                      "start": {
                        "line": 340,
                        "column": 2
                      },
                      "end": {
                        "line": 344,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassMethod",
                "start": 11056,
                "end": 11146,
                "loc": {
                  "start": {
                    "line": 355,
                    "column": 2
                  },
                  "end": {
                    "line": 357,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 11056,
                  "end": 11068,
                  "loc": {
                    "start": {
                      "line": 355,
                      "column": 2
                    },
                    "end": {
                      "line": 355,
                      "column": 14
                    },
                    "identifierName": "countInArray"
                  },
                  "name": "countInArray",
                  "leadingComments": null
                },
                "kind": "method",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 11069,
                    "end": 11074,
                    "loc": {
                      "start": {
                        "line": 355,
                        "column": 15
                      },
                      "end": {
                        "line": 355,
                        "column": 20
                      },
                      "identifierName": "array"
                    },
                    "name": "array"
                  },
                  {
                    "type": "Identifier",
                    "start": 11076,
                    "end": 11081,
                    "loc": {
                      "start": {
                        "line": 355,
                        "column": 22
                      },
                      "end": {
                        "line": 355,
                        "column": 27
                      },
                      "identifierName": "value"
                    },
                    "name": "value"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 11082,
                  "end": 11146,
                  "loc": {
                    "start": {
                      "line": 355,
                      "column": 28
                    },
                    "end": {
                      "line": 357,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "ReturnStatement",
                      "start": 11089,
                      "end": 11141,
                      "loc": {
                        "start": {
                          "line": 356,
                          "column": 4
                        },
                        "end": {
                          "line": 356,
                          "column": 56
                        }
                      },
                      "argument": {
                        "type": "CallExpression",
                        "start": 11096,
                        "end": 11140,
                        "loc": {
                          "start": {
                            "line": 356,
                            "column": 11
                          },
                          "end": {
                            "line": 356,
                            "column": 55
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 11096,
                          "end": 11108,
                          "loc": {
                            "start": {
                              "line": 356,
                              "column": 11
                            },
                            "end": {
                              "line": 356,
                              "column": 23
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 11096,
                            "end": 11101,
                            "loc": {
                              "start": {
                                "line": 356,
                                "column": 11
                              },
                              "end": {
                                "line": 356,
                                "column": 16
                              },
                              "identifierName": "array"
                            },
                            "name": "array"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 11102,
                            "end": 11108,
                            "loc": {
                              "start": {
                                "line": 356,
                                "column": 17
                              },
                              "end": {
                                "line": 356,
                                "column": 23
                              },
                              "identifierName": "reduce"
                            },
                            "name": "reduce"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 11109,
                            "end": 11136,
                            "loc": {
                              "start": {
                                "line": 356,
                                "column": 24
                              },
                              "end": {
                                "line": 356,
                                "column": 51
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": true,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 11110,
                                "end": 11111,
                                "loc": {
                                  "start": {
                                    "line": 356,
                                    "column": 25
                                  },
                                  "end": {
                                    "line": 356,
                                    "column": 26
                                  },
                                  "identifierName": "n"
                                },
                                "name": "n"
                              },
                              {
                                "type": "Identifier",
                                "start": 11113,
                                "end": 11114,
                                "loc": {
                                  "start": {
                                    "line": 356,
                                    "column": 28
                                  },
                                  "end": {
                                    "line": 356,
                                    "column": 29
                                  },
                                  "identifierName": "x"
                                },
                                "name": "x"
                              }
                            ],
                            "body": {
                              "type": "BinaryExpression",
                              "start": 11119,
                              "end": 11136,
                              "loc": {
                                "start": {
                                  "line": 356,
                                  "column": 34
                                },
                                "end": {
                                  "line": 356,
                                  "column": 51
                                }
                              },
                              "left": {
                                "type": "Identifier",
                                "start": 11119,
                                "end": 11120,
                                "loc": {
                                  "start": {
                                    "line": 356,
                                    "column": 34
                                  },
                                  "end": {
                                    "line": 356,
                                    "column": 35
                                  },
                                  "identifierName": "n"
                                },
                                "name": "n"
                              },
                              "operator": "+",
                              "right": {
                                "type": "BinaryExpression",
                                "start": 11124,
                                "end": 11135,
                                "loc": {
                                  "start": {
                                    "line": 356,
                                    "column": 39
                                  },
                                  "end": {
                                    "line": 356,
                                    "column": 50
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 11124,
                                  "end": 11125,
                                  "loc": {
                                    "start": {
                                      "line": 356,
                                      "column": 39
                                    },
                                    "end": {
                                      "line": 356,
                                      "column": 40
                                    },
                                    "identifierName": "x"
                                  },
                                  "name": "x"
                                },
                                "operator": "===",
                                "right": {
                                  "type": "Identifier",
                                  "start": 11130,
                                  "end": 11135,
                                  "loc": {
                                    "start": {
                                      "line": 356,
                                      "column": 45
                                    },
                                    "end": {
                                      "line": 356,
                                      "column": 50
                                    },
                                    "identifierName": "value"
                                  },
                                  "name": "value"
                                },
                                "extra": {
                                  "parenthesized": true,
                                  "parenStart": 11123
                                }
                              }
                            }
                          },
                          {
                            "type": "NumericLiteral",
                            "start": 11138,
                            "end": 11139,
                            "loc": {
                              "start": {
                                "line": 356,
                                "column": 53
                              },
                              "end": {
                                "line": 356,
                                "column": 54
                              }
                            },
                            "extra": {
                              "rawValue": 0,
                              "raw": "0"
                            },
                            "value": 0
                          }
                        ]
                      }
                    }
                  ],
                  "directives": []
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Counts the number of duplicates in a given array\r\n   * \r\n   * @param  {Array} array The haystack to search in\r\n   * @param  {string} value The needle to search for\r\n   ",
                    "start": 10872,
                    "end": 11052,
                    "loc": {
                      "start": {
                        "line": 349,
                        "column": 2
                      },
                      "end": {
                        "line": 354,
                        "column": 5
                      }
                    }
                  }
                ]
              }
            ]
          },
          "leadingComments": [
            {
              "type": "CommentBlock",
              "value": "*\r\n * Utility Service\r\n ",
              "start": 0,
              "end": 28,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 0
                },
                "end": {
                  "line": 3,
                  "column": 3
                }
              }
            }
          ],
          "__PseudoExport__": false,
          "trailingComments": []
        },
        "leadingComments": null
      }
    ],
    "directives": []
  },
  "comments": [
    {
      "type": "CommentBlock",
      "value": "*\r\n * Utility Service\r\n ",
      "start": 0,
      "end": 28,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Creates an instance of the Utility service\r\n   ",
      "start": 51,
      "end": 110,
      "loc": {
        "start": {
          "line": 5,
          "column": 2
        },
        "end": {
          "line": 7,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n     * @type {object} A simple-keyboard instance\r\n     ",
      "start": 156,
      "end": 218,
      "loc": {
        "start": {
          "line": 9,
          "column": 4
        },
        "end": {
          "line": 11,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n     * Bindings\r\n     ",
      "start": 285,
      "end": 314,
      "loc": {
        "start": {
          "line": 14,
          "column": 4
        },
        "end": {
          "line": 16,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Adds default classes to a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @return {string} The classes to be added to the button\r\n   ",
      "start": 746,
      "end": 924,
      "loc": {
        "start": {
          "line": 26,
          "column": 2
        },
        "end": {
          "line": 31,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Default button display labels\r\n   ",
      "start": 1361,
      "end": 1407,
      "loc": {
        "start": {
          "line": 43,
          "column": 2
        },
        "end": {
          "line": 45,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Returns the display (label) name for a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @param  {object} display The provided display option\r\n   * @param  {boolean} mergeDisplay Whether the provided param value should be merged with the default one.\r\n   ",
      "start": 2983,
      "end": 3281,
      "loc": {
        "start": {
          "line": 109,
          "column": 2
        },
        "end": {
          "line": 115,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Returns the updated input resulting from clicking a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @param  {string} input The input string\r\n   * @param  {object} options The simple-keyboard options object\r\n   * @param  {number} caretPos The cursor's current position\r\n   * @param  {boolean} moveCaret Whether to update simple-keyboard's cursor\r\n   ",
      "start": 3560,
      "end": 3954,
      "loc": {
        "start": {
          "line": 127,
          "column": 2
        },
        "end": {
          "line": 135,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Moves the cursor position by a given amount\r\n   * \r\n   * @param  {number} length Represents by how many characters the input should be moved\r\n   * @param  {boolean} minus Whether the cursor should be moved to the left or not.\r\n   ",
      "start": 5684,
      "end": 5926,
      "loc": {
        "start": {
          "line": 179,
          "column": 2
        },
        "end": {
          "line": 184,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Adds a string to the input at a given position\r\n   * \r\n   * @param  {string} source The source input\r\n   * @param  {string} string The string to add\r\n   * @param  {number} position The (cursor) position where the string should be added\r\n   * @param  {boolean} moveCaret Whether to update simple-keyboard's cursor\r\n   ",
      "start": 6273,
      "end": 6602,
      "loc": {
        "start": {
          "line": 194,
          "column": 2
        },
        "end": {
          "line": 201,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n       * Avoid caret position change when maxLength is set\r\n       ",
      "start": 6855,
      "end": 6929,
      "loc": {
        "start": {
          "line": 210,
          "column": 6
        },
        "end": {
          "line": 212,
          "column": 9
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Removes an amount of characters at a given position\r\n   * \r\n   * @param  {string} source The source input\r\n   * @param  {number} position The (cursor) position from where the characters should be removed\r\n   * @param  {boolean} moveCaret Whether to update simple-keyboard's cursor\r\n   ",
      "start": 7195,
      "end": 7492,
      "loc": {
        "start": {
          "line": 226,
          "column": 2
        },
        "end": {
          "line": 232,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n     * Emojis are made out of two characters, so we must take a custom approach to trim them.\r\n     * For more info: https://mathiasbynens.be/notes/javascript-unicode\r\n     ",
      "start": 7758,
      "end": 7938,
      "loc": {
        "start": {
          "line": 243,
          "column": 4
        },
        "end": {
          "line": 246,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Determines whether the maxLength has been reached. This function is called when the maxLength option it set.\r\n   * \r\n   * @param  {object} inputObj\r\n   * @param  {object} options\r\n   * @param  {string} updatedInput\r\n   ",
      "start": 8947,
      "end": 9178,
      "loc": {
        "start": {
          "line": 277,
          "column": 2
        },
        "end": {
          "line": 283,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n       * If pressing this button won't add more characters\r\n       * We exit out of this limiter function\r\n       ",
      "start": 9399,
      "end": 9520,
      "loc": {
        "start": {
          "line": 290,
          "column": 6
        },
        "end": {
          "line": 293,
          "column": 9
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n         * @type {boolean} Boolean value that shows whether maxLength has been reached\r\n         ",
      "start": 9776,
      "end": 9880,
      "loc": {
        "start": {
          "line": 305,
          "column": 8
        },
        "end": {
          "line": 307,
          "column": 11
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Gets the current value of maxLengthReached\r\n   ",
      "start": 10444,
      "end": 10503,
      "loc": {
        "start": {
          "line": 333,
          "column": 2
        },
        "end": {
          "line": 335,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Transforms an arbitrary string to camelCase\r\n   * \r\n   * @param  {string} string The string to transform.\r\n   ",
      "start": 10583,
      "end": 10705,
      "loc": {
        "start": {
          "line": 340,
          "column": 2
        },
        "end": {
          "line": 344,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Counts the number of duplicates in a given array\r\n   * \r\n   * @param  {Array} array The haystack to search in\r\n   * @param  {string} value The needle to search for\r\n   ",
      "start": 10872,
      "end": 11052,
      "loc": {
        "start": {
          "line": 349,
          "column": 2
        },
        "end": {
          "line": 354,
          "column": 5
        }
      }
    }
  ],
  "tokens": [
    {
      "type": "CommentBlock",
      "value": "*\r\n * Utility Service\r\n ",
      "start": 0,
      "end": 28,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 3,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "class",
        "keyword": "class",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "class",
      "start": 30,
      "end": 35,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 4,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Utilities",
      "start": 36,
      "end": 45,
      "loc": {
        "start": {
          "line": 4,
          "column": 6
        },
        "end": {
          "line": 4,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 46,
      "end": 47,
      "loc": {
        "start": {
          "line": 4,
          "column": 16
        },
        "end": {
          "line": 4,
          "column": 17
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Creates an instance of the Utility service\r\n   ",
      "start": 51,
      "end": 110,
      "loc": {
        "start": {
          "line": 5,
          "column": 2
        },
        "end": {
          "line": 7,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constructor",
      "start": 114,
      "end": 125,
      "loc": {
        "start": {
          "line": 8,
          "column": 2
        },
        "end": {
          "line": 8,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 125,
      "end": 126,
      "loc": {
        "start": {
          "line": 8,
          "column": 13
        },
        "end": {
          "line": 8,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "simpleKeyboardInstance",
      "start": 126,
      "end": 148,
      "loc": {
        "start": {
          "line": 8,
          "column": 14
        },
        "end": {
          "line": 8,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 148,
      "end": 149,
      "loc": {
        "start": {
          "line": 8,
          "column": 36
        },
        "end": {
          "line": 8,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 149,
      "end": 150,
      "loc": {
        "start": {
          "line": 8,
          "column": 37
        },
        "end": {
          "line": 8,
          "column": 38
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n     * @type {object} A simple-keyboard instance\r\n     ",
      "start": 156,
      "end": 218,
      "loc": {
        "start": {
          "line": 9,
          "column": 4
        },
        "end": {
          "line": 11,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 224,
      "end": 228,
      "loc": {
        "start": {
          "line": 12,
          "column": 4
        },
        "end": {
          "line": 12,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 228,
      "end": 229,
      "loc": {
        "start": {
          "line": 12,
          "column": 8
        },
        "end": {
          "line": 12,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "simpleKeyboardInstance",
      "start": 229,
      "end": 251,
      "loc": {
        "start": {
          "line": 12,
          "column": 9
        },
        "end": {
          "line": 12,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 252,
      "end": 253,
      "loc": {
        "start": {
          "line": 12,
          "column": 32
        },
        "end": {
          "line": 12,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "simpleKeyboardInstance",
      "start": 254,
      "end": 276,
      "loc": {
        "start": {
          "line": 12,
          "column": 34
        },
        "end": {
          "line": 12,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 276,
      "end": 277,
      "loc": {
        "start": {
          "line": 12,
          "column": 56
        },
        "end": {
          "line": 12,
          "column": 57
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n     * Bindings\r\n     ",
      "start": 285,
      "end": 314,
      "loc": {
        "start": {
          "line": 14,
          "column": 4
        },
        "end": {
          "line": 16,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 320,
      "end": 324,
      "loc": {
        "start": {
          "line": 17,
          "column": 4
        },
        "end": {
          "line": 17,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 324,
      "end": 325,
      "loc": {
        "start": {
          "line": 17,
          "column": 8
        },
        "end": {
          "line": 17,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getButtonClass",
      "start": 325,
      "end": 339,
      "loc": {
        "start": {
          "line": 17,
          "column": 9
        },
        "end": {
          "line": 17,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 340,
      "end": 341,
      "loc": {
        "start": {
          "line": 17,
          "column": 24
        },
        "end": {
          "line": 17,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 342,
      "end": 346,
      "loc": {
        "start": {
          "line": 17,
          "column": 26
        },
        "end": {
          "line": 17,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 346,
      "end": 347,
      "loc": {
        "start": {
          "line": 17,
          "column": 30
        },
        "end": {
          "line": 17,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getButtonClass",
      "start": 347,
      "end": 361,
      "loc": {
        "start": {
          "line": 17,
          "column": 31
        },
        "end": {
          "line": 17,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 361,
      "end": 362,
      "loc": {
        "start": {
          "line": 17,
          "column": 45
        },
        "end": {
          "line": 17,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bind",
      "start": 362,
      "end": 366,
      "loc": {
        "start": {
          "line": 17,
          "column": 46
        },
        "end": {
          "line": 17,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 366,
      "end": 367,
      "loc": {
        "start": {
          "line": 17,
          "column": 50
        },
        "end": {
          "line": 17,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 367,
      "end": 371,
      "loc": {
        "start": {
          "line": 17,
          "column": 51
        },
        "end": {
          "line": 17,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 371,
      "end": 372,
      "loc": {
        "start": {
          "line": 17,
          "column": 55
        },
        "end": {
          "line": 17,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 372,
      "end": 373,
      "loc": {
        "start": {
          "line": 17,
          "column": 56
        },
        "end": {
          "line": 17,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 379,
      "end": 383,
      "loc": {
        "start": {
          "line": 18,
          "column": 4
        },
        "end": {
          "line": 18,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 383,
      "end": 384,
      "loc": {
        "start": {
          "line": 18,
          "column": 8
        },
        "end": {
          "line": 18,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getButtonDisplayName",
      "start": 384,
      "end": 404,
      "loc": {
        "start": {
          "line": 18,
          "column": 9
        },
        "end": {
          "line": 18,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 405,
      "end": 406,
      "loc": {
        "start": {
          "line": 18,
          "column": 30
        },
        "end": {
          "line": 18,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 407,
      "end": 411,
      "loc": {
        "start": {
          "line": 18,
          "column": 32
        },
        "end": {
          "line": 18,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 411,
      "end": 412,
      "loc": {
        "start": {
          "line": 18,
          "column": 36
        },
        "end": {
          "line": 18,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getButtonDisplayName",
      "start": 412,
      "end": 432,
      "loc": {
        "start": {
          "line": 18,
          "column": 37
        },
        "end": {
          "line": 18,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 432,
      "end": 433,
      "loc": {
        "start": {
          "line": 18,
          "column": 57
        },
        "end": {
          "line": 18,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bind",
      "start": 433,
      "end": 437,
      "loc": {
        "start": {
          "line": 18,
          "column": 58
        },
        "end": {
          "line": 18,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 437,
      "end": 438,
      "loc": {
        "start": {
          "line": 18,
          "column": 62
        },
        "end": {
          "line": 18,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 438,
      "end": 442,
      "loc": {
        "start": {
          "line": 18,
          "column": 63
        },
        "end": {
          "line": 18,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 442,
      "end": 443,
      "loc": {
        "start": {
          "line": 18,
          "column": 67
        },
        "end": {
          "line": 18,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 443,
      "end": 444,
      "loc": {
        "start": {
          "line": 18,
          "column": 68
        },
        "end": {
          "line": 18,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 450,
      "end": 454,
      "loc": {
        "start": {
          "line": 19,
          "column": 4
        },
        "end": {
          "line": 19,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 454,
      "end": 455,
      "loc": {
        "start": {
          "line": 19,
          "column": 8
        },
        "end": {
          "line": 19,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getUpdatedInput",
      "start": 455,
      "end": 470,
      "loc": {
        "start": {
          "line": 19,
          "column": 9
        },
        "end": {
          "line": 19,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 471,
      "end": 472,
      "loc": {
        "start": {
          "line": 19,
          "column": 25
        },
        "end": {
          "line": 19,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 473,
      "end": 477,
      "loc": {
        "start": {
          "line": 19,
          "column": 27
        },
        "end": {
          "line": 19,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 477,
      "end": 478,
      "loc": {
        "start": {
          "line": 19,
          "column": 31
        },
        "end": {
          "line": 19,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getUpdatedInput",
      "start": 478,
      "end": 493,
      "loc": {
        "start": {
          "line": 19,
          "column": 32
        },
        "end": {
          "line": 19,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 493,
      "end": 494,
      "loc": {
        "start": {
          "line": 19,
          "column": 47
        },
        "end": {
          "line": 19,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bind",
      "start": 494,
      "end": 498,
      "loc": {
        "start": {
          "line": 19,
          "column": 48
        },
        "end": {
          "line": 19,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 498,
      "end": 499,
      "loc": {
        "start": {
          "line": 19,
          "column": 52
        },
        "end": {
          "line": 19,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 499,
      "end": 503,
      "loc": {
        "start": {
          "line": 19,
          "column": 53
        },
        "end": {
          "line": 19,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 503,
      "end": 504,
      "loc": {
        "start": {
          "line": 19,
          "column": 57
        },
        "end": {
          "line": 19,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 504,
      "end": 505,
      "loc": {
        "start": {
          "line": 19,
          "column": 58
        },
        "end": {
          "line": 19,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 511,
      "end": 515,
      "loc": {
        "start": {
          "line": 20,
          "column": 4
        },
        "end": {
          "line": 20,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 515,
      "end": 516,
      "loc": {
        "start": {
          "line": 20,
          "column": 8
        },
        "end": {
          "line": 20,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "updateCaretPos",
      "start": 516,
      "end": 530,
      "loc": {
        "start": {
          "line": 20,
          "column": 9
        },
        "end": {
          "line": 20,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 531,
      "end": 532,
      "loc": {
        "start": {
          "line": 20,
          "column": 24
        },
        "end": {
          "line": 20,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 533,
      "end": 537,
      "loc": {
        "start": {
          "line": 20,
          "column": 26
        },
        "end": {
          "line": 20,
          "column": 30
        }
      }
    },
    {
      "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": 20,
          "column": 30
        },
        "end": {
          "line": 20,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "updateCaretPos",
      "start": 538,
      "end": 552,
      "loc": {
        "start": {
          "line": 20,
          "column": 31
        },
        "end": {
          "line": 20,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 552,
      "end": 553,
      "loc": {
        "start": {
          "line": 20,
          "column": 45
        },
        "end": {
          "line": 20,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bind",
      "start": 553,
      "end": 557,
      "loc": {
        "start": {
          "line": 20,
          "column": 46
        },
        "end": {
          "line": 20,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 557,
      "end": 558,
      "loc": {
        "start": {
          "line": 20,
          "column": 50
        },
        "end": {
          "line": 20,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 558,
      "end": 562,
      "loc": {
        "start": {
          "line": 20,
          "column": 51
        },
        "end": {
          "line": 20,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 562,
      "end": 563,
      "loc": {
        "start": {
          "line": 20,
          "column": 55
        },
        "end": {
          "line": 20,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 563,
      "end": 564,
      "loc": {
        "start": {
          "line": 20,
          "column": 56
        },
        "end": {
          "line": 20,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 570,
      "end": 574,
      "loc": {
        "start": {
          "line": 21,
          "column": 4
        },
        "end": {
          "line": 21,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 574,
      "end": 575,
      "loc": {
        "start": {
          "line": 21,
          "column": 8
        },
        "end": {
          "line": 21,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isMaxLengthReached",
      "start": 575,
      "end": 593,
      "loc": {
        "start": {
          "line": 21,
          "column": 9
        },
        "end": {
          "line": 21,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 594,
      "end": 595,
      "loc": {
        "start": {
          "line": 21,
          "column": 28
        },
        "end": {
          "line": 21,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 596,
      "end": 600,
      "loc": {
        "start": {
          "line": 21,
          "column": 30
        },
        "end": {
          "line": 21,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 600,
      "end": 601,
      "loc": {
        "start": {
          "line": 21,
          "column": 34
        },
        "end": {
          "line": 21,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isMaxLengthReached",
      "start": 601,
      "end": 619,
      "loc": {
        "start": {
          "line": 21,
          "column": 35
        },
        "end": {
          "line": 21,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 619,
      "end": 620,
      "loc": {
        "start": {
          "line": 21,
          "column": 53
        },
        "end": {
          "line": 21,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bind",
      "start": 620,
      "end": 624,
      "loc": {
        "start": {
          "line": 21,
          "column": 54
        },
        "end": {
          "line": 21,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 624,
      "end": 625,
      "loc": {
        "start": {
          "line": 21,
          "column": 58
        },
        "end": {
          "line": 21,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 625,
      "end": 629,
      "loc": {
        "start": {
          "line": 21,
          "column": 59
        },
        "end": {
          "line": 21,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 629,
      "end": 630,
      "loc": {
        "start": {
          "line": 21,
          "column": 63
        },
        "end": {
          "line": 21,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 630,
      "end": 631,
      "loc": {
        "start": {
          "line": 21,
          "column": 64
        },
        "end": {
          "line": 21,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 637,
      "end": 641,
      "loc": {
        "start": {
          "line": 22,
          "column": 4
        },
        "end": {
          "line": 22,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 641,
      "end": 642,
      "loc": {
        "start": {
          "line": 22,
          "column": 8
        },
        "end": {
          "line": 22,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "camelCase",
      "start": 642,
      "end": 651,
      "loc": {
        "start": {
          "line": 22,
          "column": 9
        },
        "end": {
          "line": 22,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 652,
      "end": 653,
      "loc": {
        "start": {
          "line": 22,
          "column": 19
        },
        "end": {
          "line": 22,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 654,
      "end": 658,
      "loc": {
        "start": {
          "line": 22,
          "column": 21
        },
        "end": {
          "line": 22,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 658,
      "end": 659,
      "loc": {
        "start": {
          "line": 22,
          "column": 25
        },
        "end": {
          "line": 22,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "camelCase",
      "start": 659,
      "end": 668,
      "loc": {
        "start": {
          "line": 22,
          "column": 26
        },
        "end": {
          "line": 22,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 668,
      "end": 669,
      "loc": {
        "start": {
          "line": 22,
          "column": 35
        },
        "end": {
          "line": 22,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bind",
      "start": 669,
      "end": 673,
      "loc": {
        "start": {
          "line": 22,
          "column": 36
        },
        "end": {
          "line": 22,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 673,
      "end": 674,
      "loc": {
        "start": {
          "line": 22,
          "column": 40
        },
        "end": {
          "line": 22,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 674,
      "end": 678,
      "loc": {
        "start": {
          "line": 22,
          "column": 41
        },
        "end": {
          "line": 22,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 678,
      "end": 679,
      "loc": {
        "start": {
          "line": 22,
          "column": 45
        },
        "end": {
          "line": 22,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 679,
      "end": 680,
      "loc": {
        "start": {
          "line": 22,
          "column": 46
        },
        "end": {
          "line": 22,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 686,
      "end": 690,
      "loc": {
        "start": {
          "line": 23,
          "column": 4
        },
        "end": {
          "line": 23,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 690,
      "end": 691,
      "loc": {
        "start": {
          "line": 23,
          "column": 8
        },
        "end": {
          "line": 23,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "countInArray",
      "start": 691,
      "end": 703,
      "loc": {
        "start": {
          "line": 23,
          "column": 9
        },
        "end": {
          "line": 23,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 704,
      "end": 705,
      "loc": {
        "start": {
          "line": 23,
          "column": 22
        },
        "end": {
          "line": 23,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 706,
      "end": 710,
      "loc": {
        "start": {
          "line": 23,
          "column": 24
        },
        "end": {
          "line": 23,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 710,
      "end": 711,
      "loc": {
        "start": {
          "line": 23,
          "column": 28
        },
        "end": {
          "line": 23,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "countInArray",
      "start": 711,
      "end": 723,
      "loc": {
        "start": {
          "line": 23,
          "column": 29
        },
        "end": {
          "line": 23,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 723,
      "end": 724,
      "loc": {
        "start": {
          "line": 23,
          "column": 41
        },
        "end": {
          "line": 23,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "bind",
      "start": 724,
      "end": 728,
      "loc": {
        "start": {
          "line": 23,
          "column": 42
        },
        "end": {
          "line": 23,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 728,
      "end": 729,
      "loc": {
        "start": {
          "line": 23,
          "column": 46
        },
        "end": {
          "line": 23,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 729,
      "end": 733,
      "loc": {
        "start": {
          "line": 23,
          "column": 47
        },
        "end": {
          "line": 23,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 733,
      "end": 734,
      "loc": {
        "start": {
          "line": 23,
          "column": 51
        },
        "end": {
          "line": 23,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 734,
      "end": 735,
      "loc": {
        "start": {
          "line": 23,
          "column": 52
        },
        "end": {
          "line": 23,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 739,
      "end": 740,
      "loc": {
        "start": {
          "line": 24,
          "column": 2
        },
        "end": {
          "line": 24,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Adds default classes to a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @return {string} The classes to be added to the button\r\n   ",
      "start": 746,
      "end": 924,
      "loc": {
        "start": {
          "line": 26,
          "column": 2
        },
        "end": {
          "line": 31,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getButtonClass",
      "start": 928,
      "end": 942,
      "loc": {
        "start": {
          "line": 32,
          "column": 2
        },
        "end": {
          "line": 32,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 942,
      "end": 943,
      "loc": {
        "start": {
          "line": 32,
          "column": 16
        },
        "end": {
          "line": 32,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 943,
      "end": 949,
      "loc": {
        "start": {
          "line": 32,
          "column": 17
        },
        "end": {
          "line": 32,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 949,
      "end": 950,
      "loc": {
        "start": {
          "line": 32,
          "column": 23
        },
        "end": {
          "line": 32,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 950,
      "end": 951,
      "loc": {
        "start": {
          "line": 32,
          "column": 24
        },
        "end": {
          "line": 32,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 957,
      "end": 960,
      "loc": {
        "start": {
          "line": 33,
          "column": 4
        },
        "end": {
          "line": 33,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buttonTypeClass",
      "start": 961,
      "end": 976,
      "loc": {
        "start": {
          "line": 33,
          "column": 8
        },
        "end": {
          "line": 33,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 977,
      "end": 978,
      "loc": {
        "start": {
          "line": 33,
          "column": 24
        },
        "end": {
          "line": 33,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 979,
      "end": 980,
      "loc": {
        "start": {
          "line": 33,
          "column": 26
        },
        "end": {
          "line": 33,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 980,
      "end": 986,
      "loc": {
        "start": {
          "line": 33,
          "column": 27
        },
        "end": {
          "line": 33,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 986,
      "end": 987,
      "loc": {
        "start": {
          "line": 33,
          "column": 33
        },
        "end": {
          "line": 33,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "includes",
      "start": 987,
      "end": 995,
      "loc": {
        "start": {
          "line": 33,
          "column": 34
        },
        "end": {
          "line": 33,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 995,
      "end": 996,
      "loc": {
        "start": {
          "line": 33,
          "column": 42
        },
        "end": {
          "line": 33,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{",
      "start": 996,
      "end": 999,
      "loc": {
        "start": {
          "line": 33,
          "column": 43
        },
        "end": {
          "line": 33,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 999,
      "end": 1000,
      "loc": {
        "start": {
          "line": 33,
          "column": 46
        },
        "end": {
          "line": 33,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 1001,
      "end": 1003,
      "loc": {
        "start": {
          "line": 33,
          "column": 48
        },
        "end": {
          "line": 33,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 1004,
      "end": 1010,
      "loc": {
        "start": {
          "line": 33,
          "column": 51
        },
        "end": {
          "line": 33,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1010,
      "end": 1011,
      "loc": {
        "start": {
          "line": 33,
          "column": 57
        },
        "end": {
          "line": 33,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "includes",
      "start": 1011,
      "end": 1019,
      "loc": {
        "start": {
          "line": 33,
          "column": 58
        },
        "end": {
          "line": 33,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1019,
      "end": 1020,
      "loc": {
        "start": {
          "line": 33,
          "column": 66
        },
        "end": {
          "line": 33,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "}",
      "start": 1020,
      "end": 1023,
      "loc": {
        "start": {
          "line": 33,
          "column": 67
        },
        "end": {
          "line": 33,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1023,
      "end": 1024,
      "loc": {
        "start": {
          "line": 33,
          "column": 70
        },
        "end": {
          "line": 33,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 1025,
      "end": 1027,
      "loc": {
        "start": {
          "line": 33,
          "column": 72
        },
        "end": {
          "line": 33,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 1028,
      "end": 1034,
      "loc": {
        "start": {
          "line": 33,
          "column": 75
        },
        "end": {
          "line": 33,
          "column": 81
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!==",
      "start": 1035,
      "end": 1038,
      "loc": {
        "start": {
          "line": 33,
          "column": 82
        },
        "end": {
          "line": 33,
          "column": 85
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{//}",
      "start": 1039,
      "end": 1045,
      "loc": {
        "start": {
          "line": 33,
          "column": 86
        },
        "end": {
          "line": 33,
          "column": 92
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1045,
      "end": 1046,
      "loc": {
        "start": {
          "line": 33,
          "column": 92
        },
        "end": {
          "line": 33,
          "column": 93
        }
      }
    },
    {
      "type": {
        "label": "?",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1047,
      "end": 1048,
      "loc": {
        "start": {
          "line": 33,
          "column": 94
        },
        "end": {
          "line": 33,
          "column": 95
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "functionBtn",
      "start": 1049,
      "end": 1062,
      "loc": {
        "start": {
          "line": 33,
          "column": 96
        },
        "end": {
          "line": 33,
          "column": 109
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1063,
      "end": 1064,
      "loc": {
        "start": {
          "line": 33,
          "column": 110
        },
        "end": {
          "line": 33,
          "column": 111
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "standardBtn",
      "start": 1065,
      "end": 1078,
      "loc": {
        "start": {
          "line": 33,
          "column": 112
        },
        "end": {
          "line": 33,
          "column": 125
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1078,
      "end": 1079,
      "loc": {
        "start": {
          "line": 33,
          "column": 125
        },
        "end": {
          "line": 33,
          "column": 126
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 1085,
      "end": 1088,
      "loc": {
        "start": {
          "line": 34,
          "column": 4
        },
        "end": {
          "line": 34,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buttonWithoutBraces",
      "start": 1089,
      "end": 1108,
      "loc": {
        "start": {
          "line": 34,
          "column": 8
        },
        "end": {
          "line": 34,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1109,
      "end": 1110,
      "loc": {
        "start": {
          "line": 34,
          "column": 28
        },
        "end": {
          "line": 34,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 1111,
      "end": 1117,
      "loc": {
        "start": {
          "line": 34,
          "column": 30
        },
        "end": {
          "line": 34,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1117,
      "end": 1118,
      "loc": {
        "start": {
          "line": 34,
          "column": 36
        },
        "end": {
          "line": 34,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "replace",
      "start": 1118,
      "end": 1125,
      "loc": {
        "start": {
          "line": 34,
          "column": 37
        },
        "end": {
          "line": 34,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1125,
      "end": 1126,
      "loc": {
        "start": {
          "line": 34,
          "column": 44
        },
        "end": {
          "line": 34,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{",
      "start": 1126,
      "end": 1129,
      "loc": {
        "start": {
          "line": 34,
          "column": 45
        },
        "end": {
          "line": 34,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1129,
      "end": 1130,
      "loc": {
        "start": {
          "line": 34,
          "column": 48
        },
        "end": {
          "line": 34,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 1131,
      "end": 1133,
      "loc": {
        "start": {
          "line": 34,
          "column": 50
        },
        "end": {
          "line": 34,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1133,
      "end": 1134,
      "loc": {
        "start": {
          "line": 34,
          "column": 52
        },
        "end": {
          "line": 34,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1134,
      "end": 1135,
      "loc": {
        "start": {
          "line": 34,
          "column": 53
        },
        "end": {
          "line": 34,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "replace",
      "start": 1135,
      "end": 1142,
      "loc": {
        "start": {
          "line": 34,
          "column": 54
        },
        "end": {
          "line": 34,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1142,
      "end": 1143,
      "loc": {
        "start": {
          "line": 34,
          "column": 61
        },
        "end": {
          "line": 34,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "}",
      "start": 1143,
      "end": 1146,
      "loc": {
        "start": {
          "line": 34,
          "column": 62
        },
        "end": {
          "line": 34,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1146,
      "end": 1147,
      "loc": {
        "start": {
          "line": 34,
          "column": 65
        },
        "end": {
          "line": 34,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 1148,
      "end": 1150,
      "loc": {
        "start": {
          "line": 34,
          "column": 67
        },
        "end": {
          "line": 34,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1150,
      "end": 1151,
      "loc": {
        "start": {
          "line": 34,
          "column": 69
        },
        "end": {
          "line": 34,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1151,
      "end": 1152,
      "loc": {
        "start": {
          "line": 34,
          "column": 70
        },
        "end": {
          "line": 34,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 1158,
      "end": 1161,
      "loc": {
        "start": {
          "line": 35,
          "column": 4
        },
        "end": {
          "line": 35,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buttonNormalized",
      "start": 1162,
      "end": 1178,
      "loc": {
        "start": {
          "line": 35,
          "column": 8
        },
        "end": {
          "line": 35,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1179,
      "end": 1180,
      "loc": {
        "start": {
          "line": 35,
          "column": 25
        },
        "end": {
          "line": 35,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 1181,
      "end": 1183,
      "loc": {
        "start": {
          "line": 35,
          "column": 27
        },
        "end": {
          "line": 35,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1183,
      "end": 1184,
      "loc": {
        "start": {
          "line": 35,
          "column": 29
        },
        "end": {
          "line": 35,
          "column": 30
        }
      }
    },
    {
      "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": 1192,
      "end": 1194,
      "loc": {
        "start": {
          "line": 37,
          "column": 4
        },
        "end": {
          "line": 37,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1194,
      "end": 1195,
      "loc": {
        "start": {
          "line": 37,
          "column": 6
        },
        "end": {
          "line": 37,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buttonTypeClass",
      "start": 1195,
      "end": 1210,
      "loc": {
        "start": {
          "line": 37,
          "column": 7
        },
        "end": {
          "line": 37,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!==",
      "start": 1211,
      "end": 1214,
      "loc": {
        "start": {
          "line": 37,
          "column": 23
        },
        "end": {
          "line": 37,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "standardBtn",
      "start": 1215,
      "end": 1228,
      "loc": {
        "start": {
          "line": 37,
          "column": 27
        },
        "end": {
          "line": 37,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1228,
      "end": 1229,
      "loc": {
        "start": {
          "line": 37,
          "column": 40
        },
        "end": {
          "line": 37,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buttonNormalized",
      "start": 1237,
      "end": 1253,
      "loc": {
        "start": {
          "line": 38,
          "column": 6
        },
        "end": {
          "line": 38,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1254,
      "end": 1255,
      "loc": {
        "start": {
          "line": 38,
          "column": 23
        },
        "end": {
          "line": 38,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1256,
      "end": 1257,
      "loc": {
        "start": {
          "line": 38,
          "column": 25
        },
        "end": {
          "line": 38,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": " hg-button-",
      "start": 1257,
      "end": 1268,
      "loc": {
        "start": {
          "line": 38,
          "column": 26
        },
        "end": {
          "line": 38,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "${",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1268,
      "end": 1270,
      "loc": {
        "start": {
          "line": 38,
          "column": 37
        },
        "end": {
          "line": 38,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buttonWithoutBraces",
      "start": 1270,
      "end": 1289,
      "loc": {
        "start": {
          "line": 38,
          "column": 39
        },
        "end": {
          "line": 38,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1289,
      "end": 1290,
      "loc": {
        "start": {
          "line": 38,
          "column": 58
        },
        "end": {
          "line": 38,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 1290,
      "end": 1290,
      "loc": {
        "start": {
          "line": 38,
          "column": 59
        },
        "end": {
          "line": 38,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1290,
      "end": 1291,
      "loc": {
        "start": {
          "line": 38,
          "column": 59
        },
        "end": {
          "line": 38,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1291,
      "end": 1292,
      "loc": {
        "start": {
          "line": 38,
          "column": 60
        },
        "end": {
          "line": 38,
          "column": 61
        }
      }
    },
    {
      "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": 1300,
      "end": 1306,
      "loc": {
        "start": {
          "line": 40,
          "column": 4
        },
        "end": {
          "line": 40,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1307,
      "end": 1308,
      "loc": {
        "start": {
          "line": 40,
          "column": 11
        },
        "end": {
          "line": 40,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "hg-",
      "start": 1308,
      "end": 1311,
      "loc": {
        "start": {
          "line": 40,
          "column": 12
        },
        "end": {
          "line": 40,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "${",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1311,
      "end": 1313,
      "loc": {
        "start": {
          "line": 40,
          "column": 15
        },
        "end": {
          "line": 40,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buttonTypeClass",
      "start": 1313,
      "end": 1328,
      "loc": {
        "start": {
          "line": 40,
          "column": 17
        },
        "end": {
          "line": 40,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1328,
      "end": 1329,
      "loc": {
        "start": {
          "line": 40,
          "column": 32
        },
        "end": {
          "line": 40,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 1329,
      "end": 1329,
      "loc": {
        "start": {
          "line": 40,
          "column": 33
        },
        "end": {
          "line": 40,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "${",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1329,
      "end": 1331,
      "loc": {
        "start": {
          "line": 40,
          "column": 33
        },
        "end": {
          "line": 40,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "buttonNormalized",
      "start": 1331,
      "end": 1347,
      "loc": {
        "start": {
          "line": 40,
          "column": 35
        },
        "end": {
          "line": 40,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1347,
      "end": 1348,
      "loc": {
        "start": {
          "line": 40,
          "column": 51
        },
        "end": {
          "line": 40,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 1348,
      "end": 1348,
      "loc": {
        "start": {
          "line": 40,
          "column": 52
        },
        "end": {
          "line": 40,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1348,
      "end": 1349,
      "loc": {
        "start": {
          "line": 40,
          "column": 52
        },
        "end": {
          "line": 40,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1349,
      "end": 1350,
      "loc": {
        "start": {
          "line": 40,
          "column": 53
        },
        "end": {
          "line": 40,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1354,
      "end": 1355,
      "loc": {
        "start": {
          "line": 41,
          "column": 2
        },
        "end": {
          "line": 41,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Default button display labels\r\n   ",
      "start": 1361,
      "end": 1407,
      "loc": {
        "start": {
          "line": 43,
          "column": 2
        },
        "end": {
          "line": 45,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getDefaultDiplay",
      "start": 1411,
      "end": 1427,
      "loc": {
        "start": {
          "line": 46,
          "column": 2
        },
        "end": {
          "line": 46,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1427,
      "end": 1428,
      "loc": {
        "start": {
          "line": 46,
          "column": 18
        },
        "end": {
          "line": 46,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1428,
      "end": 1429,
      "loc": {
        "start": {
          "line": 46,
          "column": 19
        },
        "end": {
          "line": 46,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1429,
      "end": 1430,
      "loc": {
        "start": {
          "line": 46,
          "column": 20
        },
        "end": {
          "line": 46,
          "column": 21
        }
      }
    },
    {
      "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": 1436,
      "end": 1442,
      "loc": {
        "start": {
          "line": 47,
          "column": 4
        },
        "end": {
          "line": 47,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1443,
      "end": 1444,
      "loc": {
        "start": {
          "line": 47,
          "column": 11
        },
        "end": {
          "line": 47,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{bksp}",
      "start": 1452,
      "end": 1460,
      "loc": {
        "start": {
          "line": 48,
          "column": 6
        },
        "end": {
          "line": 48,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1460,
      "end": 1461,
      "loc": {
        "start": {
          "line": 48,
          "column": 14
        },
        "end": {
          "line": 48,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "backspace",
      "start": 1462,
      "end": 1473,
      "loc": {
        "start": {
          "line": 48,
          "column": 16
        },
        "end": {
          "line": 48,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1473,
      "end": 1474,
      "loc": {
        "start": {
          "line": 48,
          "column": 27
        },
        "end": {
          "line": 48,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{backspace}",
      "start": 1482,
      "end": 1495,
      "loc": {
        "start": {
          "line": 49,
          "column": 6
        },
        "end": {
          "line": 49,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1495,
      "end": 1496,
      "loc": {
        "start": {
          "line": 49,
          "column": 19
        },
        "end": {
          "line": 49,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "backspace",
      "start": 1497,
      "end": 1508,
      "loc": {
        "start": {
          "line": 49,
          "column": 21
        },
        "end": {
          "line": 49,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1508,
      "end": 1509,
      "loc": {
        "start": {
          "line": 49,
          "column": 32
        },
        "end": {
          "line": 49,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{enter}",
      "start": 1517,
      "end": 1526,
      "loc": {
        "start": {
          "line": 50,
          "column": 6
        },
        "end": {
          "line": 50,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1526,
      "end": 1527,
      "loc": {
        "start": {
          "line": 50,
          "column": 15
        },
        "end": {
          "line": 50,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "< enter",
      "start": 1528,
      "end": 1537,
      "loc": {
        "start": {
          "line": 50,
          "column": 17
        },
        "end": {
          "line": 50,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1537,
      "end": 1538,
      "loc": {
        "start": {
          "line": 50,
          "column": 26
        },
        "end": {
          "line": 50,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{shift}",
      "start": 1546,
      "end": 1555,
      "loc": {
        "start": {
          "line": 51,
          "column": 6
        },
        "end": {
          "line": 51,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1555,
      "end": 1556,
      "loc": {
        "start": {
          "line": 51,
          "column": 15
        },
        "end": {
          "line": 51,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "shift",
      "start": 1557,
      "end": 1564,
      "loc": {
        "start": {
          "line": 51,
          "column": 17
        },
        "end": {
          "line": 51,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1564,
      "end": 1565,
      "loc": {
        "start": {
          "line": 51,
          "column": 24
        },
        "end": {
          "line": 51,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{shiftleft}",
      "start": 1573,
      "end": 1586,
      "loc": {
        "start": {
          "line": 52,
          "column": 6
        },
        "end": {
          "line": 52,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1586,
      "end": 1587,
      "loc": {
        "start": {
          "line": 52,
          "column": 19
        },
        "end": {
          "line": 52,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "shift",
      "start": 1588,
      "end": 1595,
      "loc": {
        "start": {
          "line": 52,
          "column": 21
        },
        "end": {
          "line": 52,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1595,
      "end": 1596,
      "loc": {
        "start": {
          "line": 52,
          "column": 28
        },
        "end": {
          "line": 52,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{shiftright}",
      "start": 1604,
      "end": 1618,
      "loc": {
        "start": {
          "line": 53,
          "column": 6
        },
        "end": {
          "line": 53,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1618,
      "end": 1619,
      "loc": {
        "start": {
          "line": 53,
          "column": 20
        },
        "end": {
          "line": 53,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "shift",
      "start": 1620,
      "end": 1627,
      "loc": {
        "start": {
          "line": 53,
          "column": 22
        },
        "end": {
          "line": 53,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1627,
      "end": 1628,
      "loc": {
        "start": {
          "line": 53,
          "column": 29
        },
        "end": {
          "line": 53,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{alt}",
      "start": 1636,
      "end": 1643,
      "loc": {
        "start": {
          "line": 54,
          "column": 6
        },
        "end": {
          "line": 54,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1643,
      "end": 1644,
      "loc": {
        "start": {
          "line": 54,
          "column": 13
        },
        "end": {
          "line": 54,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "alt",
      "start": 1645,
      "end": 1650,
      "loc": {
        "start": {
          "line": 54,
          "column": 15
        },
        "end": {
          "line": 54,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1650,
      "end": 1651,
      "loc": {
        "start": {
          "line": 54,
          "column": 20
        },
        "end": {
          "line": 54,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{s}",
      "start": 1659,
      "end": 1664,
      "loc": {
        "start": {
          "line": 55,
          "column": 6
        },
        "end": {
          "line": 55,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1664,
      "end": 1665,
      "loc": {
        "start": {
          "line": 55,
          "column": 11
        },
        "end": {
          "line": 55,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "shift",
      "start": 1666,
      "end": 1673,
      "loc": {
        "start": {
          "line": 55,
          "column": 13
        },
        "end": {
          "line": 55,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1673,
      "end": 1674,
      "loc": {
        "start": {
          "line": 55,
          "column": 20
        },
        "end": {
          "line": 55,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{tab}",
      "start": 1682,
      "end": 1689,
      "loc": {
        "start": {
          "line": 56,
          "column": 6
        },
        "end": {
          "line": 56,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1689,
      "end": 1690,
      "loc": {
        "start": {
          "line": 56,
          "column": 13
        },
        "end": {
          "line": 56,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "tab",
      "start": 1691,
      "end": 1696,
      "loc": {
        "start": {
          "line": 56,
          "column": 15
        },
        "end": {
          "line": 56,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1696,
      "end": 1697,
      "loc": {
        "start": {
          "line": 56,
          "column": 20
        },
        "end": {
          "line": 56,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{lock}",
      "start": 1705,
      "end": 1713,
      "loc": {
        "start": {
          "line": 57,
          "column": 6
        },
        "end": {
          "line": 57,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1713,
      "end": 1714,
      "loc": {
        "start": {
          "line": 57,
          "column": 14
        },
        "end": {
          "line": 57,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "caps",
      "start": 1715,
      "end": 1721,
      "loc": {
        "start": {
          "line": 57,
          "column": 16
        },
        "end": {
          "line": 57,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1721,
      "end": 1722,
      "loc": {
        "start": {
          "line": 57,
          "column": 22
        },
        "end": {
          "line": 57,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{capslock}",
      "start": 1730,
      "end": 1742,
      "loc": {
        "start": {
          "line": 58,
          "column": 6
        },
        "end": {
          "line": 58,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1742,
      "end": 1743,
      "loc": {
        "start": {
          "line": 58,
          "column": 18
        },
        "end": {
          "line": 58,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "caps",
      "start": 1744,
      "end": 1750,
      "loc": {
        "start": {
          "line": 58,
          "column": 20
        },
        "end": {
          "line": 58,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1750,
      "end": 1751,
      "loc": {
        "start": {
          "line": 58,
          "column": 26
        },
        "end": {
          "line": 58,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{accept}",
      "start": 1759,
      "end": 1769,
      "loc": {
        "start": {
          "line": 59,
          "column": 6
        },
        "end": {
          "line": 59,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1769,
      "end": 1770,
      "loc": {
        "start": {
          "line": 59,
          "column": 16
        },
        "end": {
          "line": 59,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Submit",
      "start": 1771,
      "end": 1779,
      "loc": {
        "start": {
          "line": 59,
          "column": 18
        },
        "end": {
          "line": 59,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1779,
      "end": 1780,
      "loc": {
        "start": {
          "line": 59,
          "column": 26
        },
        "end": {
          "line": 59,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{space}",
      "start": 1788,
      "end": 1797,
      "loc": {
        "start": {
          "line": 60,
          "column": 6
        },
        "end": {
          "line": 60,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1797,
      "end": 1798,
      "loc": {
        "start": {
          "line": 60,
          "column": 15
        },
        "end": {
          "line": 60,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": " ",
      "start": 1799,
      "end": 1802,
      "loc": {
        "start": {
          "line": 60,
          "column": 17
        },
        "end": {
          "line": 60,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1802,
      "end": 1803,
      "loc": {
        "start": {
          "line": 60,
          "column": 20
        },
        "end": {
          "line": 60,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{//}",
      "start": 1811,
      "end": 1817,
      "loc": {
        "start": {
          "line": 61,
          "column": 6
        },
        "end": {
          "line": 61,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1817,
      "end": 1818,
      "loc": {
        "start": {
          "line": 61,
          "column": 12
        },
        "end": {
          "line": 61,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": " ",
      "start": 1819,
      "end": 1822,
      "loc": {
        "start": {
          "line": 61,
          "column": 14
        },
        "end": {
          "line": 61,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1822,
      "end": 1823,
      "loc": {
        "start": {
          "line": 61,
          "column": 17
        },
        "end": {
          "line": 61,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{esc}",
      "start": 1831,
      "end": 1838,
      "loc": {
        "start": {
          "line": 62,
          "column": 6
        },
        "end": {
          "line": 62,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1838,
      "end": 1839,
      "loc": {
        "start": {
          "line": 62,
          "column": 13
        },
        "end": {
          "line": 62,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "esc",
      "start": 1840,
      "end": 1845,
      "loc": {
        "start": {
          "line": 62,
          "column": 15
        },
        "end": {
          "line": 62,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1845,
      "end": 1846,
      "loc": {
        "start": {
          "line": 62,
          "column": 20
        },
        "end": {
          "line": 62,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{escape}",
      "start": 1854,
      "end": 1864,
      "loc": {
        "start": {
          "line": 63,
          "column": 6
        },
        "end": {
          "line": 63,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1864,
      "end": 1865,
      "loc": {
        "start": {
          "line": 63,
          "column": 16
        },
        "end": {
          "line": 63,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "esc",
      "start": 1866,
      "end": 1871,
      "loc": {
        "start": {
          "line": 63,
          "column": 18
        },
        "end": {
          "line": 63,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1871,
      "end": 1872,
      "loc": {
        "start": {
          "line": 63,
          "column": 23
        },
        "end": {
          "line": 63,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{f1}",
      "start": 1880,
      "end": 1886,
      "loc": {
        "start": {
          "line": 64,
          "column": 6
        },
        "end": {
          "line": 64,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1886,
      "end": 1887,
      "loc": {
        "start": {
          "line": 64,
          "column": 12
        },
        "end": {
          "line": 64,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "f1",
      "start": 1888,
      "end": 1892,
      "loc": {
        "start": {
          "line": 64,
          "column": 14
        },
        "end": {
          "line": 64,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1892,
      "end": 1893,
      "loc": {
        "start": {
          "line": 64,
          "column": 18
        },
        "end": {
          "line": 64,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{f2}",
      "start": 1901,
      "end": 1907,
      "loc": {
        "start": {
          "line": 65,
          "column": 6
        },
        "end": {
          "line": 65,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1907,
      "end": 1908,
      "loc": {
        "start": {
          "line": 65,
          "column": 12
        },
        "end": {
          "line": 65,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "f2",
      "start": 1909,
      "end": 1913,
      "loc": {
        "start": {
          "line": 65,
          "column": 14
        },
        "end": {
          "line": 65,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1913,
      "end": 1914,
      "loc": {
        "start": {
          "line": 65,
          "column": 18
        },
        "end": {
          "line": 65,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{f3}",
      "start": 1922,
      "end": 1928,
      "loc": {
        "start": {
          "line": 66,
          "column": 6
        },
        "end": {
          "line": 66,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1928,
      "end": 1929,
      "loc": {
        "start": {
          "line": 66,
          "column": 12
        },
        "end": {
          "line": 66,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "f3",
      "start": 1930,
      "end": 1934,
      "loc": {
        "start": {
          "line": 66,
          "column": 14
        },
        "end": {
          "line": 66,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1934,
      "end": 1935,
      "loc": {
        "start": {
          "line": 66,
          "column": 18
        },
        "end": {
          "line": 66,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{f4}",
      "start": 1943,
      "end": 1949,
      "loc": {
        "start": {
          "line": 67,
          "column": 6
        },
        "end": {
          "line": 67,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1949,
      "end": 1950,
      "loc": {
        "start": {
          "line": 67,
          "column": 12
        },
        "end": {
          "line": 67,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "f4",
      "start": 1951,
      "end": 1955,
      "loc": {
        "start": {
          "line": 67,
          "column": 14
        },
        "end": {
          "line": 67,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1955,
      "end": 1956,
      "loc": {
        "start": {
          "line": 67,
          "column": 18
        },
        "end": {
          "line": 67,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{f5}",
      "start": 1964,
      "end": 1970,
      "loc": {
        "start": {
          "line": 68,
          "column": 6
        },
        "end": {
          "line": 68,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1970,
      "end": 1971,
      "loc": {
        "start": {
          "line": 68,
          "column": 12
        },
        "end": {
          "line": 68,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "f5",
      "start": 1972,
      "end": 1976,
      "loc": {
        "start": {
          "line": 68,
          "column": 14
        },
        "end": {
          "line": 68,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1976,
      "end": 1977,
      "loc": {
        "start": {
          "line": 68,
          "column": 18
        },
        "end": {
          "line": 68,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{f6}",
      "start": 1985,
      "end": 1991,
      "loc": {
        "start": {
          "line": 69,
          "column": 6
        },
        "end": {
          "line": 69,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1991,
      "end": 1992,
      "loc": {
        "start": {
          "line": 69,
          "column": 12
        },
        "end": {
          "line": 69,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "f6",
      "start": 1993,
      "end": 1997,
      "loc": {
        "start": {
          "line": 69,
          "column": 14
        },
        "end": {
          "line": 69,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1997,
      "end": 1998,
      "loc": {
        "start": {
          "line": 69,
          "column": 18
        },
        "end": {
          "line": 69,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{f7}",
      "start": 2006,
      "end": 2012,
      "loc": {
        "start": {
          "line": 70,
          "column": 6
        },
        "end": {
          "line": 70,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2012,
      "end": 2013,
      "loc": {
        "start": {
          "line": 70,
          "column": 12
        },
        "end": {
          "line": 70,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "f7",
      "start": 2014,
      "end": 2018,
      "loc": {
        "start": {
          "line": 70,
          "column": 14
        },
        "end": {
          "line": 70,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2018,
      "end": 2019,
      "loc": {
        "start": {
          "line": 70,
          "column": 18
        },
        "end": {
          "line": 70,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{f8}",
      "start": 2027,
      "end": 2033,
      "loc": {
        "start": {
          "line": 71,
          "column": 6
        },
        "end": {
          "line": 71,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2033,
      "end": 2034,
      "loc": {
        "start": {
          "line": 71,
          "column": 12
        },
        "end": {
          "line": 71,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "f8",
      "start": 2035,
      "end": 2039,
      "loc": {
        "start": {
          "line": 71,
          "column": 14
        },
        "end": {
          "line": 71,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2039,
      "end": 2040,
      "loc": {
        "start": {
          "line": 71,
          "column": 18
        },
        "end": {
          "line": 71,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{f9}",
      "start": 2048,
      "end": 2054,
      "loc": {
        "start": {
          "line": 72,
          "column": 6
        },
        "end": {
          "line": 72,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2054,
      "end": 2055,
      "loc": {
        "start": {
          "line": 72,
          "column": 12
        },
        "end": {
          "line": 72,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "f9",
      "start": 2056,
      "end": 2060,
      "loc": {
        "start": {
          "line": 72,
          "column": 14
        },
        "end": {
          "line": 72,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2060,
      "end": 2061,
      "loc": {
        "start": {
          "line": 72,
          "column": 18
        },
        "end": {
          "line": 72,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{f10}",
      "start": 2069,
      "end": 2076,
      "loc": {
        "start": {
          "line": 73,
          "column": 6
        },
        "end": {
          "line": 73,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2076,
      "end": 2077,
      "loc": {
        "start": {
          "line": 73,
          "column": 13
        },
        "end": {
          "line": 73,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "f10",
      "start": 2078,
      "end": 2083,
      "loc": {
        "start": {
          "line": 73,
          "column": 15
        },
        "end": {
          "line": 73,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2083,
      "end": 2084,
      "loc": {
        "start": {
          "line": 73,
          "column": 20
        },
        "end": {
          "line": 73,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{f11}",
      "start": 2092,
      "end": 2099,
      "loc": {
        "start": {
          "line": 74,
          "column": 6
        },
        "end": {
          "line": 74,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2099,
      "end": 2100,
      "loc": {
        "start": {
          "line": 74,
          "column": 13
        },
        "end": {
          "line": 74,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "f11",
      "start": 2101,
      "end": 2106,
      "loc": {
        "start": {
          "line": 74,
          "column": 15
        },
        "end": {
          "line": 74,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2106,
      "end": 2107,
      "loc": {
        "start": {
          "line": 74,
          "column": 20
        },
        "end": {
          "line": 74,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{f12}",
      "start": 2115,
      "end": 2122,
      "loc": {
        "start": {
          "line": 75,
          "column": 6
        },
        "end": {
          "line": 75,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2122,
      "end": 2123,
      "loc": {
        "start": {
          "line": 75,
          "column": 13
        },
        "end": {
          "line": 75,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "f12",
      "start": 2124,
      "end": 2129,
      "loc": {
        "start": {
          "line": 75,
          "column": 15
        },
        "end": {
          "line": 75,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2129,
      "end": 2130,
      "loc": {
        "start": {
          "line": 75,
          "column": 20
        },
        "end": {
          "line": 75,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpaddivide}",
      "start": 2138,
      "end": 2154,
      "loc": {
        "start": {
          "line": 76,
          "column": 6
        },
        "end": {
          "line": 76,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2154,
      "end": 2155,
      "loc": {
        "start": {
          "line": 76,
          "column": 22
        },
        "end": {
          "line": 76,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "/",
      "start": 2156,
      "end": 2159,
      "loc": {
        "start": {
          "line": 76,
          "column": 24
        },
        "end": {
          "line": 76,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2159,
      "end": 2160,
      "loc": {
        "start": {
          "line": 76,
          "column": 27
        },
        "end": {
          "line": 76,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numlock}",
      "start": 2168,
      "end": 2179,
      "loc": {
        "start": {
          "line": 77,
          "column": 6
        },
        "end": {
          "line": 77,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2179,
      "end": 2180,
      "loc": {
        "start": {
          "line": 77,
          "column": 17
        },
        "end": {
          "line": 77,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "lock",
      "start": 2181,
      "end": 2187,
      "loc": {
        "start": {
          "line": 77,
          "column": 19
        },
        "end": {
          "line": 77,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2187,
      "end": 2188,
      "loc": {
        "start": {
          "line": 77,
          "column": 25
        },
        "end": {
          "line": 77,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{arrowup}",
      "start": 2196,
      "end": 2207,
      "loc": {
        "start": {
          "line": 78,
          "column": 6
        },
        "end": {
          "line": 78,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2207,
      "end": 2208,
      "loc": {
        "start": {
          "line": 78,
          "column": 17
        },
        "end": {
          "line": 78,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "↑",
      "start": 2209,
      "end": 2212,
      "loc": {
        "start": {
          "line": 78,
          "column": 19
        },
        "end": {
          "line": 78,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2212,
      "end": 2213,
      "loc": {
        "start": {
          "line": 78,
          "column": 22
        },
        "end": {
          "line": 78,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{arrowleft}",
      "start": 2221,
      "end": 2234,
      "loc": {
        "start": {
          "line": 79,
          "column": 6
        },
        "end": {
          "line": 79,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2234,
      "end": 2235,
      "loc": {
        "start": {
          "line": 79,
          "column": 19
        },
        "end": {
          "line": 79,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "←",
      "start": 2236,
      "end": 2239,
      "loc": {
        "start": {
          "line": 79,
          "column": 21
        },
        "end": {
          "line": 79,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2239,
      "end": 2240,
      "loc": {
        "start": {
          "line": 79,
          "column": 24
        },
        "end": {
          "line": 79,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{arrowdown}",
      "start": 2248,
      "end": 2261,
      "loc": {
        "start": {
          "line": 80,
          "column": 6
        },
        "end": {
          "line": 80,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2261,
      "end": 2262,
      "loc": {
        "start": {
          "line": 80,
          "column": 19
        },
        "end": {
          "line": 80,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "↓",
      "start": 2263,
      "end": 2266,
      "loc": {
        "start": {
          "line": 80,
          "column": 21
        },
        "end": {
          "line": 80,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2266,
      "end": 2267,
      "loc": {
        "start": {
          "line": 80,
          "column": 24
        },
        "end": {
          "line": 80,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{arrowright}",
      "start": 2275,
      "end": 2289,
      "loc": {
        "start": {
          "line": 81,
          "column": 6
        },
        "end": {
          "line": 81,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2289,
      "end": 2290,
      "loc": {
        "start": {
          "line": 81,
          "column": 20
        },
        "end": {
          "line": 81,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "→",
      "start": 2291,
      "end": 2294,
      "loc": {
        "start": {
          "line": 81,
          "column": 22
        },
        "end": {
          "line": 81,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2294,
      "end": 2295,
      "loc": {
        "start": {
          "line": 81,
          "column": 25
        },
        "end": {
          "line": 81,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{prtscr}",
      "start": 2303,
      "end": 2313,
      "loc": {
        "start": {
          "line": 82,
          "column": 6
        },
        "end": {
          "line": 82,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2313,
      "end": 2314,
      "loc": {
        "start": {
          "line": 82,
          "column": 16
        },
        "end": {
          "line": 82,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "print",
      "start": 2315,
      "end": 2322,
      "loc": {
        "start": {
          "line": 82,
          "column": 18
        },
        "end": {
          "line": 82,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2322,
      "end": 2323,
      "loc": {
        "start": {
          "line": 82,
          "column": 25
        },
        "end": {
          "line": 82,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{scrolllock}",
      "start": 2331,
      "end": 2345,
      "loc": {
        "start": {
          "line": 83,
          "column": 6
        },
        "end": {
          "line": 83,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2345,
      "end": 2346,
      "loc": {
        "start": {
          "line": 83,
          "column": 20
        },
        "end": {
          "line": 83,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "scroll",
      "start": 2347,
      "end": 2355,
      "loc": {
        "start": {
          "line": 83,
          "column": 22
        },
        "end": {
          "line": 83,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2355,
      "end": 2356,
      "loc": {
        "start": {
          "line": 83,
          "column": 30
        },
        "end": {
          "line": 83,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{pause}",
      "start": 2364,
      "end": 2373,
      "loc": {
        "start": {
          "line": 84,
          "column": 6
        },
        "end": {
          "line": 84,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2373,
      "end": 2374,
      "loc": {
        "start": {
          "line": 84,
          "column": 15
        },
        "end": {
          "line": 84,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "pause",
      "start": 2375,
      "end": 2382,
      "loc": {
        "start": {
          "line": 84,
          "column": 17
        },
        "end": {
          "line": 84,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2382,
      "end": 2383,
      "loc": {
        "start": {
          "line": 84,
          "column": 24
        },
        "end": {
          "line": 84,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{insert}",
      "start": 2391,
      "end": 2401,
      "loc": {
        "start": {
          "line": 85,
          "column": 6
        },
        "end": {
          "line": 85,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2401,
      "end": 2402,
      "loc": {
        "start": {
          "line": 85,
          "column": 16
        },
        "end": {
          "line": 85,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "ins",
      "start": 2403,
      "end": 2408,
      "loc": {
        "start": {
          "line": 85,
          "column": 18
        },
        "end": {
          "line": 85,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2408,
      "end": 2409,
      "loc": {
        "start": {
          "line": 85,
          "column": 23
        },
        "end": {
          "line": 85,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{home}",
      "start": 2417,
      "end": 2425,
      "loc": {
        "start": {
          "line": 86,
          "column": 6
        },
        "end": {
          "line": 86,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2425,
      "end": 2426,
      "loc": {
        "start": {
          "line": 86,
          "column": 14
        },
        "end": {
          "line": 86,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "home",
      "start": 2427,
      "end": 2433,
      "loc": {
        "start": {
          "line": 86,
          "column": 16
        },
        "end": {
          "line": 86,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2433,
      "end": 2434,
      "loc": {
        "start": {
          "line": 86,
          "column": 22
        },
        "end": {
          "line": 86,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{pageup}",
      "start": 2442,
      "end": 2452,
      "loc": {
        "start": {
          "line": 87,
          "column": 6
        },
        "end": {
          "line": 87,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2452,
      "end": 2453,
      "loc": {
        "start": {
          "line": 87,
          "column": 16
        },
        "end": {
          "line": 87,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "up",
      "start": 2454,
      "end": 2458,
      "loc": {
        "start": {
          "line": 87,
          "column": 18
        },
        "end": {
          "line": 87,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2458,
      "end": 2459,
      "loc": {
        "start": {
          "line": 87,
          "column": 22
        },
        "end": {
          "line": 87,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{delete}",
      "start": 2467,
      "end": 2477,
      "loc": {
        "start": {
          "line": 88,
          "column": 6
        },
        "end": {
          "line": 88,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2477,
      "end": 2478,
      "loc": {
        "start": {
          "line": 88,
          "column": 16
        },
        "end": {
          "line": 88,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "del",
      "start": 2479,
      "end": 2484,
      "loc": {
        "start": {
          "line": 88,
          "column": 18
        },
        "end": {
          "line": 88,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2484,
      "end": 2485,
      "loc": {
        "start": {
          "line": 88,
          "column": 23
        },
        "end": {
          "line": 88,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{end}",
      "start": 2493,
      "end": 2500,
      "loc": {
        "start": {
          "line": 89,
          "column": 6
        },
        "end": {
          "line": 89,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2500,
      "end": 2501,
      "loc": {
        "start": {
          "line": 89,
          "column": 13
        },
        "end": {
          "line": 89,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "end",
      "start": 2502,
      "end": 2507,
      "loc": {
        "start": {
          "line": 89,
          "column": 15
        },
        "end": {
          "line": 89,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2507,
      "end": 2508,
      "loc": {
        "start": {
          "line": 89,
          "column": 20
        },
        "end": {
          "line": 89,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{pagedown}",
      "start": 2516,
      "end": 2528,
      "loc": {
        "start": {
          "line": 90,
          "column": 6
        },
        "end": {
          "line": 90,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2528,
      "end": 2529,
      "loc": {
        "start": {
          "line": 90,
          "column": 18
        },
        "end": {
          "line": 90,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "down",
      "start": 2530,
      "end": 2536,
      "loc": {
        "start": {
          "line": 90,
          "column": 20
        },
        "end": {
          "line": 90,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2536,
      "end": 2537,
      "loc": {
        "start": {
          "line": 90,
          "column": 26
        },
        "end": {
          "line": 90,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpadmultiply}",
      "start": 2545,
      "end": 2563,
      "loc": {
        "start": {
          "line": 91,
          "column": 6
        },
        "end": {
          "line": 91,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2563,
      "end": 2564,
      "loc": {
        "start": {
          "line": 91,
          "column": 24
        },
        "end": {
          "line": 91,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "*",
      "start": 2565,
      "end": 2568,
      "loc": {
        "start": {
          "line": 91,
          "column": 26
        },
        "end": {
          "line": 91,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2568,
      "end": 2569,
      "loc": {
        "start": {
          "line": 91,
          "column": 29
        },
        "end": {
          "line": 91,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpadsubtract}",
      "start": 2577,
      "end": 2595,
      "loc": {
        "start": {
          "line": 92,
          "column": 6
        },
        "end": {
          "line": 92,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2595,
      "end": 2596,
      "loc": {
        "start": {
          "line": 92,
          "column": 24
        },
        "end": {
          "line": 92,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "-",
      "start": 2597,
      "end": 2600,
      "loc": {
        "start": {
          "line": 92,
          "column": 26
        },
        "end": {
          "line": 92,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2600,
      "end": 2601,
      "loc": {
        "start": {
          "line": 92,
          "column": 29
        },
        "end": {
          "line": 92,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpadadd}",
      "start": 2609,
      "end": 2622,
      "loc": {
        "start": {
          "line": 93,
          "column": 6
        },
        "end": {
          "line": 93,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2622,
      "end": 2623,
      "loc": {
        "start": {
          "line": 93,
          "column": 19
        },
        "end": {
          "line": 93,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "+",
      "start": 2624,
      "end": 2627,
      "loc": {
        "start": {
          "line": 93,
          "column": 21
        },
        "end": {
          "line": 93,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2627,
      "end": 2628,
      "loc": {
        "start": {
          "line": 93,
          "column": 24
        },
        "end": {
          "line": 93,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpadenter}",
      "start": 2636,
      "end": 2651,
      "loc": {
        "start": {
          "line": 94,
          "column": 6
        },
        "end": {
          "line": 94,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2651,
      "end": 2652,
      "loc": {
        "start": {
          "line": 94,
          "column": 21
        },
        "end": {
          "line": 94,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "enter",
      "start": 2653,
      "end": 2660,
      "loc": {
        "start": {
          "line": 94,
          "column": 23
        },
        "end": {
          "line": 94,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2660,
      "end": 2661,
      "loc": {
        "start": {
          "line": 94,
          "column": 30
        },
        "end": {
          "line": 94,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{period}",
      "start": 2669,
      "end": 2679,
      "loc": {
        "start": {
          "line": 95,
          "column": 6
        },
        "end": {
          "line": 95,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2679,
      "end": 2680,
      "loc": {
        "start": {
          "line": 95,
          "column": 16
        },
        "end": {
          "line": 95,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": ".",
      "start": 2681,
      "end": 2684,
      "loc": {
        "start": {
          "line": 95,
          "column": 18
        },
        "end": {
          "line": 95,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2684,
      "end": 2685,
      "loc": {
        "start": {
          "line": 95,
          "column": 21
        },
        "end": {
          "line": 95,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpaddecimal}",
      "start": 2693,
      "end": 2710,
      "loc": {
        "start": {
          "line": 96,
          "column": 6
        },
        "end": {
          "line": 96,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2710,
      "end": 2711,
      "loc": {
        "start": {
          "line": 96,
          "column": 23
        },
        "end": {
          "line": 96,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": ".",
      "start": 2712,
      "end": 2715,
      "loc": {
        "start": {
          "line": 96,
          "column": 25
        },
        "end": {
          "line": 96,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2715,
      "end": 2716,
      "loc": {
        "start": {
          "line": 96,
          "column": 28
        },
        "end": {
          "line": 96,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpad0}",
      "start": 2724,
      "end": 2735,
      "loc": {
        "start": {
          "line": 97,
          "column": 6
        },
        "end": {
          "line": 97,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2735,
      "end": 2736,
      "loc": {
        "start": {
          "line": 97,
          "column": 17
        },
        "end": {
          "line": 97,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "0",
      "start": 2737,
      "end": 2740,
      "loc": {
        "start": {
          "line": 97,
          "column": 19
        },
        "end": {
          "line": 97,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2740,
      "end": 2741,
      "loc": {
        "start": {
          "line": 97,
          "column": 22
        },
        "end": {
          "line": 97,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpad1}",
      "start": 2749,
      "end": 2760,
      "loc": {
        "start": {
          "line": 98,
          "column": 6
        },
        "end": {
          "line": 98,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2760,
      "end": 2761,
      "loc": {
        "start": {
          "line": 98,
          "column": 17
        },
        "end": {
          "line": 98,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "1",
      "start": 2762,
      "end": 2765,
      "loc": {
        "start": {
          "line": 98,
          "column": 19
        },
        "end": {
          "line": 98,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2765,
      "end": 2766,
      "loc": {
        "start": {
          "line": 98,
          "column": 22
        },
        "end": {
          "line": 98,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpad2}",
      "start": 2774,
      "end": 2785,
      "loc": {
        "start": {
          "line": 99,
          "column": 6
        },
        "end": {
          "line": 99,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2785,
      "end": 2786,
      "loc": {
        "start": {
          "line": 99,
          "column": 17
        },
        "end": {
          "line": 99,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "2",
      "start": 2787,
      "end": 2790,
      "loc": {
        "start": {
          "line": 99,
          "column": 19
        },
        "end": {
          "line": 99,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2790,
      "end": 2791,
      "loc": {
        "start": {
          "line": 99,
          "column": 22
        },
        "end": {
          "line": 99,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpad3}",
      "start": 2799,
      "end": 2810,
      "loc": {
        "start": {
          "line": 100,
          "column": 6
        },
        "end": {
          "line": 100,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2810,
      "end": 2811,
      "loc": {
        "start": {
          "line": 100,
          "column": 17
        },
        "end": {
          "line": 100,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "3",
      "start": 2812,
      "end": 2815,
      "loc": {
        "start": {
          "line": 100,
          "column": 19
        },
        "end": {
          "line": 100,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2815,
      "end": 2816,
      "loc": {
        "start": {
          "line": 100,
          "column": 22
        },
        "end": {
          "line": 100,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpad4}",
      "start": 2824,
      "end": 2835,
      "loc": {
        "start": {
          "line": 101,
          "column": 6
        },
        "end": {
          "line": 101,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2835,
      "end": 2836,
      "loc": {
        "start": {
          "line": 101,
          "column": 17
        },
        "end": {
          "line": 101,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "4",
      "start": 2837,
      "end": 2840,
      "loc": {
        "start": {
          "line": 101,
          "column": 19
        },
        "end": {
          "line": 101,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2840,
      "end": 2841,
      "loc": {
        "start": {
          "line": 101,
          "column": 22
        },
        "end": {
          "line": 101,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpad5}",
      "start": 2849,
      "end": 2860,
      "loc": {
        "start": {
          "line": 102,
          "column": 6
        },
        "end": {
          "line": 102,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2860,
      "end": 2861,
      "loc": {
        "start": {
          "line": 102,
          "column": 17
        },
        "end": {
          "line": 102,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "5",
      "start": 2862,
      "end": 2865,
      "loc": {
        "start": {
          "line": 102,
          "column": 19
        },
        "end": {
          "line": 102,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2865,
      "end": 2866,
      "loc": {
        "start": {
          "line": 102,
          "column": 22
        },
        "end": {
          "line": 102,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpad6}",
      "start": 2874,
      "end": 2885,
      "loc": {
        "start": {
          "line": 103,
          "column": 6
        },
        "end": {
          "line": 103,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2885,
      "end": 2886,
      "loc": {
        "start": {
          "line": 103,
          "column": 17
        },
        "end": {
          "line": 103,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "6",
      "start": 2887,
      "end": 2890,
      "loc": {
        "start": {
          "line": 103,
          "column": 19
        },
        "end": {
          "line": 103,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2890,
      "end": 2891,
      "loc": {
        "start": {
          "line": 103,
          "column": 22
        },
        "end": {
          "line": 103,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpad7}",
      "start": 2899,
      "end": 2910,
      "loc": {
        "start": {
          "line": 104,
          "column": 6
        },
        "end": {
          "line": 104,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2910,
      "end": 2911,
      "loc": {
        "start": {
          "line": 104,
          "column": 17
        },
        "end": {
          "line": 104,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "7",
      "start": 2912,
      "end": 2915,
      "loc": {
        "start": {
          "line": 104,
          "column": 19
        },
        "end": {
          "line": 104,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2915,
      "end": 2916,
      "loc": {
        "start": {
          "line": 104,
          "column": 22
        },
        "end": {
          "line": 104,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpad8}",
      "start": 2924,
      "end": 2935,
      "loc": {
        "start": {
          "line": 105,
          "column": 6
        },
        "end": {
          "line": 105,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2935,
      "end": 2936,
      "loc": {
        "start": {
          "line": 105,
          "column": 17
        },
        "end": {
          "line": 105,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "8",
      "start": 2937,
      "end": 2940,
      "loc": {
        "start": {
          "line": 105,
          "column": 19
        },
        "end": {
          "line": 105,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2940,
      "end": 2941,
      "loc": {
        "start": {
          "line": 105,
          "column": 22
        },
        "end": {
          "line": 105,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpad9}",
      "start": 2949,
      "end": 2960,
      "loc": {
        "start": {
          "line": 106,
          "column": 6
        },
        "end": {
          "line": 106,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2960,
      "end": 2961,
      "loc": {
        "start": {
          "line": 106,
          "column": 17
        },
        "end": {
          "line": 106,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "9",
      "start": 2962,
      "end": 2965,
      "loc": {
        "start": {
          "line": 106,
          "column": 19
        },
        "end": {
          "line": 106,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2965,
      "end": 2966,
      "loc": {
        "start": {
          "line": 106,
          "column": 22
        },
        "end": {
          "line": 106,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2972,
      "end": 2973,
      "loc": {
        "start": {
          "line": 107,
          "column": 4
        },
        "end": {
          "line": 107,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 2973,
      "end": 2974,
      "loc": {
        "start": {
          "line": 107,
          "column": 5
        },
        "end": {
          "line": 107,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 2978,
      "end": 2979,
      "loc": {
        "start": {
          "line": 108,
          "column": 2
        },
        "end": {
          "line": 108,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Returns the display (label) name for a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @param  {object} display The provided display option\r\n   * @param  {boolean} mergeDisplay Whether the provided param value should be merged with the default one.\r\n   ",
      "start": 2983,
      "end": 3281,
      "loc": {
        "start": {
          "line": 109,
          "column": 2
        },
        "end": {
          "line": 115,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getButtonDisplayName",
      "start": 3285,
      "end": 3305,
      "loc": {
        "start": {
          "line": 116,
          "column": 2
        },
        "end": {
          "line": 116,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3305,
      "end": 3306,
      "loc": {
        "start": {
          "line": 116,
          "column": 22
        },
        "end": {
          "line": 116,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 3306,
      "end": 3312,
      "loc": {
        "start": {
          "line": 116,
          "column": 23
        },
        "end": {
          "line": 116,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3312,
      "end": 3313,
      "loc": {
        "start": {
          "line": 116,
          "column": 29
        },
        "end": {
          "line": 116,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "display",
      "start": 3314,
      "end": 3321,
      "loc": {
        "start": {
          "line": 116,
          "column": 31
        },
        "end": {
          "line": 116,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3321,
      "end": 3322,
      "loc": {
        "start": {
          "line": 116,
          "column": 38
        },
        "end": {
          "line": 116,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "mergeDisplay",
      "start": 3323,
      "end": 3335,
      "loc": {
        "start": {
          "line": 116,
          "column": 40
        },
        "end": {
          "line": 116,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3335,
      "end": 3336,
      "loc": {
        "start": {
          "line": 116,
          "column": 52
        },
        "end": {
          "line": 116,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3336,
      "end": 3337,
      "loc": {
        "start": {
          "line": 116,
          "column": 53
        },
        "end": {
          "line": 116,
          "column": 54
        }
      }
    },
    {
      "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": 3343,
      "end": 3345,
      "loc": {
        "start": {
          "line": 117,
          "column": 4
        },
        "end": {
          "line": 117,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3345,
      "end": 3346,
      "loc": {
        "start": {
          "line": 117,
          "column": 6
        },
        "end": {
          "line": 117,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "mergeDisplay",
      "start": 3346,
      "end": 3358,
      "loc": {
        "start": {
          "line": 117,
          "column": 7
        },
        "end": {
          "line": 117,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3358,
      "end": 3359,
      "loc": {
        "start": {
          "line": 117,
          "column": 19
        },
        "end": {
          "line": 117,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3359,
      "end": 3360,
      "loc": {
        "start": {
          "line": 117,
          "column": 20
        },
        "end": {
          "line": 117,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "display",
      "start": 3368,
      "end": 3375,
      "loc": {
        "start": {
          "line": 118,
          "column": 6
        },
        "end": {
          "line": 118,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3376,
      "end": 3377,
      "loc": {
        "start": {
          "line": 118,
          "column": 14
        },
        "end": {
          "line": 118,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Object",
      "start": 3378,
      "end": 3384,
      "loc": {
        "start": {
          "line": 118,
          "column": 16
        },
        "end": {
          "line": 118,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3384,
      "end": 3385,
      "loc": {
        "start": {
          "line": 118,
          "column": 22
        },
        "end": {
          "line": 118,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "assign",
      "start": 3385,
      "end": 3391,
      "loc": {
        "start": {
          "line": 118,
          "column": 23
        },
        "end": {
          "line": 118,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3391,
      "end": 3392,
      "loc": {
        "start": {
          "line": 118,
          "column": 29
        },
        "end": {
          "line": 118,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3392,
      "end": 3393,
      "loc": {
        "start": {
          "line": 118,
          "column": 30
        },
        "end": {
          "line": 118,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3393,
      "end": 3394,
      "loc": {
        "start": {
          "line": 118,
          "column": 31
        },
        "end": {
          "line": 118,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3394,
      "end": 3395,
      "loc": {
        "start": {
          "line": 118,
          "column": 32
        },
        "end": {
          "line": 118,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3396,
      "end": 3400,
      "loc": {
        "start": {
          "line": 118,
          "column": 34
        },
        "end": {
          "line": 118,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3400,
      "end": 3401,
      "loc": {
        "start": {
          "line": 118,
          "column": 38
        },
        "end": {
          "line": 118,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getDefaultDiplay",
      "start": 3401,
      "end": 3417,
      "loc": {
        "start": {
          "line": 118,
          "column": 39
        },
        "end": {
          "line": 118,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3417,
      "end": 3418,
      "loc": {
        "start": {
          "line": 118,
          "column": 55
        },
        "end": {
          "line": 118,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3418,
      "end": 3419,
      "loc": {
        "start": {
          "line": 118,
          "column": 56
        },
        "end": {
          "line": 118,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3419,
      "end": 3420,
      "loc": {
        "start": {
          "line": 118,
          "column": 57
        },
        "end": {
          "line": 118,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "display",
      "start": 3421,
      "end": 3428,
      "loc": {
        "start": {
          "line": 118,
          "column": 59
        },
        "end": {
          "line": 118,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3428,
      "end": 3429,
      "loc": {
        "start": {
          "line": 118,
          "column": 66
        },
        "end": {
          "line": 118,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3429,
      "end": 3430,
      "loc": {
        "start": {
          "line": 118,
          "column": 67
        },
        "end": {
          "line": 118,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3436,
      "end": 3437,
      "loc": {
        "start": {
          "line": 119,
          "column": 4
        },
        "end": {
          "line": 119,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 3438,
      "end": 3442,
      "loc": {
        "start": {
          "line": 119,
          "column": 6
        },
        "end": {
          "line": 119,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3443,
      "end": 3444,
      "loc": {
        "start": {
          "line": 119,
          "column": 11
        },
        "end": {
          "line": 119,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "display",
      "start": 3452,
      "end": 3459,
      "loc": {
        "start": {
          "line": 120,
          "column": 6
        },
        "end": {
          "line": 120,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 3460,
      "end": 3461,
      "loc": {
        "start": {
          "line": 120,
          "column": 14
        },
        "end": {
          "line": 120,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "display",
      "start": 3462,
      "end": 3469,
      "loc": {
        "start": {
          "line": 120,
          "column": 16
        },
        "end": {
          "line": 120,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 3470,
      "end": 3472,
      "loc": {
        "start": {
          "line": 120,
          "column": 24
        },
        "end": {
          "line": 120,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 3473,
      "end": 3477,
      "loc": {
        "start": {
          "line": 120,
          "column": 27
        },
        "end": {
          "line": 120,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3477,
      "end": 3478,
      "loc": {
        "start": {
          "line": 120,
          "column": 31
        },
        "end": {
          "line": 120,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getDefaultDiplay",
      "start": 3478,
      "end": 3494,
      "loc": {
        "start": {
          "line": 120,
          "column": 32
        },
        "end": {
          "line": 120,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3494,
      "end": 3495,
      "loc": {
        "start": {
          "line": 120,
          "column": 48
        },
        "end": {
          "line": 120,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3495,
      "end": 3496,
      "loc": {
        "start": {
          "line": 120,
          "column": 49
        },
        "end": {
          "line": 120,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3496,
      "end": 3497,
      "loc": {
        "start": {
          "line": 120,
          "column": 50
        },
        "end": {
          "line": 120,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3503,
      "end": 3504,
      "loc": {
        "start": {
          "line": 121,
          "column": 4
        },
        "end": {
          "line": 121,
          "column": 5
        }
      }
    },
    {
      "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": 3512,
      "end": 3518,
      "loc": {
        "start": {
          "line": 123,
          "column": 4
        },
        "end": {
          "line": 123,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "display",
      "start": 3519,
      "end": 3526,
      "loc": {
        "start": {
          "line": 123,
          "column": 11
        },
        "end": {
          "line": 123,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3526,
      "end": 3527,
      "loc": {
        "start": {
          "line": 123,
          "column": 18
        },
        "end": {
          "line": 123,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 3527,
      "end": 3533,
      "loc": {
        "start": {
          "line": 123,
          "column": 19
        },
        "end": {
          "line": 123,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3533,
      "end": 3534,
      "loc": {
        "start": {
          "line": 123,
          "column": 25
        },
        "end": {
          "line": 123,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 3535,
      "end": 3537,
      "loc": {
        "start": {
          "line": 123,
          "column": 27
        },
        "end": {
          "line": 123,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 3538,
      "end": 3544,
      "loc": {
        "start": {
          "line": 123,
          "column": 30
        },
        "end": {
          "line": 123,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3544,
      "end": 3545,
      "loc": {
        "start": {
          "line": 123,
          "column": 36
        },
        "end": {
          "line": 123,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3549,
      "end": 3550,
      "loc": {
        "start": {
          "line": 124,
          "column": 2
        },
        "end": {
          "line": 124,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Returns the updated input resulting from clicking a given button\r\n   * \r\n   * @param  {string} button The button's layout name\r\n   * @param  {string} input The input string\r\n   * @param  {object} options The simple-keyboard options object\r\n   * @param  {number} caretPos The cursor's current position\r\n   * @param  {boolean} moveCaret Whether to update simple-keyboard's cursor\r\n   ",
      "start": 3560,
      "end": 3954,
      "loc": {
        "start": {
          "line": 127,
          "column": 2
        },
        "end": {
          "line": 135,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "getUpdatedInput",
      "start": 3958,
      "end": 3973,
      "loc": {
        "start": {
          "line": 136,
          "column": 2
        },
        "end": {
          "line": 136,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 3973,
      "end": 3974,
      "loc": {
        "start": {
          "line": 136,
          "column": 17
        },
        "end": {
          "line": 136,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 3974,
      "end": 3980,
      "loc": {
        "start": {
          "line": 136,
          "column": 18
        },
        "end": {
          "line": 136,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3980,
      "end": 3981,
      "loc": {
        "start": {
          "line": 136,
          "column": 24
        },
        "end": {
          "line": 136,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "input",
      "start": 3982,
      "end": 3987,
      "loc": {
        "start": {
          "line": 136,
          "column": 26
        },
        "end": {
          "line": 136,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3987,
      "end": 3988,
      "loc": {
        "start": {
          "line": 136,
          "column": 31
        },
        "end": {
          "line": 136,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 3989,
      "end": 3996,
      "loc": {
        "start": {
          "line": 136,
          "column": 33
        },
        "end": {
          "line": 136,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 3996,
      "end": 3997,
      "loc": {
        "start": {
          "line": 136,
          "column": 40
        },
        "end": {
          "line": 136,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPos",
      "start": 3998,
      "end": 4006,
      "loc": {
        "start": {
          "line": 136,
          "column": 42
        },
        "end": {
          "line": 136,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4006,
      "end": 4007,
      "loc": {
        "start": {
          "line": 136,
          "column": 50
        },
        "end": {
          "line": 136,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "moveCaret",
      "start": 4008,
      "end": 4017,
      "loc": {
        "start": {
          "line": 136,
          "column": 52
        },
        "end": {
          "line": 136,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4017,
      "end": 4018,
      "loc": {
        "start": {
          "line": 136,
          "column": 61
        },
        "end": {
          "line": 136,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4018,
      "end": 4019,
      "loc": {
        "start": {
          "line": 136,
          "column": 62
        },
        "end": {
          "line": 136,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 4031,
      "end": 4034,
      "loc": {
        "start": {
          "line": 138,
          "column": 4
        },
        "end": {
          "line": 138,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 4035,
      "end": 4041,
      "loc": {
        "start": {
          "line": 138,
          "column": 8
        },
        "end": {
          "line": 138,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4042,
      "end": 4043,
      "loc": {
        "start": {
          "line": 138,
          "column": 15
        },
        "end": {
          "line": 138,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "input",
      "start": 4044,
      "end": 4049,
      "loc": {
        "start": {
          "line": 138,
          "column": 17
        },
        "end": {
          "line": 138,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4049,
      "end": 4050,
      "loc": {
        "start": {
          "line": 138,
          "column": 22
        },
        "end": {
          "line": 138,
          "column": 23
        }
      }
    },
    {
      "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": 4058,
      "end": 4060,
      "loc": {
        "start": {
          "line": 140,
          "column": 4
        },
        "end": {
          "line": 140,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4060,
      "end": 4061,
      "loc": {
        "start": {
          "line": 140,
          "column": 6
        },
        "end": {
          "line": 140,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4061,
      "end": 4062,
      "loc": {
        "start": {
          "line": 140,
          "column": 7
        },
        "end": {
          "line": 140,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 4062,
      "end": 4068,
      "loc": {
        "start": {
          "line": 140,
          "column": 8
        },
        "end": {
          "line": 140,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 4069,
      "end": 4072,
      "loc": {
        "start": {
          "line": 140,
          "column": 15
        },
        "end": {
          "line": 140,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{bksp}",
      "start": 4073,
      "end": 4081,
      "loc": {
        "start": {
          "line": 140,
          "column": 19
        },
        "end": {
          "line": 140,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 4082,
      "end": 4084,
      "loc": {
        "start": {
          "line": 140,
          "column": 28
        },
        "end": {
          "line": 140,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 4085,
      "end": 4091,
      "loc": {
        "start": {
          "line": 140,
          "column": 31
        },
        "end": {
          "line": 140,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 4092,
      "end": 4095,
      "loc": {
        "start": {
          "line": 140,
          "column": 38
        },
        "end": {
          "line": 140,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{backspace}",
      "start": 4096,
      "end": 4109,
      "loc": {
        "start": {
          "line": 140,
          "column": 42
        },
        "end": {
          "line": 140,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4109,
      "end": 4110,
      "loc": {
        "start": {
          "line": 140,
          "column": 55
        },
        "end": {
          "line": 140,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 4111,
      "end": 4113,
      "loc": {
        "start": {
          "line": 140,
          "column": 57
        },
        "end": {
          "line": 140,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 4114,
      "end": 4120,
      "loc": {
        "start": {
          "line": 140,
          "column": 60
        },
        "end": {
          "line": 140,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4120,
      "end": 4121,
      "loc": {
        "start": {
          "line": 140,
          "column": 66
        },
        "end": {
          "line": 140,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 4121,
      "end": 4127,
      "loc": {
        "start": {
          "line": 140,
          "column": 67
        },
        "end": {
          "line": 140,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": ">",
      "start": 4128,
      "end": 4129,
      "loc": {
        "start": {
          "line": 140,
          "column": 74
        },
        "end": {
          "line": 140,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 4130,
      "end": 4131,
      "loc": {
        "start": {
          "line": 140,
          "column": 76
        },
        "end": {
          "line": 140,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4131,
      "end": 4132,
      "loc": {
        "start": {
          "line": 140,
          "column": 77
        },
        "end": {
          "line": 140,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4132,
      "end": 4133,
      "loc": {
        "start": {
          "line": 140,
          "column": 78
        },
        "end": {
          "line": 140,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 4141,
      "end": 4147,
      "loc": {
        "start": {
          "line": 141,
          "column": 6
        },
        "end": {
          "line": 141,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4148,
      "end": 4149,
      "loc": {
        "start": {
          "line": 141,
          "column": 13
        },
        "end": {
          "line": 141,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4150,
      "end": 4154,
      "loc": {
        "start": {
          "line": 141,
          "column": 15
        },
        "end": {
          "line": 141,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4154,
      "end": 4155,
      "loc": {
        "start": {
          "line": 141,
          "column": 19
        },
        "end": {
          "line": 141,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "removeAt",
      "start": 4155,
      "end": 4163,
      "loc": {
        "start": {
          "line": 141,
          "column": 20
        },
        "end": {
          "line": 141,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4163,
      "end": 4164,
      "loc": {
        "start": {
          "line": 141,
          "column": 28
        },
        "end": {
          "line": 141,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 4164,
      "end": 4170,
      "loc": {
        "start": {
          "line": 141,
          "column": 29
        },
        "end": {
          "line": 141,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4170,
      "end": 4171,
      "loc": {
        "start": {
          "line": 141,
          "column": 35
        },
        "end": {
          "line": 141,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPos",
      "start": 4172,
      "end": 4180,
      "loc": {
        "start": {
          "line": 141,
          "column": 37
        },
        "end": {
          "line": 141,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4180,
      "end": 4181,
      "loc": {
        "start": {
          "line": 141,
          "column": 45
        },
        "end": {
          "line": 141,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "moveCaret",
      "start": 4182,
      "end": 4191,
      "loc": {
        "start": {
          "line": 141,
          "column": 47
        },
        "end": {
          "line": 141,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4191,
      "end": 4192,
      "loc": {
        "start": {
          "line": 141,
          "column": 56
        },
        "end": {
          "line": 141,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4192,
      "end": 4193,
      "loc": {
        "start": {
          "line": 141,
          "column": 57
        },
        "end": {
          "line": 141,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4201,
      "end": 4202,
      "loc": {
        "start": {
          "line": 143,
          "column": 4
        },
        "end": {
          "line": 143,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 4203,
      "end": 4207,
      "loc": {
        "start": {
          "line": 143,
          "column": 6
        },
        "end": {
          "line": 143,
          "column": 10
        }
      }
    },
    {
      "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": 4208,
      "end": 4210,
      "loc": {
        "start": {
          "line": 143,
          "column": 11
        },
        "end": {
          "line": 143,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4210,
      "end": 4211,
      "loc": {
        "start": {
          "line": 143,
          "column": 13
        },
        "end": {
          "line": 143,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 4211,
      "end": 4217,
      "loc": {
        "start": {
          "line": 143,
          "column": 14
        },
        "end": {
          "line": 143,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 4218,
      "end": 4221,
      "loc": {
        "start": {
          "line": 143,
          "column": 21
        },
        "end": {
          "line": 143,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{space}",
      "start": 4222,
      "end": 4231,
      "loc": {
        "start": {
          "line": 143,
          "column": 25
        },
        "end": {
          "line": 143,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4231,
      "end": 4232,
      "loc": {
        "start": {
          "line": 143,
          "column": 34
        },
        "end": {
          "line": 143,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 4240,
      "end": 4246,
      "loc": {
        "start": {
          "line": 144,
          "column": 6
        },
        "end": {
          "line": 144,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4247,
      "end": 4248,
      "loc": {
        "start": {
          "line": 144,
          "column": 13
        },
        "end": {
          "line": 144,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4249,
      "end": 4253,
      "loc": {
        "start": {
          "line": 144,
          "column": 15
        },
        "end": {
          "line": 144,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4253,
      "end": 4254,
      "loc": {
        "start": {
          "line": 144,
          "column": 19
        },
        "end": {
          "line": 144,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addStringAt",
      "start": 4254,
      "end": 4265,
      "loc": {
        "start": {
          "line": 144,
          "column": 20
        },
        "end": {
          "line": 144,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4265,
      "end": 4266,
      "loc": {
        "start": {
          "line": 144,
          "column": 31
        },
        "end": {
          "line": 144,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 4266,
      "end": 4272,
      "loc": {
        "start": {
          "line": 144,
          "column": 32
        },
        "end": {
          "line": 144,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4272,
      "end": 4273,
      "loc": {
        "start": {
          "line": 144,
          "column": 38
        },
        "end": {
          "line": 144,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": " ",
      "start": 4274,
      "end": 4277,
      "loc": {
        "start": {
          "line": 144,
          "column": 40
        },
        "end": {
          "line": 144,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4277,
      "end": 4278,
      "loc": {
        "start": {
          "line": 144,
          "column": 43
        },
        "end": {
          "line": 144,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPos",
      "start": 4279,
      "end": 4287,
      "loc": {
        "start": {
          "line": 144,
          "column": 45
        },
        "end": {
          "line": 144,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4287,
      "end": 4288,
      "loc": {
        "start": {
          "line": 144,
          "column": 53
        },
        "end": {
          "line": 144,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "moveCaret",
      "start": 4289,
      "end": 4298,
      "loc": {
        "start": {
          "line": 144,
          "column": 55
        },
        "end": {
          "line": 144,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4298,
      "end": 4299,
      "loc": {
        "start": {
          "line": 144,
          "column": 64
        },
        "end": {
          "line": 144,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4299,
      "end": 4300,
      "loc": {
        "start": {
          "line": 144,
          "column": 65
        },
        "end": {
          "line": 144,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 4308,
      "end": 4312,
      "loc": {
        "start": {
          "line": 146,
          "column": 4
        },
        "end": {
          "line": 146,
          "column": 8
        }
      }
    },
    {
      "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": 4313,
      "end": 4315,
      "loc": {
        "start": {
          "line": 146,
          "column": 9
        },
        "end": {
          "line": 146,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4315,
      "end": 4316,
      "loc": {
        "start": {
          "line": 146,
          "column": 11
        },
        "end": {
          "line": 146,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 4316,
      "end": 4322,
      "loc": {
        "start": {
          "line": 146,
          "column": 12
        },
        "end": {
          "line": 146,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 4323,
      "end": 4326,
      "loc": {
        "start": {
          "line": 146,
          "column": 19
        },
        "end": {
          "line": 146,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{tab}",
      "start": 4327,
      "end": 4334,
      "loc": {
        "start": {
          "line": 146,
          "column": 23
        },
        "end": {
          "line": 146,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 4335,
      "end": 4337,
      "loc": {
        "start": {
          "line": 146,
          "column": 31
        },
        "end": {
          "line": 146,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 4338,
      "end": 4339,
      "loc": {
        "start": {
          "line": 146,
          "column": 34
        },
        "end": {
          "line": 146,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4339,
      "end": 4340,
      "loc": {
        "start": {
          "line": 146,
          "column": 35
        },
        "end": {
          "line": 146,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "typeof",
        "keyword": "typeof",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "typeof",
      "start": 4340,
      "end": 4346,
      "loc": {
        "start": {
          "line": 146,
          "column": 36
        },
        "end": {
          "line": 146,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 4347,
      "end": 4354,
      "loc": {
        "start": {
          "line": 146,
          "column": 43
        },
        "end": {
          "line": 146,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4354,
      "end": 4355,
      "loc": {
        "start": {
          "line": 146,
          "column": 50
        },
        "end": {
          "line": 146,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tabCharOnTab",
      "start": 4355,
      "end": 4367,
      "loc": {
        "start": {
          "line": 146,
          "column": 51
        },
        "end": {
          "line": 146,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 4368,
      "end": 4371,
      "loc": {
        "start": {
          "line": 146,
          "column": 64
        },
        "end": {
          "line": 146,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "boolean",
      "start": 4372,
      "end": 4381,
      "loc": {
        "start": {
          "line": 146,
          "column": 68
        },
        "end": {
          "line": 146,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 4382,
      "end": 4384,
      "loc": {
        "start": {
          "line": 146,
          "column": 78
        },
        "end": {
          "line": 146,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 4385,
      "end": 4392,
      "loc": {
        "start": {
          "line": 146,
          "column": 81
        },
        "end": {
          "line": 146,
          "column": 88
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4392,
      "end": 4393,
      "loc": {
        "start": {
          "line": 146,
          "column": 88
        },
        "end": {
          "line": 146,
          "column": 89
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "tabCharOnTab",
      "start": 4393,
      "end": 4405,
      "loc": {
        "start": {
          "line": 146,
          "column": 89
        },
        "end": {
          "line": 146,
          "column": 101
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 4406,
      "end": 4409,
      "loc": {
        "start": {
          "line": 146,
          "column": 102
        },
        "end": {
          "line": 146,
          "column": 105
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 4410,
      "end": 4415,
      "loc": {
        "start": {
          "line": 146,
          "column": 106
        },
        "end": {
          "line": 146,
          "column": 111
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4415,
      "end": 4416,
      "loc": {
        "start": {
          "line": 146,
          "column": 111
        },
        "end": {
          "line": 146,
          "column": 112
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4416,
      "end": 4417,
      "loc": {
        "start": {
          "line": 146,
          "column": 112
        },
        "end": {
          "line": 146,
          "column": 113
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4417,
      "end": 4418,
      "loc": {
        "start": {
          "line": 146,
          "column": 113
        },
        "end": {
          "line": 146,
          "column": 114
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 4426,
      "end": 4432,
      "loc": {
        "start": {
          "line": 147,
          "column": 6
        },
        "end": {
          "line": 147,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4433,
      "end": 4434,
      "loc": {
        "start": {
          "line": 147,
          "column": 13
        },
        "end": {
          "line": 147,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4435,
      "end": 4439,
      "loc": {
        "start": {
          "line": 147,
          "column": 15
        },
        "end": {
          "line": 147,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4439,
      "end": 4440,
      "loc": {
        "start": {
          "line": 147,
          "column": 19
        },
        "end": {
          "line": 147,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addStringAt",
      "start": 4440,
      "end": 4451,
      "loc": {
        "start": {
          "line": 147,
          "column": 20
        },
        "end": {
          "line": 147,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4451,
      "end": 4452,
      "loc": {
        "start": {
          "line": 147,
          "column": 31
        },
        "end": {
          "line": 147,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 4452,
      "end": 4458,
      "loc": {
        "start": {
          "line": 147,
          "column": 32
        },
        "end": {
          "line": 147,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4458,
      "end": 4459,
      "loc": {
        "start": {
          "line": 147,
          "column": 38
        },
        "end": {
          "line": 147,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "\t",
      "start": 4460,
      "end": 4464,
      "loc": {
        "start": {
          "line": 147,
          "column": 40
        },
        "end": {
          "line": 147,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4464,
      "end": 4465,
      "loc": {
        "start": {
          "line": 147,
          "column": 44
        },
        "end": {
          "line": 147,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPos",
      "start": 4466,
      "end": 4474,
      "loc": {
        "start": {
          "line": 147,
          "column": 46
        },
        "end": {
          "line": 147,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4474,
      "end": 4475,
      "loc": {
        "start": {
          "line": 147,
          "column": 54
        },
        "end": {
          "line": 147,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "moveCaret",
      "start": 4476,
      "end": 4485,
      "loc": {
        "start": {
          "line": 147,
          "column": 56
        },
        "end": {
          "line": 147,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4485,
      "end": 4486,
      "loc": {
        "start": {
          "line": 147,
          "column": 65
        },
        "end": {
          "line": 147,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4486,
      "end": 4487,
      "loc": {
        "start": {
          "line": 147,
          "column": 66
        },
        "end": {
          "line": 147,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4495,
      "end": 4496,
      "loc": {
        "start": {
          "line": 149,
          "column": 4
        },
        "end": {
          "line": 149,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 4497,
      "end": 4501,
      "loc": {
        "start": {
          "line": 149,
          "column": 6
        },
        "end": {
          "line": 149,
          "column": 10
        }
      }
    },
    {
      "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": 4502,
      "end": 4504,
      "loc": {
        "start": {
          "line": 149,
          "column": 11
        },
        "end": {
          "line": 149,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4504,
      "end": 4505,
      "loc": {
        "start": {
          "line": 149,
          "column": 13
        },
        "end": {
          "line": 149,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4505,
      "end": 4506,
      "loc": {
        "start": {
          "line": 149,
          "column": 14
        },
        "end": {
          "line": 149,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 4506,
      "end": 4512,
      "loc": {
        "start": {
          "line": 149,
          "column": 15
        },
        "end": {
          "line": 149,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 4513,
      "end": 4516,
      "loc": {
        "start": {
          "line": 149,
          "column": 22
        },
        "end": {
          "line": 149,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{enter}",
      "start": 4517,
      "end": 4526,
      "loc": {
        "start": {
          "line": 149,
          "column": 26
        },
        "end": {
          "line": 149,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 4527,
      "end": 4529,
      "loc": {
        "start": {
          "line": 149,
          "column": 36
        },
        "end": {
          "line": 149,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 4530,
      "end": 4536,
      "loc": {
        "start": {
          "line": 149,
          "column": 39
        },
        "end": {
          "line": 149,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 4537,
      "end": 4540,
      "loc": {
        "start": {
          "line": 149,
          "column": 46
        },
        "end": {
          "line": 149,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpadenter}",
      "start": 4541,
      "end": 4556,
      "loc": {
        "start": {
          "line": 149,
          "column": 50
        },
        "end": {
          "line": 149,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4556,
      "end": 4557,
      "loc": {
        "start": {
          "line": 149,
          "column": 65
        },
        "end": {
          "line": 149,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 4558,
      "end": 4560,
      "loc": {
        "start": {
          "line": 149,
          "column": 67
        },
        "end": {
          "line": 149,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 4561,
      "end": 4568,
      "loc": {
        "start": {
          "line": 149,
          "column": 70
        },
        "end": {
          "line": 149,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4568,
      "end": 4569,
      "loc": {
        "start": {
          "line": 149,
          "column": 77
        },
        "end": {
          "line": 149,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newLineOnEnter",
      "start": 4569,
      "end": 4583,
      "loc": {
        "start": {
          "line": 149,
          "column": 78
        },
        "end": {
          "line": 149,
          "column": 92
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4583,
      "end": 4584,
      "loc": {
        "start": {
          "line": 149,
          "column": 92
        },
        "end": {
          "line": 149,
          "column": 93
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 4592,
      "end": 4598,
      "loc": {
        "start": {
          "line": 150,
          "column": 6
        },
        "end": {
          "line": 150,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4599,
      "end": 4600,
      "loc": {
        "start": {
          "line": 150,
          "column": 13
        },
        "end": {
          "line": 150,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4601,
      "end": 4605,
      "loc": {
        "start": {
          "line": 150,
          "column": 15
        },
        "end": {
          "line": 150,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4605,
      "end": 4606,
      "loc": {
        "start": {
          "line": 150,
          "column": 19
        },
        "end": {
          "line": 150,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addStringAt",
      "start": 4606,
      "end": 4617,
      "loc": {
        "start": {
          "line": 150,
          "column": 20
        },
        "end": {
          "line": 150,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4617,
      "end": 4618,
      "loc": {
        "start": {
          "line": 150,
          "column": 31
        },
        "end": {
          "line": 150,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 4618,
      "end": 4624,
      "loc": {
        "start": {
          "line": 150,
          "column": 32
        },
        "end": {
          "line": 150,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4624,
      "end": 4625,
      "loc": {
        "start": {
          "line": 150,
          "column": 38
        },
        "end": {
          "line": 150,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "\n",
      "start": 4626,
      "end": 4630,
      "loc": {
        "start": {
          "line": 150,
          "column": 40
        },
        "end": {
          "line": 150,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4630,
      "end": 4631,
      "loc": {
        "start": {
          "line": 150,
          "column": 44
        },
        "end": {
          "line": 150,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPos",
      "start": 4632,
      "end": 4640,
      "loc": {
        "start": {
          "line": 150,
          "column": 46
        },
        "end": {
          "line": 150,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4640,
      "end": 4641,
      "loc": {
        "start": {
          "line": 150,
          "column": 54
        },
        "end": {
          "line": 150,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "moveCaret",
      "start": 4642,
      "end": 4651,
      "loc": {
        "start": {
          "line": 150,
          "column": 56
        },
        "end": {
          "line": 150,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4651,
      "end": 4652,
      "loc": {
        "start": {
          "line": 150,
          "column": 65
        },
        "end": {
          "line": 150,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4652,
      "end": 4653,
      "loc": {
        "start": {
          "line": 150,
          "column": 66
        },
        "end": {
          "line": 150,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 4661,
      "end": 4665,
      "loc": {
        "start": {
          "line": 152,
          "column": 4
        },
        "end": {
          "line": 152,
          "column": 8
        }
      }
    },
    {
      "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": 4666,
      "end": 4668,
      "loc": {
        "start": {
          "line": 152,
          "column": 9
        },
        "end": {
          "line": 152,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4668,
      "end": 4669,
      "loc": {
        "start": {
          "line": 152,
          "column": 11
        },
        "end": {
          "line": 152,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 4669,
      "end": 4675,
      "loc": {
        "start": {
          "line": 152,
          "column": 12
        },
        "end": {
          "line": 152,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4675,
      "end": 4676,
      "loc": {
        "start": {
          "line": 152,
          "column": 18
        },
        "end": {
          "line": 152,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "includes",
      "start": 4676,
      "end": 4684,
      "loc": {
        "start": {
          "line": 152,
          "column": 19
        },
        "end": {
          "line": 152,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4684,
      "end": 4685,
      "loc": {
        "start": {
          "line": 152,
          "column": 27
        },
        "end": {
          "line": 152,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "numpad",
      "start": 4685,
      "end": 4693,
      "loc": {
        "start": {
          "line": 152,
          "column": 28
        },
        "end": {
          "line": 152,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4693,
      "end": 4694,
      "loc": {
        "start": {
          "line": 152,
          "column": 36
        },
        "end": {
          "line": 152,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 4695,
      "end": 4697,
      "loc": {
        "start": {
          "line": 152,
          "column": 38
        },
        "end": {
          "line": 152,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Number",
      "start": 4698,
      "end": 4704,
      "loc": {
        "start": {
          "line": 152,
          "column": 41
        },
        "end": {
          "line": 152,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4704,
      "end": 4705,
      "loc": {
        "start": {
          "line": 152,
          "column": 47
        },
        "end": {
          "line": 152,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isInteger",
      "start": 4705,
      "end": 4714,
      "loc": {
        "start": {
          "line": 152,
          "column": 48
        },
        "end": {
          "line": 152,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4714,
      "end": 4715,
      "loc": {
        "start": {
          "line": 152,
          "column": 57
        },
        "end": {
          "line": 152,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Number",
      "start": 4715,
      "end": 4721,
      "loc": {
        "start": {
          "line": 152,
          "column": 58
        },
        "end": {
          "line": 152,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4721,
      "end": 4722,
      "loc": {
        "start": {
          "line": 152,
          "column": 64
        },
        "end": {
          "line": 152,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 4722,
      "end": 4728,
      "loc": {
        "start": {
          "line": 152,
          "column": 65
        },
        "end": {
          "line": 152,
          "column": 71
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4728,
      "end": 4729,
      "loc": {
        "start": {
          "line": 152,
          "column": 71
        },
        "end": {
          "line": 152,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 4729,
      "end": 4735,
      "loc": {
        "start": {
          "line": 152,
          "column": 72
        },
        "end": {
          "line": 152,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4735,
      "end": 4736,
      "loc": {
        "start": {
          "line": 152,
          "column": 78
        },
        "end": {
          "line": 152,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 4736,
      "end": 4742,
      "loc": {
        "start": {
          "line": 152,
          "column": 79
        },
        "end": {
          "line": 152,
          "column": 85
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 4743,
      "end": 4744,
      "loc": {
        "start": {
          "line": 152,
          "column": 86
        },
        "end": {
          "line": 152,
          "column": 87
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 4745,
      "end": 4746,
      "loc": {
        "start": {
          "line": 152,
          "column": 88
        },
        "end": {
          "line": 152,
          "column": 89
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4746,
      "end": 4747,
      "loc": {
        "start": {
          "line": 152,
          "column": 89
        },
        "end": {
          "line": 152,
          "column": 90
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4747,
      "end": 4748,
      "loc": {
        "start": {
          "line": 152,
          "column": 90
        },
        "end": {
          "line": 152,
          "column": 91
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4748,
      "end": 4749,
      "loc": {
        "start": {
          "line": 152,
          "column": 91
        },
        "end": {
          "line": 152,
          "column": 92
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4749,
      "end": 4750,
      "loc": {
        "start": {
          "line": 152,
          "column": 92
        },
        "end": {
          "line": 152,
          "column": 93
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4750,
      "end": 4751,
      "loc": {
        "start": {
          "line": 152,
          "column": 93
        },
        "end": {
          "line": 152,
          "column": 94
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 4759,
      "end": 4765,
      "loc": {
        "start": {
          "line": 153,
          "column": 6
        },
        "end": {
          "line": 153,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4766,
      "end": 4767,
      "loc": {
        "start": {
          "line": 153,
          "column": 13
        },
        "end": {
          "line": 153,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4768,
      "end": 4772,
      "loc": {
        "start": {
          "line": 153,
          "column": 15
        },
        "end": {
          "line": 153,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4772,
      "end": 4773,
      "loc": {
        "start": {
          "line": 153,
          "column": 19
        },
        "end": {
          "line": 153,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addStringAt",
      "start": 4773,
      "end": 4784,
      "loc": {
        "start": {
          "line": 153,
          "column": 20
        },
        "end": {
          "line": 153,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4784,
      "end": 4785,
      "loc": {
        "start": {
          "line": 153,
          "column": 31
        },
        "end": {
          "line": 153,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 4785,
      "end": 4791,
      "loc": {
        "start": {
          "line": 153,
          "column": 32
        },
        "end": {
          "line": 153,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4791,
      "end": 4792,
      "loc": {
        "start": {
          "line": 153,
          "column": 38
        },
        "end": {
          "line": 153,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 4793,
      "end": 4799,
      "loc": {
        "start": {
          "line": 153,
          "column": 40
        },
        "end": {
          "line": 153,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4799,
      "end": 4800,
      "loc": {
        "start": {
          "line": 153,
          "column": 46
        },
        "end": {
          "line": 153,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 4800,
      "end": 4806,
      "loc": {
        "start": {
          "line": 153,
          "column": 47
        },
        "end": {
          "line": 153,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4806,
      "end": 4807,
      "loc": {
        "start": {
          "line": 153,
          "column": 53
        },
        "end": {
          "line": 153,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 4807,
      "end": 4813,
      "loc": {
        "start": {
          "line": 153,
          "column": 54
        },
        "end": {
          "line": 153,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 4814,
      "end": 4815,
      "loc": {
        "start": {
          "line": 153,
          "column": 61
        },
        "end": {
          "line": 153,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 4816,
      "end": 4817,
      "loc": {
        "start": {
          "line": 153,
          "column": 63
        },
        "end": {
          "line": 153,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4817,
      "end": 4818,
      "loc": {
        "start": {
          "line": 153,
          "column": 64
        },
        "end": {
          "line": 153,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4818,
      "end": 4819,
      "loc": {
        "start": {
          "line": 153,
          "column": 65
        },
        "end": {
          "line": 153,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPos",
      "start": 4820,
      "end": 4828,
      "loc": {
        "start": {
          "line": 153,
          "column": 67
        },
        "end": {
          "line": 153,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4828,
      "end": 4829,
      "loc": {
        "start": {
          "line": 153,
          "column": 75
        },
        "end": {
          "line": 153,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4829,
      "end": 4830,
      "loc": {
        "start": {
          "line": 153,
          "column": 76
        },
        "end": {
          "line": 153,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4836,
      "end": 4837,
      "loc": {
        "start": {
          "line": 154,
          "column": 4
        },
        "end": {
          "line": 154,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 4843,
      "end": 4847,
      "loc": {
        "start": {
          "line": 155,
          "column": 4
        },
        "end": {
          "line": 155,
          "column": 8
        }
      }
    },
    {
      "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": 4848,
      "end": 4850,
      "loc": {
        "start": {
          "line": 155,
          "column": 9
        },
        "end": {
          "line": 155,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4850,
      "end": 4851,
      "loc": {
        "start": {
          "line": 155,
          "column": 11
        },
        "end": {
          "line": 155,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 4851,
      "end": 4857,
      "loc": {
        "start": {
          "line": 155,
          "column": 12
        },
        "end": {
          "line": 155,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 4858,
      "end": 4861,
      "loc": {
        "start": {
          "line": 155,
          "column": 19
        },
        "end": {
          "line": 155,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpaddivide}",
      "start": 4862,
      "end": 4878,
      "loc": {
        "start": {
          "line": 155,
          "column": 23
        },
        "end": {
          "line": 155,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4878,
      "end": 4879,
      "loc": {
        "start": {
          "line": 155,
          "column": 39
        },
        "end": {
          "line": 155,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 4887,
      "end": 4893,
      "loc": {
        "start": {
          "line": 156,
          "column": 6
        },
        "end": {
          "line": 156,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 4894,
      "end": 4895,
      "loc": {
        "start": {
          "line": 156,
          "column": 13
        },
        "end": {
          "line": 156,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 4896,
      "end": 4900,
      "loc": {
        "start": {
          "line": 156,
          "column": 15
        },
        "end": {
          "line": 156,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4900,
      "end": 4901,
      "loc": {
        "start": {
          "line": 156,
          "column": 19
        },
        "end": {
          "line": 156,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addStringAt",
      "start": 4901,
      "end": 4912,
      "loc": {
        "start": {
          "line": 156,
          "column": 20
        },
        "end": {
          "line": 156,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4912,
      "end": 4913,
      "loc": {
        "start": {
          "line": 156,
          "column": 31
        },
        "end": {
          "line": 156,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 4913,
      "end": 4919,
      "loc": {
        "start": {
          "line": 156,
          "column": 32
        },
        "end": {
          "line": 156,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4919,
      "end": 4920,
      "loc": {
        "start": {
          "line": 156,
          "column": 38
        },
        "end": {
          "line": 156,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "/",
      "start": 4921,
      "end": 4924,
      "loc": {
        "start": {
          "line": 156,
          "column": 40
        },
        "end": {
          "line": 156,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4924,
      "end": 4925,
      "loc": {
        "start": {
          "line": 156,
          "column": 43
        },
        "end": {
          "line": 156,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPos",
      "start": 4926,
      "end": 4934,
      "loc": {
        "start": {
          "line": 156,
          "column": 45
        },
        "end": {
          "line": 156,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4934,
      "end": 4935,
      "loc": {
        "start": {
          "line": 156,
          "column": 53
        },
        "end": {
          "line": 156,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "moveCaret",
      "start": 4936,
      "end": 4945,
      "loc": {
        "start": {
          "line": 156,
          "column": 55
        },
        "end": {
          "line": 156,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4945,
      "end": 4946,
      "loc": {
        "start": {
          "line": 156,
          "column": 64
        },
        "end": {
          "line": 156,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 4946,
      "end": 4947,
      "loc": {
        "start": {
          "line": 156,
          "column": 65
        },
        "end": {
          "line": 156,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 4955,
      "end": 4959,
      "loc": {
        "start": {
          "line": 158,
          "column": 4
        },
        "end": {
          "line": 158,
          "column": 8
        }
      }
    },
    {
      "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": 4960,
      "end": 4962,
      "loc": {
        "start": {
          "line": 158,
          "column": 9
        },
        "end": {
          "line": 158,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4962,
      "end": 4963,
      "loc": {
        "start": {
          "line": 158,
          "column": 11
        },
        "end": {
          "line": 158,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 4963,
      "end": 4969,
      "loc": {
        "start": {
          "line": 158,
          "column": 12
        },
        "end": {
          "line": 158,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 4970,
      "end": 4973,
      "loc": {
        "start": {
          "line": 158,
          "column": 19
        },
        "end": {
          "line": 158,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpadmultiply}",
      "start": 4974,
      "end": 4992,
      "loc": {
        "start": {
          "line": 158,
          "column": 23
        },
        "end": {
          "line": 158,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 4992,
      "end": 4993,
      "loc": {
        "start": {
          "line": 158,
          "column": 41
        },
        "end": {
          "line": 158,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 5001,
      "end": 5007,
      "loc": {
        "start": {
          "line": 159,
          "column": 6
        },
        "end": {
          "line": 159,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5008,
      "end": 5009,
      "loc": {
        "start": {
          "line": 159,
          "column": 13
        },
        "end": {
          "line": 159,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 5010,
      "end": 5014,
      "loc": {
        "start": {
          "line": 159,
          "column": 15
        },
        "end": {
          "line": 159,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5014,
      "end": 5015,
      "loc": {
        "start": {
          "line": 159,
          "column": 19
        },
        "end": {
          "line": 159,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addStringAt",
      "start": 5015,
      "end": 5026,
      "loc": {
        "start": {
          "line": 159,
          "column": 20
        },
        "end": {
          "line": 159,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5026,
      "end": 5027,
      "loc": {
        "start": {
          "line": 159,
          "column": 31
        },
        "end": {
          "line": 159,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 5027,
      "end": 5033,
      "loc": {
        "start": {
          "line": 159,
          "column": 32
        },
        "end": {
          "line": 159,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5033,
      "end": 5034,
      "loc": {
        "start": {
          "line": 159,
          "column": 38
        },
        "end": {
          "line": 159,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "*",
      "start": 5035,
      "end": 5038,
      "loc": {
        "start": {
          "line": 159,
          "column": 40
        },
        "end": {
          "line": 159,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5038,
      "end": 5039,
      "loc": {
        "start": {
          "line": 159,
          "column": 43
        },
        "end": {
          "line": 159,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPos",
      "start": 5040,
      "end": 5048,
      "loc": {
        "start": {
          "line": 159,
          "column": 45
        },
        "end": {
          "line": 159,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5048,
      "end": 5049,
      "loc": {
        "start": {
          "line": 159,
          "column": 53
        },
        "end": {
          "line": 159,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "moveCaret",
      "start": 5050,
      "end": 5059,
      "loc": {
        "start": {
          "line": 159,
          "column": 55
        },
        "end": {
          "line": 159,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5059,
      "end": 5060,
      "loc": {
        "start": {
          "line": 159,
          "column": 64
        },
        "end": {
          "line": 159,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5060,
      "end": 5061,
      "loc": {
        "start": {
          "line": 159,
          "column": 65
        },
        "end": {
          "line": 159,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 5069,
      "end": 5073,
      "loc": {
        "start": {
          "line": 161,
          "column": 4
        },
        "end": {
          "line": 161,
          "column": 8
        }
      }
    },
    {
      "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": 5074,
      "end": 5076,
      "loc": {
        "start": {
          "line": 161,
          "column": 9
        },
        "end": {
          "line": 161,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5076,
      "end": 5077,
      "loc": {
        "start": {
          "line": 161,
          "column": 11
        },
        "end": {
          "line": 161,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 5077,
      "end": 5083,
      "loc": {
        "start": {
          "line": 161,
          "column": 12
        },
        "end": {
          "line": 161,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 5084,
      "end": 5087,
      "loc": {
        "start": {
          "line": 161,
          "column": 19
        },
        "end": {
          "line": 161,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpadsubtract}",
      "start": 5088,
      "end": 5106,
      "loc": {
        "start": {
          "line": 161,
          "column": 23
        },
        "end": {
          "line": 161,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5106,
      "end": 5107,
      "loc": {
        "start": {
          "line": 161,
          "column": 41
        },
        "end": {
          "line": 161,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 5115,
      "end": 5121,
      "loc": {
        "start": {
          "line": 162,
          "column": 6
        },
        "end": {
          "line": 162,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5122,
      "end": 5123,
      "loc": {
        "start": {
          "line": 162,
          "column": 13
        },
        "end": {
          "line": 162,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 5124,
      "end": 5128,
      "loc": {
        "start": {
          "line": 162,
          "column": 15
        },
        "end": {
          "line": 162,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5128,
      "end": 5129,
      "loc": {
        "start": {
          "line": 162,
          "column": 19
        },
        "end": {
          "line": 162,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addStringAt",
      "start": 5129,
      "end": 5140,
      "loc": {
        "start": {
          "line": 162,
          "column": 20
        },
        "end": {
          "line": 162,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5140,
      "end": 5141,
      "loc": {
        "start": {
          "line": 162,
          "column": 31
        },
        "end": {
          "line": 162,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 5141,
      "end": 5147,
      "loc": {
        "start": {
          "line": 162,
          "column": 32
        },
        "end": {
          "line": 162,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5147,
      "end": 5148,
      "loc": {
        "start": {
          "line": 162,
          "column": 38
        },
        "end": {
          "line": 162,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "-",
      "start": 5149,
      "end": 5152,
      "loc": {
        "start": {
          "line": 162,
          "column": 40
        },
        "end": {
          "line": 162,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5152,
      "end": 5153,
      "loc": {
        "start": {
          "line": 162,
          "column": 43
        },
        "end": {
          "line": 162,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPos",
      "start": 5154,
      "end": 5162,
      "loc": {
        "start": {
          "line": 162,
          "column": 45
        },
        "end": {
          "line": 162,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5162,
      "end": 5163,
      "loc": {
        "start": {
          "line": 162,
          "column": 53
        },
        "end": {
          "line": 162,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "moveCaret",
      "start": 5164,
      "end": 5173,
      "loc": {
        "start": {
          "line": 162,
          "column": 55
        },
        "end": {
          "line": 162,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5173,
      "end": 5174,
      "loc": {
        "start": {
          "line": 162,
          "column": 64
        },
        "end": {
          "line": 162,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5174,
      "end": 5175,
      "loc": {
        "start": {
          "line": 162,
          "column": 65
        },
        "end": {
          "line": 162,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 5183,
      "end": 5187,
      "loc": {
        "start": {
          "line": 164,
          "column": 4
        },
        "end": {
          "line": 164,
          "column": 8
        }
      }
    },
    {
      "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": 5188,
      "end": 5190,
      "loc": {
        "start": {
          "line": 164,
          "column": 9
        },
        "end": {
          "line": 164,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5190,
      "end": 5191,
      "loc": {
        "start": {
          "line": 164,
          "column": 11
        },
        "end": {
          "line": 164,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 5191,
      "end": 5197,
      "loc": {
        "start": {
          "line": 164,
          "column": 12
        },
        "end": {
          "line": 164,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 5198,
      "end": 5201,
      "loc": {
        "start": {
          "line": 164,
          "column": 19
        },
        "end": {
          "line": 164,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpadadd}",
      "start": 5202,
      "end": 5215,
      "loc": {
        "start": {
          "line": 164,
          "column": 23
        },
        "end": {
          "line": 164,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5215,
      "end": 5216,
      "loc": {
        "start": {
          "line": 164,
          "column": 36
        },
        "end": {
          "line": 164,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 5224,
      "end": 5230,
      "loc": {
        "start": {
          "line": 165,
          "column": 6
        },
        "end": {
          "line": 165,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5231,
      "end": 5232,
      "loc": {
        "start": {
          "line": 165,
          "column": 13
        },
        "end": {
          "line": 165,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 5233,
      "end": 5237,
      "loc": {
        "start": {
          "line": 165,
          "column": 15
        },
        "end": {
          "line": 165,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5237,
      "end": 5238,
      "loc": {
        "start": {
          "line": 165,
          "column": 19
        },
        "end": {
          "line": 165,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addStringAt",
      "start": 5238,
      "end": 5249,
      "loc": {
        "start": {
          "line": 165,
          "column": 20
        },
        "end": {
          "line": 165,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5249,
      "end": 5250,
      "loc": {
        "start": {
          "line": 165,
          "column": 31
        },
        "end": {
          "line": 165,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 5250,
      "end": 5256,
      "loc": {
        "start": {
          "line": 165,
          "column": 32
        },
        "end": {
          "line": 165,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5256,
      "end": 5257,
      "loc": {
        "start": {
          "line": 165,
          "column": 38
        },
        "end": {
          "line": 165,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "+",
      "start": 5258,
      "end": 5261,
      "loc": {
        "start": {
          "line": 165,
          "column": 40
        },
        "end": {
          "line": 165,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5261,
      "end": 5262,
      "loc": {
        "start": {
          "line": 165,
          "column": 43
        },
        "end": {
          "line": 165,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPos",
      "start": 5263,
      "end": 5271,
      "loc": {
        "start": {
          "line": 165,
          "column": 45
        },
        "end": {
          "line": 165,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5271,
      "end": 5272,
      "loc": {
        "start": {
          "line": 165,
          "column": 53
        },
        "end": {
          "line": 165,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "moveCaret",
      "start": 5273,
      "end": 5282,
      "loc": {
        "start": {
          "line": 165,
          "column": 55
        },
        "end": {
          "line": 165,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5282,
      "end": 5283,
      "loc": {
        "start": {
          "line": 165,
          "column": 64
        },
        "end": {
          "line": 165,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5283,
      "end": 5284,
      "loc": {
        "start": {
          "line": 165,
          "column": 65
        },
        "end": {
          "line": 165,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 5292,
      "end": 5296,
      "loc": {
        "start": {
          "line": 167,
          "column": 4
        },
        "end": {
          "line": 167,
          "column": 8
        }
      }
    },
    {
      "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": 5297,
      "end": 5299,
      "loc": {
        "start": {
          "line": 167,
          "column": 9
        },
        "end": {
          "line": 167,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5299,
      "end": 5300,
      "loc": {
        "start": {
          "line": 167,
          "column": 11
        },
        "end": {
          "line": 167,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 5300,
      "end": 5306,
      "loc": {
        "start": {
          "line": 167,
          "column": 12
        },
        "end": {
          "line": 167,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 5307,
      "end": 5310,
      "loc": {
        "start": {
          "line": 167,
          "column": 19
        },
        "end": {
          "line": 167,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{numpaddecimal}",
      "start": 5311,
      "end": 5328,
      "loc": {
        "start": {
          "line": 167,
          "column": 23
        },
        "end": {
          "line": 167,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5328,
      "end": 5329,
      "loc": {
        "start": {
          "line": 167,
          "column": 40
        },
        "end": {
          "line": 167,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 5337,
      "end": 5343,
      "loc": {
        "start": {
          "line": 168,
          "column": 6
        },
        "end": {
          "line": 168,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5344,
      "end": 5345,
      "loc": {
        "start": {
          "line": 168,
          "column": 13
        },
        "end": {
          "line": 168,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 5346,
      "end": 5350,
      "loc": {
        "start": {
          "line": 168,
          "column": 15
        },
        "end": {
          "line": 168,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5350,
      "end": 5351,
      "loc": {
        "start": {
          "line": 168,
          "column": 19
        },
        "end": {
          "line": 168,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addStringAt",
      "start": 5351,
      "end": 5362,
      "loc": {
        "start": {
          "line": 168,
          "column": 20
        },
        "end": {
          "line": 168,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5362,
      "end": 5363,
      "loc": {
        "start": {
          "line": 168,
          "column": 31
        },
        "end": {
          "line": 168,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 5363,
      "end": 5369,
      "loc": {
        "start": {
          "line": 168,
          "column": 32
        },
        "end": {
          "line": 168,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5369,
      "end": 5370,
      "loc": {
        "start": {
          "line": 168,
          "column": 38
        },
        "end": {
          "line": 168,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": ".",
      "start": 5371,
      "end": 5374,
      "loc": {
        "start": {
          "line": 168,
          "column": 40
        },
        "end": {
          "line": 168,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5374,
      "end": 5375,
      "loc": {
        "start": {
          "line": 168,
          "column": 43
        },
        "end": {
          "line": 168,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPos",
      "start": 5376,
      "end": 5384,
      "loc": {
        "start": {
          "line": 168,
          "column": 45
        },
        "end": {
          "line": 168,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5384,
      "end": 5385,
      "loc": {
        "start": {
          "line": 168,
          "column": 53
        },
        "end": {
          "line": 168,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "moveCaret",
      "start": 5386,
      "end": 5395,
      "loc": {
        "start": {
          "line": 168,
          "column": 55
        },
        "end": {
          "line": 168,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5395,
      "end": 5396,
      "loc": {
        "start": {
          "line": 168,
          "column": 64
        },
        "end": {
          "line": 168,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5396,
      "end": 5397,
      "loc": {
        "start": {
          "line": 168,
          "column": 65
        },
        "end": {
          "line": 168,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 5405,
      "end": 5409,
      "loc": {
        "start": {
          "line": 170,
          "column": 4
        },
        "end": {
          "line": 170,
          "column": 8
        }
      }
    },
    {
      "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": 5410,
      "end": 5412,
      "loc": {
        "start": {
          "line": 170,
          "column": 9
        },
        "end": {
          "line": 170,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5412,
      "end": 5413,
      "loc": {
        "start": {
          "line": 170,
          "column": 11
        },
        "end": {
          "line": 170,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 5413,
      "end": 5419,
      "loc": {
        "start": {
          "line": 170,
          "column": 12
        },
        "end": {
          "line": 170,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 5420,
      "end": 5423,
      "loc": {
        "start": {
          "line": 170,
          "column": 19
        },
        "end": {
          "line": 170,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{",
      "start": 5424,
      "end": 5427,
      "loc": {
        "start": {
          "line": 170,
          "column": 23
        },
        "end": {
          "line": 170,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 5428,
      "end": 5430,
      "loc": {
        "start": {
          "line": 170,
          "column": 27
        },
        "end": {
          "line": 170,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 5431,
      "end": 5437,
      "loc": {
        "start": {
          "line": 170,
          "column": 30
        },
        "end": {
          "line": 170,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 5438,
      "end": 5441,
      "loc": {
        "start": {
          "line": 170,
          "column": 37
        },
        "end": {
          "line": 170,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "}",
      "start": 5442,
      "end": 5445,
      "loc": {
        "start": {
          "line": 170,
          "column": 41
        },
        "end": {
          "line": 170,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5445,
      "end": 5446,
      "loc": {
        "start": {
          "line": 170,
          "column": 44
        },
        "end": {
          "line": 170,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 5454,
      "end": 5460,
      "loc": {
        "start": {
          "line": 171,
          "column": 6
        },
        "end": {
          "line": 171,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5461,
      "end": 5462,
      "loc": {
        "start": {
          "line": 171,
          "column": 13
        },
        "end": {
          "line": 171,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 5463,
      "end": 5467,
      "loc": {
        "start": {
          "line": 171,
          "column": 15
        },
        "end": {
          "line": 171,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5467,
      "end": 5468,
      "loc": {
        "start": {
          "line": 171,
          "column": 19
        },
        "end": {
          "line": 171,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addStringAt",
      "start": 5468,
      "end": 5479,
      "loc": {
        "start": {
          "line": 171,
          "column": 20
        },
        "end": {
          "line": 171,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5479,
      "end": 5480,
      "loc": {
        "start": {
          "line": 171,
          "column": 31
        },
        "end": {
          "line": 171,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 5480,
      "end": 5486,
      "loc": {
        "start": {
          "line": 171,
          "column": 32
        },
        "end": {
          "line": 171,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5486,
      "end": 5487,
      "loc": {
        "start": {
          "line": 171,
          "column": 38
        },
        "end": {
          "line": 171,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 5488,
      "end": 5494,
      "loc": {
        "start": {
          "line": 171,
          "column": 40
        },
        "end": {
          "line": 171,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5494,
      "end": 5495,
      "loc": {
        "start": {
          "line": 171,
          "column": 46
        },
        "end": {
          "line": 171,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPos",
      "start": 5496,
      "end": 5504,
      "loc": {
        "start": {
          "line": 171,
          "column": 48
        },
        "end": {
          "line": 171,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5504,
      "end": 5505,
      "loc": {
        "start": {
          "line": 171,
          "column": 56
        },
        "end": {
          "line": 171,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "moveCaret",
      "start": 5506,
      "end": 5515,
      "loc": {
        "start": {
          "line": 171,
          "column": 58
        },
        "end": {
          "line": 171,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5515,
      "end": 5516,
      "loc": {
        "start": {
          "line": 171,
          "column": 67
        },
        "end": {
          "line": 171,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5516,
      "end": 5517,
      "loc": {
        "start": {
          "line": 171,
          "column": 68
        },
        "end": {
          "line": 171,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 5525,
      "end": 5529,
      "loc": {
        "start": {
          "line": 173,
          "column": 4
        },
        "end": {
          "line": 173,
          "column": 8
        }
      }
    },
    {
      "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": 5530,
      "end": 5532,
      "loc": {
        "start": {
          "line": 173,
          "column": 9
        },
        "end": {
          "line": 173,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5532,
      "end": 5533,
      "loc": {
        "start": {
          "line": 173,
          "column": 11
        },
        "end": {
          "line": 173,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 5533,
      "end": 5534,
      "loc": {
        "start": {
          "line": 173,
          "column": 12
        },
        "end": {
          "line": 173,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 5534,
      "end": 5540,
      "loc": {
        "start": {
          "line": 173,
          "column": 13
        },
        "end": {
          "line": 173,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5540,
      "end": 5541,
      "loc": {
        "start": {
          "line": 173,
          "column": 19
        },
        "end": {
          "line": 173,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "includes",
      "start": 5541,
      "end": 5549,
      "loc": {
        "start": {
          "line": 173,
          "column": 20
        },
        "end": {
          "line": 173,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5549,
      "end": 5550,
      "loc": {
        "start": {
          "line": 173,
          "column": 28
        },
        "end": {
          "line": 173,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{",
      "start": 5550,
      "end": 5553,
      "loc": {
        "start": {
          "line": 173,
          "column": 29
        },
        "end": {
          "line": 173,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5553,
      "end": 5554,
      "loc": {
        "start": {
          "line": 173,
          "column": 32
        },
        "end": {
          "line": 173,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 5555,
      "end": 5557,
      "loc": {
        "start": {
          "line": 173,
          "column": 34
        },
        "end": {
          "line": 173,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 5558,
      "end": 5559,
      "loc": {
        "start": {
          "line": 173,
          "column": 37
        },
        "end": {
          "line": 173,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 5559,
      "end": 5565,
      "loc": {
        "start": {
          "line": 173,
          "column": 38
        },
        "end": {
          "line": 173,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5565,
      "end": 5566,
      "loc": {
        "start": {
          "line": 173,
          "column": 44
        },
        "end": {
          "line": 173,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "includes",
      "start": 5566,
      "end": 5574,
      "loc": {
        "start": {
          "line": 173,
          "column": 45
        },
        "end": {
          "line": 173,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5574,
      "end": 5575,
      "loc": {
        "start": {
          "line": 173,
          "column": 53
        },
        "end": {
          "line": 173,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "}",
      "start": 5575,
      "end": 5578,
      "loc": {
        "start": {
          "line": 173,
          "column": 54
        },
        "end": {
          "line": 173,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5578,
      "end": 5579,
      "loc": {
        "start": {
          "line": 173,
          "column": 57
        },
        "end": {
          "line": 173,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5579,
      "end": 5580,
      "loc": {
        "start": {
          "line": 173,
          "column": 58
        },
        "end": {
          "line": 173,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 5588,
      "end": 5594,
      "loc": {
        "start": {
          "line": 174,
          "column": 6
        },
        "end": {
          "line": 174,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 5595,
      "end": 5596,
      "loc": {
        "start": {
          "line": 174,
          "column": 13
        },
        "end": {
          "line": 174,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 5597,
      "end": 5601,
      "loc": {
        "start": {
          "line": 174,
          "column": 15
        },
        "end": {
          "line": 174,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5601,
      "end": 5602,
      "loc": {
        "start": {
          "line": 174,
          "column": 19
        },
        "end": {
          "line": 174,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addStringAt",
      "start": 5602,
      "end": 5613,
      "loc": {
        "start": {
          "line": 174,
          "column": 20
        },
        "end": {
          "line": 174,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5613,
      "end": 5614,
      "loc": {
        "start": {
          "line": 174,
          "column": 31
        },
        "end": {
          "line": 174,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 5614,
      "end": 5620,
      "loc": {
        "start": {
          "line": 174,
          "column": 32
        },
        "end": {
          "line": 174,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5620,
      "end": 5621,
      "loc": {
        "start": {
          "line": 174,
          "column": 38
        },
        "end": {
          "line": 174,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 5622,
      "end": 5628,
      "loc": {
        "start": {
          "line": 174,
          "column": 40
        },
        "end": {
          "line": 174,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5628,
      "end": 5629,
      "loc": {
        "start": {
          "line": 174,
          "column": 46
        },
        "end": {
          "line": 174,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPos",
      "start": 5630,
      "end": 5638,
      "loc": {
        "start": {
          "line": 174,
          "column": 48
        },
        "end": {
          "line": 174,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5638,
      "end": 5639,
      "loc": {
        "start": {
          "line": 174,
          "column": 56
        },
        "end": {
          "line": 174,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "moveCaret",
      "start": 5640,
      "end": 5649,
      "loc": {
        "start": {
          "line": 174,
          "column": 58
        },
        "end": {
          "line": 174,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5649,
      "end": 5650,
      "loc": {
        "start": {
          "line": 174,
          "column": 67
        },
        "end": {
          "line": 174,
          "column": 68
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5650,
      "end": 5651,
      "loc": {
        "start": {
          "line": 174,
          "column": 68
        },
        "end": {
          "line": 174,
          "column": 69
        }
      }
    },
    {
      "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": 5659,
      "end": 5665,
      "loc": {
        "start": {
          "line": 176,
          "column": 4
        },
        "end": {
          "line": 176,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 5666,
      "end": 5672,
      "loc": {
        "start": {
          "line": 176,
          "column": 11
        },
        "end": {
          "line": 176,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5672,
      "end": 5673,
      "loc": {
        "start": {
          "line": 176,
          "column": 17
        },
        "end": {
          "line": 176,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5677,
      "end": 5678,
      "loc": {
        "start": {
          "line": 177,
          "column": 2
        },
        "end": {
          "line": 177,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Moves the cursor position by a given amount\r\n   * \r\n   * @param  {number} length Represents by how many characters the input should be moved\r\n   * @param  {boolean} minus Whether the cursor should be moved to the left or not.\r\n   ",
      "start": 5684,
      "end": 5926,
      "loc": {
        "start": {
          "line": 179,
          "column": 2
        },
        "end": {
          "line": 184,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "updateCaretPos",
      "start": 5930,
      "end": 5944,
      "loc": {
        "start": {
          "line": 185,
          "column": 2
        },
        "end": {
          "line": 185,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5944,
      "end": 5945,
      "loc": {
        "start": {
          "line": 185,
          "column": 16
        },
        "end": {
          "line": 185,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 5945,
      "end": 5951,
      "loc": {
        "start": {
          "line": 185,
          "column": 17
        },
        "end": {
          "line": 185,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5951,
      "end": 5952,
      "loc": {
        "start": {
          "line": 185,
          "column": 23
        },
        "end": {
          "line": 185,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "minus",
      "start": 5953,
      "end": 5958,
      "loc": {
        "start": {
          "line": 185,
          "column": 25
        },
        "end": {
          "line": 185,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5958,
      "end": 5959,
      "loc": {
        "start": {
          "line": 185,
          "column": 30
        },
        "end": {
          "line": 185,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5959,
      "end": 5960,
      "loc": {
        "start": {
          "line": 185,
          "column": 31
        },
        "end": {
          "line": 185,
          "column": 32
        }
      }
    },
    {
      "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": 5966,
      "end": 5968,
      "loc": {
        "start": {
          "line": 186,
          "column": 4
        },
        "end": {
          "line": 186,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5968,
      "end": 5969,
      "loc": {
        "start": {
          "line": 186,
          "column": 6
        },
        "end": {
          "line": 186,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "minus",
      "start": 5969,
      "end": 5974,
      "loc": {
        "start": {
          "line": 186,
          "column": 7
        },
        "end": {
          "line": 186,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5974,
      "end": 5975,
      "loc": {
        "start": {
          "line": 186,
          "column": 12
        },
        "end": {
          "line": 186,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5975,
      "end": 5976,
      "loc": {
        "start": {
          "line": 186,
          "column": 13
        },
        "end": {
          "line": 186,
          "column": 14
        }
      }
    },
    {
      "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": 5984,
      "end": 5986,
      "loc": {
        "start": {
          "line": 187,
          "column": 6
        },
        "end": {
          "line": 187,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 5986,
      "end": 5987,
      "loc": {
        "start": {
          "line": 187,
          "column": 8
        },
        "end": {
          "line": 187,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 5987,
      "end": 5991,
      "loc": {
        "start": {
          "line": 187,
          "column": 9
        },
        "end": {
          "line": 187,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 5991,
      "end": 5992,
      "loc": {
        "start": {
          "line": 187,
          "column": 13
        },
        "end": {
          "line": 187,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "simpleKeyboardInstance",
      "start": 5992,
      "end": 6014,
      "loc": {
        "start": {
          "line": 187,
          "column": 14
        },
        "end": {
          "line": 187,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6014,
      "end": 6015,
      "loc": {
        "start": {
          "line": 187,
          "column": 36
        },
        "end": {
          "line": 187,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPosition",
      "start": 6015,
      "end": 6028,
      "loc": {
        "start": {
          "line": 187,
          "column": 37
        },
        "end": {
          "line": 187,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": ">",
      "start": 6029,
      "end": 6030,
      "loc": {
        "start": {
          "line": 187,
          "column": 51
        },
        "end": {
          "line": 187,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 6031,
      "end": 6032,
      "loc": {
        "start": {
          "line": 187,
          "column": 53
        },
        "end": {
          "line": 187,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6032,
      "end": 6033,
      "loc": {
        "start": {
          "line": 187,
          "column": 54
        },
        "end": {
          "line": 187,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 6043,
      "end": 6047,
      "loc": {
        "start": {
          "line": 188,
          "column": 8
        },
        "end": {
          "line": 188,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6047,
      "end": 6048,
      "loc": {
        "start": {
          "line": 188,
          "column": 12
        },
        "end": {
          "line": 188,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "simpleKeyboardInstance",
      "start": 6048,
      "end": 6070,
      "loc": {
        "start": {
          "line": 188,
          "column": 13
        },
        "end": {
          "line": 188,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6070,
      "end": 6071,
      "loc": {
        "start": {
          "line": 188,
          "column": 35
        },
        "end": {
          "line": 188,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPosition",
      "start": 6071,
      "end": 6084,
      "loc": {
        "start": {
          "line": 188,
          "column": 36
        },
        "end": {
          "line": 188,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 6085,
      "end": 6086,
      "loc": {
        "start": {
          "line": 188,
          "column": 50
        },
        "end": {
          "line": 188,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 6087,
      "end": 6091,
      "loc": {
        "start": {
          "line": 188,
          "column": 52
        },
        "end": {
          "line": 188,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6091,
      "end": 6092,
      "loc": {
        "start": {
          "line": 188,
          "column": 56
        },
        "end": {
          "line": 188,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "simpleKeyboardInstance",
      "start": 6092,
      "end": 6114,
      "loc": {
        "start": {
          "line": 188,
          "column": 57
        },
        "end": {
          "line": 188,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6114,
      "end": 6115,
      "loc": {
        "start": {
          "line": 188,
          "column": 79
        },
        "end": {
          "line": 188,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPosition",
      "start": 6115,
      "end": 6128,
      "loc": {
        "start": {
          "line": 188,
          "column": 80
        },
        "end": {
          "line": 188,
          "column": 93
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 6129,
      "end": 6130,
      "loc": {
        "start": {
          "line": 188,
          "column": 94
        },
        "end": {
          "line": 188,
          "column": 95
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 6131,
      "end": 6137,
      "loc": {
        "start": {
          "line": 188,
          "column": 96
        },
        "end": {
          "line": 188,
          "column": 102
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6137,
      "end": 6138,
      "loc": {
        "start": {
          "line": 188,
          "column": 102
        },
        "end": {
          "line": 188,
          "column": 103
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6144,
      "end": 6145,
      "loc": {
        "start": {
          "line": 189,
          "column": 4
        },
        "end": {
          "line": 189,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 6146,
      "end": 6150,
      "loc": {
        "start": {
          "line": 189,
          "column": 6
        },
        "end": {
          "line": 189,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6151,
      "end": 6152,
      "loc": {
        "start": {
          "line": 189,
          "column": 11
        },
        "end": {
          "line": 189,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 6160,
      "end": 6164,
      "loc": {
        "start": {
          "line": 190,
          "column": 6
        },
        "end": {
          "line": 190,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6164,
      "end": 6165,
      "loc": {
        "start": {
          "line": 190,
          "column": 10
        },
        "end": {
          "line": 190,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "simpleKeyboardInstance",
      "start": 6165,
      "end": 6187,
      "loc": {
        "start": {
          "line": 190,
          "column": 11
        },
        "end": {
          "line": 190,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6187,
      "end": 6188,
      "loc": {
        "start": {
          "line": 190,
          "column": 33
        },
        "end": {
          "line": 190,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPosition",
      "start": 6188,
      "end": 6201,
      "loc": {
        "start": {
          "line": 190,
          "column": 34
        },
        "end": {
          "line": 190,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 6202,
      "end": 6203,
      "loc": {
        "start": {
          "line": 190,
          "column": 48
        },
        "end": {
          "line": 190,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 6204,
      "end": 6208,
      "loc": {
        "start": {
          "line": 190,
          "column": 50
        },
        "end": {
          "line": 190,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6208,
      "end": 6209,
      "loc": {
        "start": {
          "line": 190,
          "column": 54
        },
        "end": {
          "line": 190,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "simpleKeyboardInstance",
      "start": 6209,
      "end": 6231,
      "loc": {
        "start": {
          "line": 190,
          "column": 55
        },
        "end": {
          "line": 190,
          "column": 77
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6231,
      "end": 6232,
      "loc": {
        "start": {
          "line": 190,
          "column": 77
        },
        "end": {
          "line": 190,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPosition",
      "start": 6232,
      "end": 6245,
      "loc": {
        "start": {
          "line": 190,
          "column": 78
        },
        "end": {
          "line": 190,
          "column": 91
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 6246,
      "end": 6247,
      "loc": {
        "start": {
          "line": 190,
          "column": 92
        },
        "end": {
          "line": 190,
          "column": 93
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 6248,
      "end": 6254,
      "loc": {
        "start": {
          "line": 190,
          "column": 94
        },
        "end": {
          "line": 190,
          "column": 100
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6254,
      "end": 6255,
      "loc": {
        "start": {
          "line": 190,
          "column": 100
        },
        "end": {
          "line": 190,
          "column": 101
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6261,
      "end": 6262,
      "loc": {
        "start": {
          "line": 191,
          "column": 4
        },
        "end": {
          "line": 191,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6266,
      "end": 6267,
      "loc": {
        "start": {
          "line": 192,
          "column": 2
        },
        "end": {
          "line": 192,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Adds a string to the input at a given position\r\n   * \r\n   * @param  {string} source The source input\r\n   * @param  {string} string The string to add\r\n   * @param  {number} position The (cursor) position where the string should be added\r\n   * @param  {boolean} moveCaret Whether to update simple-keyboard's cursor\r\n   ",
      "start": 6273,
      "end": 6602,
      "loc": {
        "start": {
          "line": 194,
          "column": 2
        },
        "end": {
          "line": 201,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addStringAt",
      "start": 6606,
      "end": 6617,
      "loc": {
        "start": {
          "line": 202,
          "column": 2
        },
        "end": {
          "line": 202,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6617,
      "end": 6618,
      "loc": {
        "start": {
          "line": 202,
          "column": 13
        },
        "end": {
          "line": 202,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 6618,
      "end": 6624,
      "loc": {
        "start": {
          "line": 202,
          "column": 14
        },
        "end": {
          "line": 202,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6624,
      "end": 6625,
      "loc": {
        "start": {
          "line": 202,
          "column": 20
        },
        "end": {
          "line": 202,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "string",
      "start": 6626,
      "end": 6632,
      "loc": {
        "start": {
          "line": 202,
          "column": 22
        },
        "end": {
          "line": 202,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6632,
      "end": 6633,
      "loc": {
        "start": {
          "line": 202,
          "column": 28
        },
        "end": {
          "line": 202,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 6634,
      "end": 6642,
      "loc": {
        "start": {
          "line": 202,
          "column": 30
        },
        "end": {
          "line": 202,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6642,
      "end": 6643,
      "loc": {
        "start": {
          "line": 202,
          "column": 38
        },
        "end": {
          "line": 202,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "moveCaret",
      "start": 6644,
      "end": 6653,
      "loc": {
        "start": {
          "line": 202,
          "column": 40
        },
        "end": {
          "line": 202,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6653,
      "end": 6654,
      "loc": {
        "start": {
          "line": 202,
          "column": 49
        },
        "end": {
          "line": 202,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6654,
      "end": 6655,
      "loc": {
        "start": {
          "line": 202,
          "column": 50
        },
        "end": {
          "line": 202,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 6661,
      "end": 6664,
      "loc": {
        "start": {
          "line": 203,
          "column": 4
        },
        "end": {
          "line": 203,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 6665,
      "end": 6671,
      "loc": {
        "start": {
          "line": 203,
          "column": 8
        },
        "end": {
          "line": 203,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6671,
      "end": 6672,
      "loc": {
        "start": {
          "line": 203,
          "column": 14
        },
        "end": {
          "line": 203,
          "column": 15
        }
      }
    },
    {
      "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": 6680,
      "end": 6682,
      "loc": {
        "start": {
          "line": 205,
          "column": 4
        },
        "end": {
          "line": 205,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6682,
      "end": 6683,
      "loc": {
        "start": {
          "line": 205,
          "column": 6
        },
        "end": {
          "line": 205,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 6683,
      "end": 6684,
      "loc": {
        "start": {
          "line": 205,
          "column": 7
        },
        "end": {
          "line": 205,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 6684,
      "end": 6692,
      "loc": {
        "start": {
          "line": 205,
          "column": 8
        },
        "end": {
          "line": 205,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 6693,
      "end": 6695,
      "loc": {
        "start": {
          "line": 205,
          "column": 17
        },
        "end": {
          "line": 205,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 6696,
      "end": 6704,
      "loc": {
        "start": {
          "line": 205,
          "column": 20
        },
        "end": {
          "line": 205,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "!==",
      "start": 6705,
      "end": 6708,
      "loc": {
        "start": {
          "line": 205,
          "column": 29
        },
        "end": {
          "line": 205,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 6709,
      "end": 6710,
      "loc": {
        "start": {
          "line": 205,
          "column": 33
        },
        "end": {
          "line": 205,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6710,
      "end": 6711,
      "loc": {
        "start": {
          "line": 205,
          "column": 34
        },
        "end": {
          "line": 205,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6711,
      "end": 6712,
      "loc": {
        "start": {
          "line": 205,
          "column": 35
        },
        "end": {
          "line": 205,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 6720,
      "end": 6726,
      "loc": {
        "start": {
          "line": 206,
          "column": 6
        },
        "end": {
          "line": 206,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 6727,
      "end": 6728,
      "loc": {
        "start": {
          "line": 206,
          "column": 13
        },
        "end": {
          "line": 206,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 6729,
      "end": 6735,
      "loc": {
        "start": {
          "line": 206,
          "column": 15
        },
        "end": {
          "line": 206,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 6736,
      "end": 6737,
      "loc": {
        "start": {
          "line": 206,
          "column": 22
        },
        "end": {
          "line": 206,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "string",
      "start": 6738,
      "end": 6744,
      "loc": {
        "start": {
          "line": 206,
          "column": 24
        },
        "end": {
          "line": 206,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6744,
      "end": 6745,
      "loc": {
        "start": {
          "line": 206,
          "column": 30
        },
        "end": {
          "line": 206,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6751,
      "end": 6752,
      "loc": {
        "start": {
          "line": 207,
          "column": 4
        },
        "end": {
          "line": 207,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 6753,
      "end": 6757,
      "loc": {
        "start": {
          "line": 207,
          "column": 6
        },
        "end": {
          "line": 207,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6758,
      "end": 6759,
      "loc": {
        "start": {
          "line": 207,
          "column": 11
        },
        "end": {
          "line": 207,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 6767,
      "end": 6773,
      "loc": {
        "start": {
          "line": 208,
          "column": 6
        },
        "end": {
          "line": 208,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 6774,
      "end": 6775,
      "loc": {
        "start": {
          "line": 208,
          "column": 13
        },
        "end": {
          "line": 208,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6776,
      "end": 6777,
      "loc": {
        "start": {
          "line": 208,
          "column": 15
        },
        "end": {
          "line": 208,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 6777,
      "end": 6783,
      "loc": {
        "start": {
          "line": 208,
          "column": 16
        },
        "end": {
          "line": 208,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6783,
      "end": 6784,
      "loc": {
        "start": {
          "line": 208,
          "column": 22
        },
        "end": {
          "line": 208,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "slice",
      "start": 6784,
      "end": 6789,
      "loc": {
        "start": {
          "line": 208,
          "column": 23
        },
        "end": {
          "line": 208,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6789,
      "end": 6790,
      "loc": {
        "start": {
          "line": 208,
          "column": 28
        },
        "end": {
          "line": 208,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 6790,
      "end": 6791,
      "loc": {
        "start": {
          "line": 208,
          "column": 29
        },
        "end": {
          "line": 208,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6791,
      "end": 6792,
      "loc": {
        "start": {
          "line": 208,
          "column": 30
        },
        "end": {
          "line": 208,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 6793,
      "end": 6801,
      "loc": {
        "start": {
          "line": 208,
          "column": 32
        },
        "end": {
          "line": 208,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6801,
      "end": 6802,
      "loc": {
        "start": {
          "line": 208,
          "column": 40
        },
        "end": {
          "line": 208,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6802,
      "end": 6803,
      "loc": {
        "start": {
          "line": 208,
          "column": 41
        },
        "end": {
          "line": 208,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "string",
      "start": 6804,
      "end": 6810,
      "loc": {
        "start": {
          "line": 208,
          "column": 43
        },
        "end": {
          "line": 208,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6810,
      "end": 6811,
      "loc": {
        "start": {
          "line": 208,
          "column": 49
        },
        "end": {
          "line": 208,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 6812,
      "end": 6818,
      "loc": {
        "start": {
          "line": 208,
          "column": 51
        },
        "end": {
          "line": 208,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6818,
      "end": 6819,
      "loc": {
        "start": {
          "line": 208,
          "column": 57
        },
        "end": {
          "line": 208,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "slice",
      "start": 6819,
      "end": 6824,
      "loc": {
        "start": {
          "line": 208,
          "column": 58
        },
        "end": {
          "line": 208,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6824,
      "end": 6825,
      "loc": {
        "start": {
          "line": 208,
          "column": 63
        },
        "end": {
          "line": 208,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 6825,
      "end": 6833,
      "loc": {
        "start": {
          "line": 208,
          "column": 64
        },
        "end": {
          "line": 208,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6833,
      "end": 6834,
      "loc": {
        "start": {
          "line": 208,
          "column": 72
        },
        "end": {
          "line": 208,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6834,
      "end": 6835,
      "loc": {
        "start": {
          "line": 208,
          "column": 73
        },
        "end": {
          "line": 208,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6835,
      "end": 6836,
      "loc": {
        "start": {
          "line": 208,
          "column": 74
        },
        "end": {
          "line": 208,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "join",
      "start": 6836,
      "end": 6840,
      "loc": {
        "start": {
          "line": 208,
          "column": 75
        },
        "end": {
          "line": 208,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6840,
      "end": 6841,
      "loc": {
        "start": {
          "line": 208,
          "column": 79
        },
        "end": {
          "line": 208,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "",
      "start": 6841,
      "end": 6843,
      "loc": {
        "start": {
          "line": 208,
          "column": 80
        },
        "end": {
          "line": 208,
          "column": 82
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6843,
      "end": 6844,
      "loc": {
        "start": {
          "line": 208,
          "column": 82
        },
        "end": {
          "line": 208,
          "column": 83
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6844,
      "end": 6845,
      "loc": {
        "start": {
          "line": 208,
          "column": 83
        },
        "end": {
          "line": 208,
          "column": 84
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n       * Avoid caret position change when maxLength is set\r\n       ",
      "start": 6855,
      "end": 6929,
      "loc": {
        "start": {
          "line": 210,
          "column": 6
        },
        "end": {
          "line": 212,
          "column": 9
        }
      }
    },
    {
      "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": 6937,
      "end": 6939,
      "loc": {
        "start": {
          "line": 213,
          "column": 6
        },
        "end": {
          "line": 213,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6939,
      "end": 6940,
      "loc": {
        "start": {
          "line": 213,
          "column": 8
        },
        "end": {
          "line": 213,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "prefix",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "!",
      "start": 6940,
      "end": 6941,
      "loc": {
        "start": {
          "line": 213,
          "column": 9
        },
        "end": {
          "line": 213,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 6941,
      "end": 6945,
      "loc": {
        "start": {
          "line": 213,
          "column": 10
        },
        "end": {
          "line": 213,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6945,
      "end": 6946,
      "loc": {
        "start": {
          "line": 213,
          "column": 14
        },
        "end": {
          "line": 213,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isMaxLengthReached",
      "start": 6946,
      "end": 6964,
      "loc": {
        "start": {
          "line": 213,
          "column": 15
        },
        "end": {
          "line": 213,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6964,
      "end": 6965,
      "loc": {
        "start": {
          "line": 213,
          "column": 33
        },
        "end": {
          "line": 213,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6965,
      "end": 6966,
      "loc": {
        "start": {
          "line": 213,
          "column": 34
        },
        "end": {
          "line": 213,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6966,
      "end": 6967,
      "loc": {
        "start": {
          "line": 213,
          "column": 35
        },
        "end": {
          "line": 213,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6967,
      "end": 6968,
      "loc": {
        "start": {
          "line": 213,
          "column": 36
        },
        "end": {
          "line": 213,
          "column": 37
        }
      }
    },
    {
      "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": 6978,
      "end": 6980,
      "loc": {
        "start": {
          "line": 214,
          "column": 8
        },
        "end": {
          "line": 214,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6980,
      "end": 6981,
      "loc": {
        "start": {
          "line": 214,
          "column": 10
        },
        "end": {
          "line": 214,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "moveCaret",
      "start": 6981,
      "end": 6990,
      "loc": {
        "start": {
          "line": 214,
          "column": 11
        },
        "end": {
          "line": 214,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 6990,
      "end": 6991,
      "loc": {
        "start": {
          "line": 214,
          "column": 20
        },
        "end": {
          "line": 214,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 6992,
      "end": 6996,
      "loc": {
        "start": {
          "line": 214,
          "column": 22
        },
        "end": {
          "line": 214,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 6996,
      "end": 6997,
      "loc": {
        "start": {
          "line": 214,
          "column": 26
        },
        "end": {
          "line": 214,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "updateCaretPos",
      "start": 6997,
      "end": 7011,
      "loc": {
        "start": {
          "line": 214,
          "column": 27
        },
        "end": {
          "line": 214,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7011,
      "end": 7012,
      "loc": {
        "start": {
          "line": 214,
          "column": 41
        },
        "end": {
          "line": 214,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "string",
      "start": 7012,
      "end": 7018,
      "loc": {
        "start": {
          "line": 214,
          "column": 42
        },
        "end": {
          "line": 214,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7018,
      "end": 7019,
      "loc": {
        "start": {
          "line": 214,
          "column": 48
        },
        "end": {
          "line": 214,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 7019,
      "end": 7025,
      "loc": {
        "start": {
          "line": 214,
          "column": 49
        },
        "end": {
          "line": 214,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7025,
      "end": 7026,
      "loc": {
        "start": {
          "line": 214,
          "column": 55
        },
        "end": {
          "line": 214,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7026,
      "end": 7027,
      "loc": {
        "start": {
          "line": 214,
          "column": 56
        },
        "end": {
          "line": 214,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7035,
      "end": 7036,
      "loc": {
        "start": {
          "line": 215,
          "column": 6
        },
        "end": {
          "line": 215,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7044,
      "end": 7045,
      "loc": {
        "start": {
          "line": 217,
          "column": 4
        },
        "end": {
          "line": 217,
          "column": 5
        }
      }
    },
    {
      "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": 7053,
      "end": 7055,
      "loc": {
        "start": {
          "line": 219,
          "column": 4
        },
        "end": {
          "line": 219,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7055,
      "end": 7056,
      "loc": {
        "start": {
          "line": 219,
          "column": 6
        },
        "end": {
          "line": 219,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 7056,
      "end": 7060,
      "loc": {
        "start": {
          "line": 219,
          "column": 7
        },
        "end": {
          "line": 219,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7060,
      "end": 7061,
      "loc": {
        "start": {
          "line": 219,
          "column": 11
        },
        "end": {
          "line": 219,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "simpleKeyboardInstance",
      "start": 7061,
      "end": 7083,
      "loc": {
        "start": {
          "line": 219,
          "column": 12
        },
        "end": {
          "line": 219,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7083,
      "end": 7084,
      "loc": {
        "start": {
          "line": 219,
          "column": 34
        },
        "end": {
          "line": 219,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 7084,
      "end": 7091,
      "loc": {
        "start": {
          "line": 219,
          "column": 35
        },
        "end": {
          "line": 219,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7091,
      "end": 7092,
      "loc": {
        "start": {
          "line": 219,
          "column": 42
        },
        "end": {
          "line": 219,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "debug",
      "start": 7092,
      "end": 7097,
      "loc": {
        "start": {
          "line": 219,
          "column": 43
        },
        "end": {
          "line": 219,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 7098,
      "end": 7100,
      "loc": {
        "start": {
          "line": 219,
          "column": 49
        },
        "end": {
          "line": 219,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "moveCaret",
      "start": 7101,
      "end": 7110,
      "loc": {
        "start": {
          "line": 219,
          "column": 52
        },
        "end": {
          "line": 219,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7110,
      "end": 7111,
      "loc": {
        "start": {
          "line": 219,
          "column": 61
        },
        "end": {
          "line": 219,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7111,
      "end": 7112,
      "loc": {
        "start": {
          "line": 219,
          "column": 62
        },
        "end": {
          "line": 219,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "console",
      "start": 7120,
      "end": 7127,
      "loc": {
        "start": {
          "line": 220,
          "column": 6
        },
        "end": {
          "line": 220,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7127,
      "end": 7128,
      "loc": {
        "start": {
          "line": 220,
          "column": 13
        },
        "end": {
          "line": 220,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "log",
      "start": 7128,
      "end": 7131,
      "loc": {
        "start": {
          "line": 220,
          "column": 14
        },
        "end": {
          "line": 220,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7131,
      "end": 7132,
      "loc": {
        "start": {
          "line": 220,
          "column": 17
        },
        "end": {
          "line": 220,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Caret at:",
      "start": 7132,
      "end": 7143,
      "loc": {
        "start": {
          "line": 220,
          "column": 18
        },
        "end": {
          "line": 220,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7143,
      "end": 7144,
      "loc": {
        "start": {
          "line": 220,
          "column": 29
        },
        "end": {
          "line": 220,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 7145,
      "end": 7153,
      "loc": {
        "start": {
          "line": 220,
          "column": 31
        },
        "end": {
          "line": 220,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7153,
      "end": 7154,
      "loc": {
        "start": {
          "line": 220,
          "column": 39
        },
        "end": {
          "line": 220,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7154,
      "end": 7155,
      "loc": {
        "start": {
          "line": 220,
          "column": 40
        },
        "end": {
          "line": 220,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7161,
      "end": 7162,
      "loc": {
        "start": {
          "line": 221,
          "column": 4
        },
        "end": {
          "line": 221,
          "column": 5
        }
      }
    },
    {
      "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": 7170,
      "end": 7176,
      "loc": {
        "start": {
          "line": 223,
          "column": 4
        },
        "end": {
          "line": 223,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 7177,
      "end": 7183,
      "loc": {
        "start": {
          "line": 223,
          "column": 11
        },
        "end": {
          "line": 223,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7183,
      "end": 7184,
      "loc": {
        "start": {
          "line": 223,
          "column": 17
        },
        "end": {
          "line": 223,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7188,
      "end": 7189,
      "loc": {
        "start": {
          "line": 224,
          "column": 2
        },
        "end": {
          "line": 224,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Removes an amount of characters at a given position\r\n   * \r\n   * @param  {string} source The source input\r\n   * @param  {number} position The (cursor) position from where the characters should be removed\r\n   * @param  {boolean} moveCaret Whether to update simple-keyboard's cursor\r\n   ",
      "start": 7195,
      "end": 7492,
      "loc": {
        "start": {
          "line": 226,
          "column": 2
        },
        "end": {
          "line": 232,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "removeAt",
      "start": 7496,
      "end": 7504,
      "loc": {
        "start": {
          "line": 233,
          "column": 2
        },
        "end": {
          "line": 233,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7504,
      "end": 7505,
      "loc": {
        "start": {
          "line": 233,
          "column": 10
        },
        "end": {
          "line": 233,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 7505,
      "end": 7511,
      "loc": {
        "start": {
          "line": 233,
          "column": 11
        },
        "end": {
          "line": 233,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7511,
      "end": 7512,
      "loc": {
        "start": {
          "line": 233,
          "column": 17
        },
        "end": {
          "line": 233,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 7513,
      "end": 7521,
      "loc": {
        "start": {
          "line": 233,
          "column": 19
        },
        "end": {
          "line": 233,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7521,
      "end": 7522,
      "loc": {
        "start": {
          "line": 233,
          "column": 27
        },
        "end": {
          "line": 233,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "moveCaret",
      "start": 7523,
      "end": 7532,
      "loc": {
        "start": {
          "line": 233,
          "column": 29
        },
        "end": {
          "line": 233,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7532,
      "end": 7533,
      "loc": {
        "start": {
          "line": 233,
          "column": 38
        },
        "end": {
          "line": 233,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7533,
      "end": 7534,
      "loc": {
        "start": {
          "line": 233,
          "column": 39
        },
        "end": {
          "line": 233,
          "column": 40
        }
      }
    },
    {
      "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": 7540,
      "end": 7542,
      "loc": {
        "start": {
          "line": 234,
          "column": 4
        },
        "end": {
          "line": 234,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7542,
      "end": 7543,
      "loc": {
        "start": {
          "line": 234,
          "column": 6
        },
        "end": {
          "line": 234,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 7543,
      "end": 7547,
      "loc": {
        "start": {
          "line": 234,
          "column": 7
        },
        "end": {
          "line": 234,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7547,
      "end": 7548,
      "loc": {
        "start": {
          "line": 234,
          "column": 11
        },
        "end": {
          "line": 234,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "simpleKeyboardInstance",
      "start": 7548,
      "end": 7570,
      "loc": {
        "start": {
          "line": 234,
          "column": 12
        },
        "end": {
          "line": 234,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7570,
      "end": 7571,
      "loc": {
        "start": {
          "line": 234,
          "column": 34
        },
        "end": {
          "line": 234,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPosition",
      "start": 7571,
      "end": 7584,
      "loc": {
        "start": {
          "line": 234,
          "column": 35
        },
        "end": {
          "line": 234,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 7585,
      "end": 7588,
      "loc": {
        "start": {
          "line": 234,
          "column": 49
        },
        "end": {
          "line": 234,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 7589,
      "end": 7590,
      "loc": {
        "start": {
          "line": 234,
          "column": 53
        },
        "end": {
          "line": 234,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7590,
      "end": 7591,
      "loc": {
        "start": {
          "line": 234,
          "column": 54
        },
        "end": {
          "line": 234,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7591,
      "end": 7592,
      "loc": {
        "start": {
          "line": 234,
          "column": 55
        },
        "end": {
          "line": 234,
          "column": 56
        }
      }
    },
    {
      "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": 7600,
      "end": 7606,
      "loc": {
        "start": {
          "line": 235,
          "column": 6
        },
        "end": {
          "line": 235,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 7607,
      "end": 7613,
      "loc": {
        "start": {
          "line": 235,
          "column": 13
        },
        "end": {
          "line": 235,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7613,
      "end": 7614,
      "loc": {
        "start": {
          "line": 235,
          "column": 19
        },
        "end": {
          "line": 235,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7620,
      "end": 7621,
      "loc": {
        "start": {
          "line": 236,
          "column": 4
        },
        "end": {
          "line": 236,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 7629,
      "end": 7632,
      "loc": {
        "start": {
          "line": 238,
          "column": 4
        },
        "end": {
          "line": 238,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 7633,
      "end": 7639,
      "loc": {
        "start": {
          "line": 238,
          "column": 8
        },
        "end": {
          "line": 238,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7639,
      "end": 7640,
      "loc": {
        "start": {
          "line": 238,
          "column": 14
        },
        "end": {
          "line": 238,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 7646,
      "end": 7649,
      "loc": {
        "start": {
          "line": 239,
          "column": 4
        },
        "end": {
          "line": 239,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prevTwoChars",
      "start": 7650,
      "end": 7662,
      "loc": {
        "start": {
          "line": 239,
          "column": 8
        },
        "end": {
          "line": 239,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7662,
      "end": 7663,
      "loc": {
        "start": {
          "line": 239,
          "column": 20
        },
        "end": {
          "line": 239,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 7669,
      "end": 7672,
      "loc": {
        "start": {
          "line": 240,
          "column": 4
        },
        "end": {
          "line": 240,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "emojiMatched",
      "start": 7673,
      "end": 7685,
      "loc": {
        "start": {
          "line": 240,
          "column": 8
        },
        "end": {
          "line": 240,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7685,
      "end": 7686,
      "loc": {
        "start": {
          "line": 240,
          "column": 20
        },
        "end": {
          "line": 240,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 7692,
      "end": 7695,
      "loc": {
        "start": {
          "line": 241,
          "column": 4
        },
        "end": {
          "line": 241,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "emojiMatchedReg",
      "start": 7696,
      "end": 7711,
      "loc": {
        "start": {
          "line": 241,
          "column": 8
        },
        "end": {
          "line": 241,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 7712,
      "end": 7713,
      "loc": {
        "start": {
          "line": 241,
          "column": 24
        },
        "end": {
          "line": 241,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "regexp",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": {
        "pattern": "([\\uD800-\\uDBFF][\\uDC00-\\uDFFF])",
        "flags": "g"
      },
      "start": 7714,
      "end": 7749,
      "loc": {
        "start": {
          "line": 241,
          "column": 26
        },
        "end": {
          "line": 241,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 7749,
      "end": 7750,
      "loc": {
        "start": {
          "line": 241,
          "column": 61
        },
        "end": {
          "line": 241,
          "column": 62
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n     * Emojis are made out of two characters, so we must take a custom approach to trim them.\r\n     * For more info: https://mathiasbynens.be/notes/javascript-unicode\r\n     ",
      "start": 7758,
      "end": 7938,
      "loc": {
        "start": {
          "line": 243,
          "column": 4
        },
        "end": {
          "line": 246,
          "column": 7
        }
      }
    },
    {
      "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": 7944,
      "end": 7946,
      "loc": {
        "start": {
          "line": 247,
          "column": 4
        },
        "end": {
          "line": 247,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7946,
      "end": 7947,
      "loc": {
        "start": {
          "line": 247,
          "column": 6
        },
        "end": {
          "line": 247,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 7947,
      "end": 7955,
      "loc": {
        "start": {
          "line": 247,
          "column": 7
        },
        "end": {
          "line": 247,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 7956,
      "end": 7958,
      "loc": {
        "start": {
          "line": 247,
          "column": 16
        },
        "end": {
          "line": 247,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 7959,
      "end": 7967,
      "loc": {
        "start": {
          "line": 247,
          "column": 19
        },
        "end": {
          "line": 247,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": ">=",
      "start": 7968,
      "end": 7970,
      "loc": {
        "start": {
          "line": 247,
          "column": 28
        },
        "end": {
          "line": 247,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 7971,
      "end": 7972,
      "loc": {
        "start": {
          "line": 247,
          "column": 31
        },
        "end": {
          "line": 247,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7972,
      "end": 7973,
      "loc": {
        "start": {
          "line": 247,
          "column": 32
        },
        "end": {
          "line": 247,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 7973,
      "end": 7974,
      "loc": {
        "start": {
          "line": 247,
          "column": 33
        },
        "end": {
          "line": 247,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prevTwoChars",
      "start": 7982,
      "end": 7994,
      "loc": {
        "start": {
          "line": 248,
          "column": 6
        },
        "end": {
          "line": 248,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 7995,
      "end": 7996,
      "loc": {
        "start": {
          "line": 248,
          "column": 19
        },
        "end": {
          "line": 248,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 7997,
      "end": 8003,
      "loc": {
        "start": {
          "line": 248,
          "column": 21
        },
        "end": {
          "line": 248,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8003,
      "end": 8004,
      "loc": {
        "start": {
          "line": 248,
          "column": 27
        },
        "end": {
          "line": 248,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "substring",
      "start": 8004,
      "end": 8013,
      "loc": {
        "start": {
          "line": 248,
          "column": 28
        },
        "end": {
          "line": 248,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8013,
      "end": 8014,
      "loc": {
        "start": {
          "line": 248,
          "column": 37
        },
        "end": {
          "line": 248,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 8014,
      "end": 8022,
      "loc": {
        "start": {
          "line": 248,
          "column": 38
        },
        "end": {
          "line": 248,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 8023,
      "end": 8024,
      "loc": {
        "start": {
          "line": 248,
          "column": 47
        },
        "end": {
          "line": 248,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 8025,
      "end": 8026,
      "loc": {
        "start": {
          "line": 248,
          "column": 49
        },
        "end": {
          "line": 248,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8026,
      "end": 8027,
      "loc": {
        "start": {
          "line": 248,
          "column": 50
        },
        "end": {
          "line": 248,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 8028,
      "end": 8036,
      "loc": {
        "start": {
          "line": 248,
          "column": 52
        },
        "end": {
          "line": 248,
          "column": 60
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8036,
      "end": 8037,
      "loc": {
        "start": {
          "line": 248,
          "column": 60
        },
        "end": {
          "line": 248,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "emojiMatched",
      "start": 8045,
      "end": 8057,
      "loc": {
        "start": {
          "line": 249,
          "column": 6
        },
        "end": {
          "line": 249,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 8058,
      "end": 8059,
      "loc": {
        "start": {
          "line": 249,
          "column": 19
        },
        "end": {
          "line": 249,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prevTwoChars",
      "start": 8060,
      "end": 8072,
      "loc": {
        "start": {
          "line": 249,
          "column": 21
        },
        "end": {
          "line": 249,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8072,
      "end": 8073,
      "loc": {
        "start": {
          "line": 249,
          "column": 33
        },
        "end": {
          "line": 249,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "match",
      "start": 8073,
      "end": 8078,
      "loc": {
        "start": {
          "line": 249,
          "column": 34
        },
        "end": {
          "line": 249,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8078,
      "end": 8079,
      "loc": {
        "start": {
          "line": 249,
          "column": 39
        },
        "end": {
          "line": 249,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "emojiMatchedReg",
      "start": 8079,
      "end": 8094,
      "loc": {
        "start": {
          "line": 249,
          "column": 40
        },
        "end": {
          "line": 249,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8094,
      "end": 8095,
      "loc": {
        "start": {
          "line": 249,
          "column": 55
        },
        "end": {
          "line": 249,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8095,
      "end": 8096,
      "loc": {
        "start": {
          "line": 249,
          "column": 56
        },
        "end": {
          "line": 249,
          "column": 57
        }
      }
    },
    {
      "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": 8106,
      "end": 8108,
      "loc": {
        "start": {
          "line": 251,
          "column": 6
        },
        "end": {
          "line": 251,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8108,
      "end": 8109,
      "loc": {
        "start": {
          "line": 251,
          "column": 8
        },
        "end": {
          "line": 251,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "emojiMatched",
      "start": 8109,
      "end": 8121,
      "loc": {
        "start": {
          "line": 251,
          "column": 9
        },
        "end": {
          "line": 251,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8121,
      "end": 8122,
      "loc": {
        "start": {
          "line": 251,
          "column": 21
        },
        "end": {
          "line": 251,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8122,
      "end": 8123,
      "loc": {
        "start": {
          "line": 251,
          "column": 22
        },
        "end": {
          "line": 251,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 8133,
      "end": 8139,
      "loc": {
        "start": {
          "line": 252,
          "column": 8
        },
        "end": {
          "line": 252,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 8140,
      "end": 8141,
      "loc": {
        "start": {
          "line": 252,
          "column": 15
        },
        "end": {
          "line": 252,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 8142,
      "end": 8148,
      "loc": {
        "start": {
          "line": 252,
          "column": 17
        },
        "end": {
          "line": 252,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8148,
      "end": 8149,
      "loc": {
        "start": {
          "line": 252,
          "column": 23
        },
        "end": {
          "line": 252,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "substr",
      "start": 8149,
      "end": 8155,
      "loc": {
        "start": {
          "line": 252,
          "column": 24
        },
        "end": {
          "line": 252,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8155,
      "end": 8156,
      "loc": {
        "start": {
          "line": 252,
          "column": 30
        },
        "end": {
          "line": 252,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 8156,
      "end": 8157,
      "loc": {
        "start": {
          "line": 252,
          "column": 31
        },
        "end": {
          "line": 252,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8157,
      "end": 8158,
      "loc": {
        "start": {
          "line": 252,
          "column": 32
        },
        "end": {
          "line": 252,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8159,
      "end": 8160,
      "loc": {
        "start": {
          "line": 252,
          "column": 34
        },
        "end": {
          "line": 252,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 8160,
      "end": 8168,
      "loc": {
        "start": {
          "line": 252,
          "column": 35
        },
        "end": {
          "line": 252,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 8169,
      "end": 8170,
      "loc": {
        "start": {
          "line": 252,
          "column": 44
        },
        "end": {
          "line": 252,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 8171,
      "end": 8172,
      "loc": {
        "start": {
          "line": 252,
          "column": 46
        },
        "end": {
          "line": 252,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8172,
      "end": 8173,
      "loc": {
        "start": {
          "line": 252,
          "column": 47
        },
        "end": {
          "line": 252,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8173,
      "end": 8174,
      "loc": {
        "start": {
          "line": 252,
          "column": 48
        },
        "end": {
          "line": 252,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 8175,
      "end": 8176,
      "loc": {
        "start": {
          "line": 252,
          "column": 50
        },
        "end": {
          "line": 252,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 8177,
      "end": 8183,
      "loc": {
        "start": {
          "line": 252,
          "column": 52
        },
        "end": {
          "line": 252,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8183,
      "end": 8184,
      "loc": {
        "start": {
          "line": 252,
          "column": 58
        },
        "end": {
          "line": 252,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "substr",
      "start": 8184,
      "end": 8190,
      "loc": {
        "start": {
          "line": 252,
          "column": 59
        },
        "end": {
          "line": 252,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8190,
      "end": 8191,
      "loc": {
        "start": {
          "line": 252,
          "column": 65
        },
        "end": {
          "line": 252,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 8191,
      "end": 8199,
      "loc": {
        "start": {
          "line": 252,
          "column": 66
        },
        "end": {
          "line": 252,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8199,
      "end": 8200,
      "loc": {
        "start": {
          "line": 252,
          "column": 74
        },
        "end": {
          "line": 252,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8200,
      "end": 8201,
      "loc": {
        "start": {
          "line": 252,
          "column": 75
        },
        "end": {
          "line": 252,
          "column": 76
        }
      }
    },
    {
      "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": 8211,
      "end": 8213,
      "loc": {
        "start": {
          "line": 253,
          "column": 8
        },
        "end": {
          "line": 253,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8213,
      "end": 8214,
      "loc": {
        "start": {
          "line": 253,
          "column": 10
        },
        "end": {
          "line": 253,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "moveCaret",
      "start": 8214,
      "end": 8223,
      "loc": {
        "start": {
          "line": 253,
          "column": 11
        },
        "end": {
          "line": 253,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8223,
      "end": 8224,
      "loc": {
        "start": {
          "line": 253,
          "column": 20
        },
        "end": {
          "line": 253,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 8225,
      "end": 8229,
      "loc": {
        "start": {
          "line": 253,
          "column": 22
        },
        "end": {
          "line": 253,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8229,
      "end": 8230,
      "loc": {
        "start": {
          "line": 253,
          "column": 26
        },
        "end": {
          "line": 253,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "updateCaretPos",
      "start": 8230,
      "end": 8244,
      "loc": {
        "start": {
          "line": 253,
          "column": 27
        },
        "end": {
          "line": 253,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8244,
      "end": 8245,
      "loc": {
        "start": {
          "line": 253,
          "column": 41
        },
        "end": {
          "line": 253,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 8245,
      "end": 8246,
      "loc": {
        "start": {
          "line": 253,
          "column": 42
        },
        "end": {
          "line": 253,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8246,
      "end": 8247,
      "loc": {
        "start": {
          "line": 253,
          "column": 43
        },
        "end": {
          "line": 253,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 8248,
      "end": 8252,
      "loc": {
        "start": {
          "line": 253,
          "column": 45
        },
        "end": {
          "line": 253,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8252,
      "end": 8253,
      "loc": {
        "start": {
          "line": 253,
          "column": 49
        },
        "end": {
          "line": 253,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8253,
      "end": 8254,
      "loc": {
        "start": {
          "line": 253,
          "column": 50
        },
        "end": {
          "line": 253,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8262,
      "end": 8263,
      "loc": {
        "start": {
          "line": 254,
          "column": 6
        },
        "end": {
          "line": 254,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 8264,
      "end": 8268,
      "loc": {
        "start": {
          "line": 254,
          "column": 8
        },
        "end": {
          "line": 254,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8269,
      "end": 8270,
      "loc": {
        "start": {
          "line": 254,
          "column": 13
        },
        "end": {
          "line": 254,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 8280,
      "end": 8286,
      "loc": {
        "start": {
          "line": 255,
          "column": 8
        },
        "end": {
          "line": 255,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 8287,
      "end": 8288,
      "loc": {
        "start": {
          "line": 255,
          "column": 15
        },
        "end": {
          "line": 255,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 8289,
      "end": 8295,
      "loc": {
        "start": {
          "line": 255,
          "column": 17
        },
        "end": {
          "line": 255,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8295,
      "end": 8296,
      "loc": {
        "start": {
          "line": 255,
          "column": 23
        },
        "end": {
          "line": 255,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "substr",
      "start": 8296,
      "end": 8302,
      "loc": {
        "start": {
          "line": 255,
          "column": 24
        },
        "end": {
          "line": 255,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8302,
      "end": 8303,
      "loc": {
        "start": {
          "line": 255,
          "column": 30
        },
        "end": {
          "line": 255,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 8303,
      "end": 8304,
      "loc": {
        "start": {
          "line": 255,
          "column": 31
        },
        "end": {
          "line": 255,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8304,
      "end": 8305,
      "loc": {
        "start": {
          "line": 255,
          "column": 32
        },
        "end": {
          "line": 255,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8306,
      "end": 8307,
      "loc": {
        "start": {
          "line": 255,
          "column": 34
        },
        "end": {
          "line": 255,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 8307,
      "end": 8315,
      "loc": {
        "start": {
          "line": 255,
          "column": 35
        },
        "end": {
          "line": 255,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 8316,
      "end": 8317,
      "loc": {
        "start": {
          "line": 255,
          "column": 44
        },
        "end": {
          "line": 255,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 8318,
      "end": 8319,
      "loc": {
        "start": {
          "line": 255,
          "column": 46
        },
        "end": {
          "line": 255,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8319,
      "end": 8320,
      "loc": {
        "start": {
          "line": 255,
          "column": 47
        },
        "end": {
          "line": 255,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8320,
      "end": 8321,
      "loc": {
        "start": {
          "line": 255,
          "column": 48
        },
        "end": {
          "line": 255,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 8322,
      "end": 8323,
      "loc": {
        "start": {
          "line": 255,
          "column": 50
        },
        "end": {
          "line": 255,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 8324,
      "end": 8330,
      "loc": {
        "start": {
          "line": 255,
          "column": 52
        },
        "end": {
          "line": 255,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8330,
      "end": 8331,
      "loc": {
        "start": {
          "line": 255,
          "column": 58
        },
        "end": {
          "line": 255,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "substr",
      "start": 8331,
      "end": 8337,
      "loc": {
        "start": {
          "line": 255,
          "column": 59
        },
        "end": {
          "line": 255,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8337,
      "end": 8338,
      "loc": {
        "start": {
          "line": 255,
          "column": 65
        },
        "end": {
          "line": 255,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "position",
      "start": 8338,
      "end": 8346,
      "loc": {
        "start": {
          "line": 255,
          "column": 66
        },
        "end": {
          "line": 255,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8346,
      "end": 8347,
      "loc": {
        "start": {
          "line": 255,
          "column": 74
        },
        "end": {
          "line": 255,
          "column": 75
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8347,
      "end": 8348,
      "loc": {
        "start": {
          "line": 255,
          "column": 75
        },
        "end": {
          "line": 255,
          "column": 76
        }
      }
    },
    {
      "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": 8358,
      "end": 8360,
      "loc": {
        "start": {
          "line": 256,
          "column": 8
        },
        "end": {
          "line": 256,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8360,
      "end": 8361,
      "loc": {
        "start": {
          "line": 256,
          "column": 10
        },
        "end": {
          "line": 256,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "moveCaret",
      "start": 8361,
      "end": 8370,
      "loc": {
        "start": {
          "line": 256,
          "column": 11
        },
        "end": {
          "line": 256,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8370,
      "end": 8371,
      "loc": {
        "start": {
          "line": 256,
          "column": 20
        },
        "end": {
          "line": 256,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 8372,
      "end": 8376,
      "loc": {
        "start": {
          "line": 256,
          "column": 22
        },
        "end": {
          "line": 256,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8376,
      "end": 8377,
      "loc": {
        "start": {
          "line": 256,
          "column": 26
        },
        "end": {
          "line": 256,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "updateCaretPos",
      "start": 8377,
      "end": 8391,
      "loc": {
        "start": {
          "line": 256,
          "column": 27
        },
        "end": {
          "line": 256,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8391,
      "end": 8392,
      "loc": {
        "start": {
          "line": 256,
          "column": 41
        },
        "end": {
          "line": 256,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 8392,
      "end": 8393,
      "loc": {
        "start": {
          "line": 256,
          "column": 42
        },
        "end": {
          "line": 256,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8393,
      "end": 8394,
      "loc": {
        "start": {
          "line": 256,
          "column": 43
        },
        "end": {
          "line": 256,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 8395,
      "end": 8399,
      "loc": {
        "start": {
          "line": 256,
          "column": 45
        },
        "end": {
          "line": 256,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8399,
      "end": 8400,
      "loc": {
        "start": {
          "line": 256,
          "column": 49
        },
        "end": {
          "line": 256,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8400,
      "end": 8401,
      "loc": {
        "start": {
          "line": 256,
          "column": 50
        },
        "end": {
          "line": 256,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8409,
      "end": 8410,
      "loc": {
        "start": {
          "line": 257,
          "column": 6
        },
        "end": {
          "line": 257,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8416,
      "end": 8417,
      "loc": {
        "start": {
          "line": 258,
          "column": 4
        },
        "end": {
          "line": 258,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 8418,
      "end": 8422,
      "loc": {
        "start": {
          "line": 258,
          "column": 6
        },
        "end": {
          "line": 258,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8423,
      "end": 8424,
      "loc": {
        "start": {
          "line": 258,
          "column": 11
        },
        "end": {
          "line": 258,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prevTwoChars",
      "start": 8432,
      "end": 8444,
      "loc": {
        "start": {
          "line": 259,
          "column": 6
        },
        "end": {
          "line": 259,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 8445,
      "end": 8446,
      "loc": {
        "start": {
          "line": 259,
          "column": 19
        },
        "end": {
          "line": 259,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 8447,
      "end": 8453,
      "loc": {
        "start": {
          "line": 259,
          "column": 21
        },
        "end": {
          "line": 259,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8453,
      "end": 8454,
      "loc": {
        "start": {
          "line": 259,
          "column": 27
        },
        "end": {
          "line": 259,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "slice",
      "start": 8454,
      "end": 8459,
      "loc": {
        "start": {
          "line": 259,
          "column": 28
        },
        "end": {
          "line": 259,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8459,
      "end": 8460,
      "loc": {
        "start": {
          "line": 259,
          "column": 33
        },
        "end": {
          "line": 259,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 8460,
      "end": 8461,
      "loc": {
        "start": {
          "line": 259,
          "column": 34
        },
        "end": {
          "line": 259,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 8461,
      "end": 8462,
      "loc": {
        "start": {
          "line": 259,
          "column": 35
        },
        "end": {
          "line": 259,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8462,
      "end": 8463,
      "loc": {
        "start": {
          "line": 259,
          "column": 36
        },
        "end": {
          "line": 259,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8463,
      "end": 8464,
      "loc": {
        "start": {
          "line": 259,
          "column": 37
        },
        "end": {
          "line": 259,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "emojiMatched",
      "start": 8472,
      "end": 8484,
      "loc": {
        "start": {
          "line": 260,
          "column": 6
        },
        "end": {
          "line": 260,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 8485,
      "end": 8486,
      "loc": {
        "start": {
          "line": 260,
          "column": 19
        },
        "end": {
          "line": 260,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "prevTwoChars",
      "start": 8487,
      "end": 8499,
      "loc": {
        "start": {
          "line": 260,
          "column": 21
        },
        "end": {
          "line": 260,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8499,
      "end": 8500,
      "loc": {
        "start": {
          "line": 260,
          "column": 33
        },
        "end": {
          "line": 260,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "match",
      "start": 8500,
      "end": 8505,
      "loc": {
        "start": {
          "line": 260,
          "column": 34
        },
        "end": {
          "line": 260,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8505,
      "end": 8506,
      "loc": {
        "start": {
          "line": 260,
          "column": 39
        },
        "end": {
          "line": 260,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "emojiMatchedReg",
      "start": 8506,
      "end": 8521,
      "loc": {
        "start": {
          "line": 260,
          "column": 40
        },
        "end": {
          "line": 260,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8521,
      "end": 8522,
      "loc": {
        "start": {
          "line": 260,
          "column": 55
        },
        "end": {
          "line": 260,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8522,
      "end": 8523,
      "loc": {
        "start": {
          "line": 260,
          "column": 56
        },
        "end": {
          "line": 260,
          "column": 57
        }
      }
    },
    {
      "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": 8533,
      "end": 8535,
      "loc": {
        "start": {
          "line": 262,
          "column": 6
        },
        "end": {
          "line": 262,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8535,
      "end": 8536,
      "loc": {
        "start": {
          "line": 262,
          "column": 8
        },
        "end": {
          "line": 262,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "emojiMatched",
      "start": 8536,
      "end": 8548,
      "loc": {
        "start": {
          "line": 262,
          "column": 9
        },
        "end": {
          "line": 262,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8548,
      "end": 8549,
      "loc": {
        "start": {
          "line": 262,
          "column": 21
        },
        "end": {
          "line": 262,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8549,
      "end": 8550,
      "loc": {
        "start": {
          "line": 262,
          "column": 22
        },
        "end": {
          "line": 262,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 8560,
      "end": 8566,
      "loc": {
        "start": {
          "line": 263,
          "column": 8
        },
        "end": {
          "line": 263,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 8567,
      "end": 8568,
      "loc": {
        "start": {
          "line": 263,
          "column": 15
        },
        "end": {
          "line": 263,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 8569,
      "end": 8575,
      "loc": {
        "start": {
          "line": 263,
          "column": 17
        },
        "end": {
          "line": 263,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8575,
      "end": 8576,
      "loc": {
        "start": {
          "line": 263,
          "column": 23
        },
        "end": {
          "line": 263,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "slice",
      "start": 8576,
      "end": 8581,
      "loc": {
        "start": {
          "line": 263,
          "column": 24
        },
        "end": {
          "line": 263,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8581,
      "end": 8582,
      "loc": {
        "start": {
          "line": 263,
          "column": 29
        },
        "end": {
          "line": 263,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 8582,
      "end": 8583,
      "loc": {
        "start": {
          "line": 263,
          "column": 30
        },
        "end": {
          "line": 263,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8583,
      "end": 8584,
      "loc": {
        "start": {
          "line": 263,
          "column": 31
        },
        "end": {
          "line": 263,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 8585,
      "end": 8586,
      "loc": {
        "start": {
          "line": 263,
          "column": 33
        },
        "end": {
          "line": 263,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 8586,
      "end": 8587,
      "loc": {
        "start": {
          "line": 263,
          "column": 34
        },
        "end": {
          "line": 263,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8587,
      "end": 8588,
      "loc": {
        "start": {
          "line": 263,
          "column": 35
        },
        "end": {
          "line": 263,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8588,
      "end": 8589,
      "loc": {
        "start": {
          "line": 263,
          "column": 36
        },
        "end": {
          "line": 263,
          "column": 37
        }
      }
    },
    {
      "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": 8599,
      "end": 8601,
      "loc": {
        "start": {
          "line": 264,
          "column": 8
        },
        "end": {
          "line": 264,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8601,
      "end": 8602,
      "loc": {
        "start": {
          "line": 264,
          "column": 10
        },
        "end": {
          "line": 264,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "moveCaret",
      "start": 8602,
      "end": 8611,
      "loc": {
        "start": {
          "line": 264,
          "column": 11
        },
        "end": {
          "line": 264,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8611,
      "end": 8612,
      "loc": {
        "start": {
          "line": 264,
          "column": 20
        },
        "end": {
          "line": 264,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 8613,
      "end": 8617,
      "loc": {
        "start": {
          "line": 264,
          "column": 22
        },
        "end": {
          "line": 264,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8617,
      "end": 8618,
      "loc": {
        "start": {
          "line": 264,
          "column": 26
        },
        "end": {
          "line": 264,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "updateCaretPos",
      "start": 8618,
      "end": 8632,
      "loc": {
        "start": {
          "line": 264,
          "column": 27
        },
        "end": {
          "line": 264,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8632,
      "end": 8633,
      "loc": {
        "start": {
          "line": 264,
          "column": 41
        },
        "end": {
          "line": 264,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 2,
      "start": 8633,
      "end": 8634,
      "loc": {
        "start": {
          "line": 264,
          "column": 42
        },
        "end": {
          "line": 264,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8634,
      "end": 8635,
      "loc": {
        "start": {
          "line": 264,
          "column": 43
        },
        "end": {
          "line": 264,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 8636,
      "end": 8640,
      "loc": {
        "start": {
          "line": 264,
          "column": 45
        },
        "end": {
          "line": 264,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8640,
      "end": 8641,
      "loc": {
        "start": {
          "line": 264,
          "column": 49
        },
        "end": {
          "line": 264,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8641,
      "end": 8642,
      "loc": {
        "start": {
          "line": 264,
          "column": 50
        },
        "end": {
          "line": 264,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8650,
      "end": 8651,
      "loc": {
        "start": {
          "line": 265,
          "column": 6
        },
        "end": {
          "line": 265,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 8652,
      "end": 8656,
      "loc": {
        "start": {
          "line": 265,
          "column": 8
        },
        "end": {
          "line": 265,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8657,
      "end": 8658,
      "loc": {
        "start": {
          "line": 265,
          "column": 13
        },
        "end": {
          "line": 265,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 8668,
      "end": 8674,
      "loc": {
        "start": {
          "line": 266,
          "column": 8
        },
        "end": {
          "line": 266,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 8675,
      "end": 8676,
      "loc": {
        "start": {
          "line": 266,
          "column": 15
        },
        "end": {
          "line": 266,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "source",
      "start": 8677,
      "end": 8683,
      "loc": {
        "start": {
          "line": 266,
          "column": 17
        },
        "end": {
          "line": 266,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8683,
      "end": 8684,
      "loc": {
        "start": {
          "line": 266,
          "column": 23
        },
        "end": {
          "line": 266,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "slice",
      "start": 8684,
      "end": 8689,
      "loc": {
        "start": {
          "line": 266,
          "column": 24
        },
        "end": {
          "line": 266,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8689,
      "end": 8690,
      "loc": {
        "start": {
          "line": 266,
          "column": 29
        },
        "end": {
          "line": 266,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 8690,
      "end": 8691,
      "loc": {
        "start": {
          "line": 266,
          "column": 30
        },
        "end": {
          "line": 266,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8691,
      "end": 8692,
      "loc": {
        "start": {
          "line": 266,
          "column": 31
        },
        "end": {
          "line": 266,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "-",
      "start": 8693,
      "end": 8694,
      "loc": {
        "start": {
          "line": 266,
          "column": 33
        },
        "end": {
          "line": 266,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 8694,
      "end": 8695,
      "loc": {
        "start": {
          "line": 266,
          "column": 34
        },
        "end": {
          "line": 266,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8695,
      "end": 8696,
      "loc": {
        "start": {
          "line": 266,
          "column": 35
        },
        "end": {
          "line": 266,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8696,
      "end": 8697,
      "loc": {
        "start": {
          "line": 266,
          "column": 36
        },
        "end": {
          "line": 266,
          "column": 37
        }
      }
    },
    {
      "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": 8707,
      "end": 8709,
      "loc": {
        "start": {
          "line": 267,
          "column": 8
        },
        "end": {
          "line": 267,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8709,
      "end": 8710,
      "loc": {
        "start": {
          "line": 267,
          "column": 10
        },
        "end": {
          "line": 267,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "moveCaret",
      "start": 8710,
      "end": 8719,
      "loc": {
        "start": {
          "line": 267,
          "column": 11
        },
        "end": {
          "line": 267,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8719,
      "end": 8720,
      "loc": {
        "start": {
          "line": 267,
          "column": 20
        },
        "end": {
          "line": 267,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 8721,
      "end": 8725,
      "loc": {
        "start": {
          "line": 267,
          "column": 22
        },
        "end": {
          "line": 267,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8725,
      "end": 8726,
      "loc": {
        "start": {
          "line": 267,
          "column": 26
        },
        "end": {
          "line": 267,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "updateCaretPos",
      "start": 8726,
      "end": 8740,
      "loc": {
        "start": {
          "line": 267,
          "column": 27
        },
        "end": {
          "line": 267,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8740,
      "end": 8741,
      "loc": {
        "start": {
          "line": 267,
          "column": 41
        },
        "end": {
          "line": 267,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 8741,
      "end": 8742,
      "loc": {
        "start": {
          "line": 267,
          "column": 42
        },
        "end": {
          "line": 267,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8742,
      "end": 8743,
      "loc": {
        "start": {
          "line": 267,
          "column": 43
        },
        "end": {
          "line": 267,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 8744,
      "end": 8748,
      "loc": {
        "start": {
          "line": 267,
          "column": 45
        },
        "end": {
          "line": 267,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8748,
      "end": 8749,
      "loc": {
        "start": {
          "line": 267,
          "column": 49
        },
        "end": {
          "line": 267,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8749,
      "end": 8750,
      "loc": {
        "start": {
          "line": 267,
          "column": 50
        },
        "end": {
          "line": 267,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8758,
      "end": 8759,
      "loc": {
        "start": {
          "line": 268,
          "column": 6
        },
        "end": {
          "line": 268,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8765,
      "end": 8766,
      "loc": {
        "start": {
          "line": 269,
          "column": 4
        },
        "end": {
          "line": 269,
          "column": 5
        }
      }
    },
    {
      "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": 8774,
      "end": 8776,
      "loc": {
        "start": {
          "line": 271,
          "column": 4
        },
        "end": {
          "line": 271,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8776,
      "end": 8777,
      "loc": {
        "start": {
          "line": 271,
          "column": 6
        },
        "end": {
          "line": 271,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 8777,
      "end": 8781,
      "loc": {
        "start": {
          "line": 271,
          "column": 7
        },
        "end": {
          "line": 271,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8781,
      "end": 8782,
      "loc": {
        "start": {
          "line": 271,
          "column": 11
        },
        "end": {
          "line": 271,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "simpleKeyboardInstance",
      "start": 8782,
      "end": 8804,
      "loc": {
        "start": {
          "line": 271,
          "column": 12
        },
        "end": {
          "line": 271,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8804,
      "end": 8805,
      "loc": {
        "start": {
          "line": 271,
          "column": 34
        },
        "end": {
          "line": 271,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 8805,
      "end": 8812,
      "loc": {
        "start": {
          "line": 271,
          "column": 35
        },
        "end": {
          "line": 271,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8812,
      "end": 8813,
      "loc": {
        "start": {
          "line": 271,
          "column": 42
        },
        "end": {
          "line": 271,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "debug",
      "start": 8813,
      "end": 8818,
      "loc": {
        "start": {
          "line": 271,
          "column": 43
        },
        "end": {
          "line": 271,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": "&&",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 2,
        "updateContext": null
      },
      "value": "&&",
      "start": 8819,
      "end": 8821,
      "loc": {
        "start": {
          "line": 271,
          "column": 49
        },
        "end": {
          "line": 271,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "moveCaret",
      "start": 8822,
      "end": 8831,
      "loc": {
        "start": {
          "line": 271,
          "column": 52
        },
        "end": {
          "line": 271,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8831,
      "end": 8832,
      "loc": {
        "start": {
          "line": 271,
          "column": 61
        },
        "end": {
          "line": 271,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8832,
      "end": 8833,
      "loc": {
        "start": {
          "line": 271,
          "column": 62
        },
        "end": {
          "line": 271,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "console",
      "start": 8841,
      "end": 8848,
      "loc": {
        "start": {
          "line": 272,
          "column": 6
        },
        "end": {
          "line": 272,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8848,
      "end": 8849,
      "loc": {
        "start": {
          "line": 272,
          "column": 13
        },
        "end": {
          "line": 272,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "log",
      "start": 8849,
      "end": 8852,
      "loc": {
        "start": {
          "line": 272,
          "column": 14
        },
        "end": {
          "line": 272,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8852,
      "end": 8853,
      "loc": {
        "start": {
          "line": 272,
          "column": 17
        },
        "end": {
          "line": 272,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Caret at:",
      "start": 8853,
      "end": 8864,
      "loc": {
        "start": {
          "line": 272,
          "column": 18
        },
        "end": {
          "line": 272,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8864,
      "end": 8865,
      "loc": {
        "start": {
          "line": 272,
          "column": 29
        },
        "end": {
          "line": 272,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 8866,
      "end": 8870,
      "loc": {
        "start": {
          "line": 272,
          "column": 31
        },
        "end": {
          "line": 272,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8870,
      "end": 8871,
      "loc": {
        "start": {
          "line": 272,
          "column": 35
        },
        "end": {
          "line": 272,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "simpleKeyboardInstance",
      "start": 8871,
      "end": 8893,
      "loc": {
        "start": {
          "line": 272,
          "column": 36
        },
        "end": {
          "line": 272,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8893,
      "end": 8894,
      "loc": {
        "start": {
          "line": 272,
          "column": 58
        },
        "end": {
          "line": 272,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "caretPosition",
      "start": 8894,
      "end": 8907,
      "loc": {
        "start": {
          "line": 272,
          "column": 59
        },
        "end": {
          "line": 272,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8907,
      "end": 8908,
      "loc": {
        "start": {
          "line": 272,
          "column": 72
        },
        "end": {
          "line": 272,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8908,
      "end": 8909,
      "loc": {
        "start": {
          "line": 272,
          "column": 73
        },
        "end": {
          "line": 272,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8915,
      "end": 8916,
      "loc": {
        "start": {
          "line": 273,
          "column": 4
        },
        "end": {
          "line": 273,
          "column": 5
        }
      }
    },
    {
      "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": 8924,
      "end": 8930,
      "loc": {
        "start": {
          "line": 275,
          "column": 4
        },
        "end": {
          "line": 275,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "output",
      "start": 8931,
      "end": 8937,
      "loc": {
        "start": {
          "line": 275,
          "column": 11
        },
        "end": {
          "line": 275,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 8937,
      "end": 8938,
      "loc": {
        "start": {
          "line": 275,
          "column": 17
        },
        "end": {
          "line": 275,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 8942,
      "end": 8943,
      "loc": {
        "start": {
          "line": 276,
          "column": 2
        },
        "end": {
          "line": 276,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Determines whether the maxLength has been reached. This function is called when the maxLength option it set.\r\n   * \r\n   * @param  {object} inputObj\r\n   * @param  {object} options\r\n   * @param  {string} updatedInput\r\n   ",
      "start": 8947,
      "end": 9178,
      "loc": {
        "start": {
          "line": 277,
          "column": 2
        },
        "end": {
          "line": 283,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handleMaxLength",
      "start": 9182,
      "end": 9197,
      "loc": {
        "start": {
          "line": 284,
          "column": 2
        },
        "end": {
          "line": 284,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9197,
      "end": 9198,
      "loc": {
        "start": {
          "line": 284,
          "column": 17
        },
        "end": {
          "line": 284,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "inputObj",
      "start": 9198,
      "end": 9206,
      "loc": {
        "start": {
          "line": 284,
          "column": 18
        },
        "end": {
          "line": 284,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9206,
      "end": 9207,
      "loc": {
        "start": {
          "line": 284,
          "column": 26
        },
        "end": {
          "line": 284,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 9208,
      "end": 9215,
      "loc": {
        "start": {
          "line": 284,
          "column": 28
        },
        "end": {
          "line": 284,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9215,
      "end": 9216,
      "loc": {
        "start": {
          "line": 284,
          "column": 35
        },
        "end": {
          "line": 284,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "updatedInput",
      "start": 9217,
      "end": 9229,
      "loc": {
        "start": {
          "line": 284,
          "column": 37
        },
        "end": {
          "line": 284,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9229,
      "end": 9230,
      "loc": {
        "start": {
          "line": 284,
          "column": 49
        },
        "end": {
          "line": 284,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9230,
      "end": 9231,
      "loc": {
        "start": {
          "line": 284,
          "column": 50
        },
        "end": {
          "line": 284,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 9237,
      "end": 9240,
      "loc": {
        "start": {
          "line": 285,
          "column": 4
        },
        "end": {
          "line": 285,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "maxLength",
      "start": 9241,
      "end": 9250,
      "loc": {
        "start": {
          "line": 285,
          "column": 8
        },
        "end": {
          "line": 285,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 9251,
      "end": 9252,
      "loc": {
        "start": {
          "line": 285,
          "column": 18
        },
        "end": {
          "line": 285,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 9253,
      "end": 9260,
      "loc": {
        "start": {
          "line": 285,
          "column": 20
        },
        "end": {
          "line": 285,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9260,
      "end": 9261,
      "loc": {
        "start": {
          "line": 285,
          "column": 27
        },
        "end": {
          "line": 285,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "maxLength",
      "start": 9261,
      "end": 9270,
      "loc": {
        "start": {
          "line": 285,
          "column": 28
        },
        "end": {
          "line": 285,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9270,
      "end": 9271,
      "loc": {
        "start": {
          "line": 285,
          "column": 37
        },
        "end": {
          "line": 285,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 9277,
      "end": 9280,
      "loc": {
        "start": {
          "line": 286,
          "column": 4
        },
        "end": {
          "line": 286,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "currentInput",
      "start": 9281,
      "end": 9293,
      "loc": {
        "start": {
          "line": 286,
          "column": 8
        },
        "end": {
          "line": 286,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 9294,
      "end": 9295,
      "loc": {
        "start": {
          "line": 286,
          "column": 21
        },
        "end": {
          "line": 286,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "inputObj",
      "start": 9296,
      "end": 9304,
      "loc": {
        "start": {
          "line": 286,
          "column": 23
        },
        "end": {
          "line": 286,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9304,
      "end": 9305,
      "loc": {
        "start": {
          "line": 286,
          "column": 31
        },
        "end": {
          "line": 286,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 9305,
      "end": 9312,
      "loc": {
        "start": {
          "line": 286,
          "column": 32
        },
        "end": {
          "line": 286,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9312,
      "end": 9313,
      "loc": {
        "start": {
          "line": 286,
          "column": 39
        },
        "end": {
          "line": 286,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "inputName",
      "start": 9313,
      "end": 9322,
      "loc": {
        "start": {
          "line": 286,
          "column": 40
        },
        "end": {
          "line": 286,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9322,
      "end": 9323,
      "loc": {
        "start": {
          "line": 286,
          "column": 49
        },
        "end": {
          "line": 286,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9323,
      "end": 9324,
      "loc": {
        "start": {
          "line": 286,
          "column": 50
        },
        "end": {
          "line": 286,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 9330,
      "end": 9333,
      "loc": {
        "start": {
          "line": 287,
          "column": 4
        },
        "end": {
          "line": 287,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "condition",
      "start": 9334,
      "end": 9343,
      "loc": {
        "start": {
          "line": 287,
          "column": 8
        },
        "end": {
          "line": 287,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 9344,
      "end": 9345,
      "loc": {
        "start": {
          "line": 287,
          "column": 18
        },
        "end": {
          "line": 287,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "currentInput",
      "start": 9346,
      "end": 9358,
      "loc": {
        "start": {
          "line": 287,
          "column": 20
        },
        "end": {
          "line": 287,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9358,
      "end": 9359,
      "loc": {
        "start": {
          "line": 287,
          "column": 32
        },
        "end": {
          "line": 287,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 9359,
      "end": 9365,
      "loc": {
        "start": {
          "line": 287,
          "column": 33
        },
        "end": {
          "line": 287,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 9366,
      "end": 9369,
      "loc": {
        "start": {
          "line": 287,
          "column": 40
        },
        "end": {
          "line": 287,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "maxLength",
      "start": 9370,
      "end": 9379,
      "loc": {
        "start": {
          "line": 287,
          "column": 44
        },
        "end": {
          "line": 287,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9379,
      "end": 9380,
      "loc": {
        "start": {
          "line": 287,
          "column": 53
        },
        "end": {
          "line": 287,
          "column": 54
        }
      }
    },
    {
      "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": 9388,
      "end": 9390,
      "loc": {
        "start": {
          "line": 289,
          "column": 4
        },
        "end": {
          "line": 289,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9390,
      "end": 9391,
      "loc": {
        "start": {
          "line": 289,
          "column": 6
        },
        "end": {
          "line": 289,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n       * If pressing this button won't add more characters\r\n       * We exit out of this limiter function\r\n       ",
      "start": 9399,
      "end": 9520,
      "loc": {
        "start": {
          "line": 290,
          "column": 6
        },
        "end": {
          "line": 293,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "updatedInput",
      "start": 9528,
      "end": 9540,
      "loc": {
        "start": {
          "line": 294,
          "column": 6
        },
        "end": {
          "line": 294,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9540,
      "end": 9541,
      "loc": {
        "start": {
          "line": 294,
          "column": 18
        },
        "end": {
          "line": 294,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 9541,
      "end": 9547,
      "loc": {
        "start": {
          "line": 294,
          "column": 19
        },
        "end": {
          "line": 294,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "</>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 7,
        "updateContext": null
      },
      "value": "<=",
      "start": 9548,
      "end": 9550,
      "loc": {
        "start": {
          "line": 294,
          "column": 26
        },
        "end": {
          "line": 294,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "currentInput",
      "start": 9551,
      "end": 9563,
      "loc": {
        "start": {
          "line": 294,
          "column": 29
        },
        "end": {
          "line": 294,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9563,
      "end": 9564,
      "loc": {
        "start": {
          "line": 294,
          "column": 41
        },
        "end": {
          "line": 294,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 9564,
      "end": 9570,
      "loc": {
        "start": {
          "line": 294,
          "column": 42
        },
        "end": {
          "line": 294,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9576,
      "end": 9577,
      "loc": {
        "start": {
          "line": 295,
          "column": 4
        },
        "end": {
          "line": 295,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9577,
      "end": 9578,
      "loc": {
        "start": {
          "line": 295,
          "column": 5
        },
        "end": {
          "line": 295,
          "column": 6
        }
      }
    },
    {
      "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": 9586,
      "end": 9592,
      "loc": {
        "start": {
          "line": 296,
          "column": 6
        },
        "end": {
          "line": 296,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 9593,
      "end": 9598,
      "loc": {
        "start": {
          "line": 296,
          "column": 13
        },
        "end": {
          "line": 296,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9598,
      "end": 9599,
      "loc": {
        "start": {
          "line": 296,
          "column": 18
        },
        "end": {
          "line": 296,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9605,
      "end": 9606,
      "loc": {
        "start": {
          "line": 297,
          "column": 4
        },
        "end": {
          "line": 297,
          "column": 5
        }
      }
    },
    {
      "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": 9614,
      "end": 9616,
      "loc": {
        "start": {
          "line": 299,
          "column": 4
        },
        "end": {
          "line": 299,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9616,
      "end": 9617,
      "loc": {
        "start": {
          "line": 299,
          "column": 6
        },
        "end": {
          "line": 299,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Number",
      "start": 9617,
      "end": 9623,
      "loc": {
        "start": {
          "line": 299,
          "column": 7
        },
        "end": {
          "line": 299,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9623,
      "end": 9624,
      "loc": {
        "start": {
          "line": 299,
          "column": 13
        },
        "end": {
          "line": 299,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isInteger",
      "start": 9624,
      "end": 9633,
      "loc": {
        "start": {
          "line": 299,
          "column": 14
        },
        "end": {
          "line": 299,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9633,
      "end": 9634,
      "loc": {
        "start": {
          "line": 299,
          "column": 23
        },
        "end": {
          "line": 299,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "maxLength",
      "start": 9634,
      "end": 9643,
      "loc": {
        "start": {
          "line": 299,
          "column": 24
        },
        "end": {
          "line": 299,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9643,
      "end": 9644,
      "loc": {
        "start": {
          "line": 299,
          "column": 33
        },
        "end": {
          "line": 299,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9644,
      "end": 9645,
      "loc": {
        "start": {
          "line": 299,
          "column": 34
        },
        "end": {
          "line": 299,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9645,
      "end": 9646,
      "loc": {
        "start": {
          "line": 299,
          "column": 35
        },
        "end": {
          "line": 299,
          "column": 36
        }
      }
    },
    {
      "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": 9654,
      "end": 9656,
      "loc": {
        "start": {
          "line": 300,
          "column": 6
        },
        "end": {
          "line": 300,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9656,
      "end": 9657,
      "loc": {
        "start": {
          "line": 300,
          "column": 8
        },
        "end": {
          "line": 300,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 9657,
      "end": 9664,
      "loc": {
        "start": {
          "line": 300,
          "column": 9
        },
        "end": {
          "line": 300,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9664,
      "end": 9665,
      "loc": {
        "start": {
          "line": 300,
          "column": 16
        },
        "end": {
          "line": 300,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "debug",
      "start": 9665,
      "end": 9670,
      "loc": {
        "start": {
          "line": 300,
          "column": 17
        },
        "end": {
          "line": 300,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9670,
      "end": 9671,
      "loc": {
        "start": {
          "line": 300,
          "column": 22
        },
        "end": {
          "line": 300,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9671,
      "end": 9672,
      "loc": {
        "start": {
          "line": 300,
          "column": 23
        },
        "end": {
          "line": 300,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "console",
      "start": 9682,
      "end": 9689,
      "loc": {
        "start": {
          "line": 301,
          "column": 8
        },
        "end": {
          "line": 301,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9689,
      "end": 9690,
      "loc": {
        "start": {
          "line": 301,
          "column": 15
        },
        "end": {
          "line": 301,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "log",
      "start": 9690,
      "end": 9693,
      "loc": {
        "start": {
          "line": 301,
          "column": 16
        },
        "end": {
          "line": 301,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9693,
      "end": 9694,
      "loc": {
        "start": {
          "line": 301,
          "column": 19
        },
        "end": {
          "line": 301,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "maxLength (num) reached:",
      "start": 9694,
      "end": 9720,
      "loc": {
        "start": {
          "line": 301,
          "column": 20
        },
        "end": {
          "line": 301,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9720,
      "end": 9721,
      "loc": {
        "start": {
          "line": 301,
          "column": 46
        },
        "end": {
          "line": 301,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "condition",
      "start": 9722,
      "end": 9731,
      "loc": {
        "start": {
          "line": 301,
          "column": 48
        },
        "end": {
          "line": 301,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9731,
      "end": 9732,
      "loc": {
        "start": {
          "line": 301,
          "column": 57
        },
        "end": {
          "line": 301,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9732,
      "end": 9733,
      "loc": {
        "start": {
          "line": 301,
          "column": 58
        },
        "end": {
          "line": 301,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9741,
      "end": 9742,
      "loc": {
        "start": {
          "line": 302,
          "column": 6
        },
        "end": {
          "line": 302,
          "column": 7
        }
      }
    },
    {
      "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": 9752,
      "end": 9754,
      "loc": {
        "start": {
          "line": 304,
          "column": 6
        },
        "end": {
          "line": 304,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9754,
      "end": 9755,
      "loc": {
        "start": {
          "line": 304,
          "column": 8
        },
        "end": {
          "line": 304,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "condition",
      "start": 9755,
      "end": 9764,
      "loc": {
        "start": {
          "line": 304,
          "column": 9
        },
        "end": {
          "line": 304,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9764,
      "end": 9765,
      "loc": {
        "start": {
          "line": 304,
          "column": 18
        },
        "end": {
          "line": 304,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9765,
      "end": 9766,
      "loc": {
        "start": {
          "line": 304,
          "column": 19
        },
        "end": {
          "line": 304,
          "column": 20
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n         * @type {boolean} Boolean value that shows whether maxLength has been reached\r\n         ",
      "start": 9776,
      "end": 9880,
      "loc": {
        "start": {
          "line": 305,
          "column": 8
        },
        "end": {
          "line": 307,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 9890,
      "end": 9894,
      "loc": {
        "start": {
          "line": 308,
          "column": 8
        },
        "end": {
          "line": 308,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9894,
      "end": 9895,
      "loc": {
        "start": {
          "line": 308,
          "column": 12
        },
        "end": {
          "line": 308,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "maxLengthReached",
      "start": 9895,
      "end": 9911,
      "loc": {
        "start": {
          "line": 308,
          "column": 13
        },
        "end": {
          "line": 308,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 9912,
      "end": 9913,
      "loc": {
        "start": {
          "line": 308,
          "column": 30
        },
        "end": {
          "line": 308,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 9914,
      "end": 9918,
      "loc": {
        "start": {
          "line": 308,
          "column": 32
        },
        "end": {
          "line": 308,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9918,
      "end": 9919,
      "loc": {
        "start": {
          "line": 308,
          "column": 36
        },
        "end": {
          "line": 308,
          "column": 37
        }
      }
    },
    {
      "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": 9929,
      "end": 9935,
      "loc": {
        "start": {
          "line": 309,
          "column": 8
        },
        "end": {
          "line": 309,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 9936,
      "end": 9940,
      "loc": {
        "start": {
          "line": 309,
          "column": 15
        },
        "end": {
          "line": 309,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9940,
      "end": 9941,
      "loc": {
        "start": {
          "line": 309,
          "column": 19
        },
        "end": {
          "line": 309,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9949,
      "end": 9950,
      "loc": {
        "start": {
          "line": 310,
          "column": 6
        },
        "end": {
          "line": 310,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 9951,
      "end": 9955,
      "loc": {
        "start": {
          "line": 310,
          "column": 8
        },
        "end": {
          "line": 310,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 9956,
      "end": 9957,
      "loc": {
        "start": {
          "line": 310,
          "column": 13
        },
        "end": {
          "line": 310,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 9967,
      "end": 9971,
      "loc": {
        "start": {
          "line": 311,
          "column": 8
        },
        "end": {
          "line": 311,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9971,
      "end": 9972,
      "loc": {
        "start": {
          "line": 311,
          "column": 12
        },
        "end": {
          "line": 311,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "maxLengthReached",
      "start": 9972,
      "end": 9988,
      "loc": {
        "start": {
          "line": 311,
          "column": 13
        },
        "end": {
          "line": 311,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 9989,
      "end": 9990,
      "loc": {
        "start": {
          "line": 311,
          "column": 30
        },
        "end": {
          "line": 311,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 9991,
      "end": 9996,
      "loc": {
        "start": {
          "line": 311,
          "column": 32
        },
        "end": {
          "line": 311,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 9996,
      "end": 9997,
      "loc": {
        "start": {
          "line": 311,
          "column": 37
        },
        "end": {
          "line": 311,
          "column": 38
        }
      }
    },
    {
      "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": 10007,
      "end": 10013,
      "loc": {
        "start": {
          "line": 312,
          "column": 8
        },
        "end": {
          "line": 312,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 10014,
      "end": 10019,
      "loc": {
        "start": {
          "line": 312,
          "column": 15
        },
        "end": {
          "line": 312,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10019,
      "end": 10020,
      "loc": {
        "start": {
          "line": 312,
          "column": 20
        },
        "end": {
          "line": 312,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10028,
      "end": 10029,
      "loc": {
        "start": {
          "line": 313,
          "column": 6
        },
        "end": {
          "line": 313,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10035,
      "end": 10036,
      "loc": {
        "start": {
          "line": 314,
          "column": 4
        },
        "end": {
          "line": 314,
          "column": 5
        }
      }
    },
    {
      "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": 10044,
      "end": 10046,
      "loc": {
        "start": {
          "line": 316,
          "column": 4
        },
        "end": {
          "line": 316,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10046,
      "end": 10047,
      "loc": {
        "start": {
          "line": 316,
          "column": 6
        },
        "end": {
          "line": 316,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "typeof",
        "keyword": "typeof",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "typeof",
      "start": 10047,
      "end": 10053,
      "loc": {
        "start": {
          "line": 316,
          "column": 7
        },
        "end": {
          "line": 316,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "maxLength",
      "start": 10054,
      "end": 10063,
      "loc": {
        "start": {
          "line": 316,
          "column": 14
        },
        "end": {
          "line": 316,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 10064,
      "end": 10067,
      "loc": {
        "start": {
          "line": 316,
          "column": 24
        },
        "end": {
          "line": 316,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "object",
      "start": 10068,
      "end": 10076,
      "loc": {
        "start": {
          "line": 316,
          "column": 28
        },
        "end": {
          "line": 316,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10076,
      "end": 10077,
      "loc": {
        "start": {
          "line": 316,
          "column": 36
        },
        "end": {
          "line": 316,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10077,
      "end": 10078,
      "loc": {
        "start": {
          "line": 316,
          "column": 37
        },
        "end": {
          "line": 316,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "let",
        "keyword": "let",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "let",
      "start": 10086,
      "end": 10089,
      "loc": {
        "start": {
          "line": 317,
          "column": 6
        },
        "end": {
          "line": 317,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "condition",
      "start": 10090,
      "end": 10099,
      "loc": {
        "start": {
          "line": 317,
          "column": 10
        },
        "end": {
          "line": 317,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 10100,
      "end": 10101,
      "loc": {
        "start": {
          "line": 317,
          "column": 20
        },
        "end": {
          "line": 317,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "currentInput",
      "start": 10102,
      "end": 10114,
      "loc": {
        "start": {
          "line": 317,
          "column": 22
        },
        "end": {
          "line": 317,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10114,
      "end": 10115,
      "loc": {
        "start": {
          "line": 317,
          "column": 34
        },
        "end": {
          "line": 317,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "length",
      "start": 10115,
      "end": 10121,
      "loc": {
        "start": {
          "line": 317,
          "column": 35
        },
        "end": {
          "line": 317,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 10122,
      "end": 10125,
      "loc": {
        "start": {
          "line": 317,
          "column": 42
        },
        "end": {
          "line": 317,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "maxLength",
      "start": 10126,
      "end": 10135,
      "loc": {
        "start": {
          "line": 317,
          "column": 46
        },
        "end": {
          "line": 317,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10135,
      "end": 10136,
      "loc": {
        "start": {
          "line": 317,
          "column": 55
        },
        "end": {
          "line": 317,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 10136,
      "end": 10143,
      "loc": {
        "start": {
          "line": 317,
          "column": 56
        },
        "end": {
          "line": 317,
          "column": 63
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10143,
      "end": 10144,
      "loc": {
        "start": {
          "line": 317,
          "column": 63
        },
        "end": {
          "line": 317,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "inputName",
      "start": 10144,
      "end": 10153,
      "loc": {
        "start": {
          "line": 317,
          "column": 64
        },
        "end": {
          "line": 317,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10153,
      "end": 10154,
      "loc": {
        "start": {
          "line": 317,
          "column": 73
        },
        "end": {
          "line": 317,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10154,
      "end": 10155,
      "loc": {
        "start": {
          "line": 317,
          "column": 74
        },
        "end": {
          "line": 317,
          "column": 75
        }
      }
    },
    {
      "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": 10165,
      "end": 10167,
      "loc": {
        "start": {
          "line": 319,
          "column": 6
        },
        "end": {
          "line": 319,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10167,
      "end": 10168,
      "loc": {
        "start": {
          "line": 319,
          "column": 8
        },
        "end": {
          "line": 319,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "options",
      "start": 10168,
      "end": 10175,
      "loc": {
        "start": {
          "line": 319,
          "column": 9
        },
        "end": {
          "line": 319,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10175,
      "end": 10176,
      "loc": {
        "start": {
          "line": 319,
          "column": 16
        },
        "end": {
          "line": 319,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "debug",
      "start": 10176,
      "end": 10181,
      "loc": {
        "start": {
          "line": 319,
          "column": 17
        },
        "end": {
          "line": 319,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10181,
      "end": 10182,
      "loc": {
        "start": {
          "line": 319,
          "column": 22
        },
        "end": {
          "line": 319,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10182,
      "end": 10183,
      "loc": {
        "start": {
          "line": 319,
          "column": 23
        },
        "end": {
          "line": 319,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "console",
      "start": 10193,
      "end": 10200,
      "loc": {
        "start": {
          "line": 320,
          "column": 8
        },
        "end": {
          "line": 320,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10200,
      "end": 10201,
      "loc": {
        "start": {
          "line": 320,
          "column": 15
        },
        "end": {
          "line": 320,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "log",
      "start": 10201,
      "end": 10204,
      "loc": {
        "start": {
          "line": 320,
          "column": 16
        },
        "end": {
          "line": 320,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10204,
      "end": 10205,
      "loc": {
        "start": {
          "line": 320,
          "column": 19
        },
        "end": {
          "line": 320,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "maxLength (obj) reached:",
      "start": 10205,
      "end": 10231,
      "loc": {
        "start": {
          "line": 320,
          "column": 20
        },
        "end": {
          "line": 320,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10231,
      "end": 10232,
      "loc": {
        "start": {
          "line": 320,
          "column": 46
        },
        "end": {
          "line": 320,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "condition",
      "start": 10233,
      "end": 10242,
      "loc": {
        "start": {
          "line": 320,
          "column": 48
        },
        "end": {
          "line": 320,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10242,
      "end": 10243,
      "loc": {
        "start": {
          "line": 320,
          "column": 57
        },
        "end": {
          "line": 320,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10243,
      "end": 10244,
      "loc": {
        "start": {
          "line": 320,
          "column": 58
        },
        "end": {
          "line": 320,
          "column": 59
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10252,
      "end": 10253,
      "loc": {
        "start": {
          "line": 321,
          "column": 6
        },
        "end": {
          "line": 321,
          "column": 7
        }
      }
    },
    {
      "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": 10263,
      "end": 10265,
      "loc": {
        "start": {
          "line": 323,
          "column": 6
        },
        "end": {
          "line": 323,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10265,
      "end": 10266,
      "loc": {
        "start": {
          "line": 323,
          "column": 8
        },
        "end": {
          "line": 323,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "condition",
      "start": 10266,
      "end": 10275,
      "loc": {
        "start": {
          "line": 323,
          "column": 9
        },
        "end": {
          "line": 323,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10275,
      "end": 10276,
      "loc": {
        "start": {
          "line": 323,
          "column": 18
        },
        "end": {
          "line": 323,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10276,
      "end": 10277,
      "loc": {
        "start": {
          "line": 323,
          "column": 19
        },
        "end": {
          "line": 323,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 10287,
      "end": 10291,
      "loc": {
        "start": {
          "line": 324,
          "column": 8
        },
        "end": {
          "line": 324,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10291,
      "end": 10292,
      "loc": {
        "start": {
          "line": 324,
          "column": 12
        },
        "end": {
          "line": 324,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "maxLengthReached",
      "start": 10292,
      "end": 10308,
      "loc": {
        "start": {
          "line": 324,
          "column": 13
        },
        "end": {
          "line": 324,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 10309,
      "end": 10310,
      "loc": {
        "start": {
          "line": 324,
          "column": 30
        },
        "end": {
          "line": 324,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 10311,
      "end": 10315,
      "loc": {
        "start": {
          "line": 324,
          "column": 32
        },
        "end": {
          "line": 324,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10315,
      "end": 10316,
      "loc": {
        "start": {
          "line": 324,
          "column": 36
        },
        "end": {
          "line": 324,
          "column": 37
        }
      }
    },
    {
      "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": 10326,
      "end": 10332,
      "loc": {
        "start": {
          "line": 325,
          "column": 8
        },
        "end": {
          "line": 325,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "true",
        "keyword": "true",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "true",
      "start": 10333,
      "end": 10337,
      "loc": {
        "start": {
          "line": 325,
          "column": 15
        },
        "end": {
          "line": 325,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10337,
      "end": 10338,
      "loc": {
        "start": {
          "line": 325,
          "column": 19
        },
        "end": {
          "line": 325,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10346,
      "end": 10347,
      "loc": {
        "start": {
          "line": 326,
          "column": 6
        },
        "end": {
          "line": 326,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "else",
        "keyword": "else",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "else",
      "start": 10348,
      "end": 10352,
      "loc": {
        "start": {
          "line": 326,
          "column": 8
        },
        "end": {
          "line": 326,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10353,
      "end": 10354,
      "loc": {
        "start": {
          "line": 326,
          "column": 13
        },
        "end": {
          "line": 326,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 10364,
      "end": 10368,
      "loc": {
        "start": {
          "line": 327,
          "column": 8
        },
        "end": {
          "line": 327,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10368,
      "end": 10369,
      "loc": {
        "start": {
          "line": 327,
          "column": 12
        },
        "end": {
          "line": 327,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "maxLengthReached",
      "start": 10369,
      "end": 10385,
      "loc": {
        "start": {
          "line": 327,
          "column": 13
        },
        "end": {
          "line": 327,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 10386,
      "end": 10387,
      "loc": {
        "start": {
          "line": 327,
          "column": 30
        },
        "end": {
          "line": 327,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 10388,
      "end": 10393,
      "loc": {
        "start": {
          "line": 327,
          "column": 32
        },
        "end": {
          "line": 327,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10393,
      "end": 10394,
      "loc": {
        "start": {
          "line": 327,
          "column": 37
        },
        "end": {
          "line": 327,
          "column": 38
        }
      }
    },
    {
      "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": 10404,
      "end": 10410,
      "loc": {
        "start": {
          "line": 328,
          "column": 8
        },
        "end": {
          "line": 328,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "false",
        "keyword": "false",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "false",
      "start": 10411,
      "end": 10416,
      "loc": {
        "start": {
          "line": 328,
          "column": 15
        },
        "end": {
          "line": 328,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10416,
      "end": 10417,
      "loc": {
        "start": {
          "line": 328,
          "column": 20
        },
        "end": {
          "line": 328,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10425,
      "end": 10426,
      "loc": {
        "start": {
          "line": 329,
          "column": 6
        },
        "end": {
          "line": 329,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10432,
      "end": 10433,
      "loc": {
        "start": {
          "line": 330,
          "column": 4
        },
        "end": {
          "line": 330,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10437,
      "end": 10438,
      "loc": {
        "start": {
          "line": 331,
          "column": 2
        },
        "end": {
          "line": 331,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Gets the current value of maxLengthReached\r\n   ",
      "start": 10444,
      "end": 10503,
      "loc": {
        "start": {
          "line": 333,
          "column": 2
        },
        "end": {
          "line": 335,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "isMaxLengthReached",
      "start": 10507,
      "end": 10525,
      "loc": {
        "start": {
          "line": 336,
          "column": 2
        },
        "end": {
          "line": 336,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10525,
      "end": 10526,
      "loc": {
        "start": {
          "line": 336,
          "column": 20
        },
        "end": {
          "line": 336,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10526,
      "end": 10527,
      "loc": {
        "start": {
          "line": 336,
          "column": 21
        },
        "end": {
          "line": 336,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10527,
      "end": 10528,
      "loc": {
        "start": {
          "line": 336,
          "column": 22
        },
        "end": {
          "line": 336,
          "column": 23
        }
      }
    },
    {
      "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": 10534,
      "end": 10540,
      "loc": {
        "start": {
          "line": 337,
          "column": 4
        },
        "end": {
          "line": 337,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Boolean",
      "start": 10541,
      "end": 10548,
      "loc": {
        "start": {
          "line": 337,
          "column": 11
        },
        "end": {
          "line": 337,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10548,
      "end": 10549,
      "loc": {
        "start": {
          "line": 337,
          "column": 18
        },
        "end": {
          "line": 337,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "this",
        "keyword": "this",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "this",
      "start": 10549,
      "end": 10553,
      "loc": {
        "start": {
          "line": 337,
          "column": 19
        },
        "end": {
          "line": 337,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10553,
      "end": 10554,
      "loc": {
        "start": {
          "line": 337,
          "column": 23
        },
        "end": {
          "line": 337,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "maxLengthReached",
      "start": 10554,
      "end": 10570,
      "loc": {
        "start": {
          "line": 337,
          "column": 24
        },
        "end": {
          "line": 337,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10570,
      "end": 10571,
      "loc": {
        "start": {
          "line": 337,
          "column": 40
        },
        "end": {
          "line": 337,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10571,
      "end": 10572,
      "loc": {
        "start": {
          "line": 337,
          "column": 41
        },
        "end": {
          "line": 337,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10576,
      "end": 10577,
      "loc": {
        "start": {
          "line": 338,
          "column": 2
        },
        "end": {
          "line": 338,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Transforms an arbitrary string to camelCase\r\n   * \r\n   * @param  {string} string The string to transform.\r\n   ",
      "start": 10583,
      "end": 10705,
      "loc": {
        "start": {
          "line": 340,
          "column": 2
        },
        "end": {
          "line": 344,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "camelCase",
      "start": 10709,
      "end": 10718,
      "loc": {
        "start": {
          "line": 345,
          "column": 2
        },
        "end": {
          "line": 345,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10718,
      "end": 10719,
      "loc": {
        "start": {
          "line": 345,
          "column": 11
        },
        "end": {
          "line": 345,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "string",
      "start": 10719,
      "end": 10725,
      "loc": {
        "start": {
          "line": 345,
          "column": 12
        },
        "end": {
          "line": 345,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10725,
      "end": 10726,
      "loc": {
        "start": {
          "line": 345,
          "column": 18
        },
        "end": {
          "line": 345,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10726,
      "end": 10727,
      "loc": {
        "start": {
          "line": 345,
          "column": 19
        },
        "end": {
          "line": 345,
          "column": 20
        }
      }
    },
    {
      "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": 10733,
      "end": 10739,
      "loc": {
        "start": {
          "line": 346,
          "column": 4
        },
        "end": {
          "line": 346,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "string",
      "start": 10740,
      "end": 10746,
      "loc": {
        "start": {
          "line": 346,
          "column": 11
        },
        "end": {
          "line": 346,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10746,
      "end": 10747,
      "loc": {
        "start": {
          "line": 346,
          "column": 17
        },
        "end": {
          "line": 346,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toLowerCase",
      "start": 10747,
      "end": 10758,
      "loc": {
        "start": {
          "line": 346,
          "column": 18
        },
        "end": {
          "line": 346,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10758,
      "end": 10759,
      "loc": {
        "start": {
          "line": 346,
          "column": 29
        },
        "end": {
          "line": 346,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10759,
      "end": 10760,
      "loc": {
        "start": {
          "line": 346,
          "column": 30
        },
        "end": {
          "line": 346,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10760,
      "end": 10761,
      "loc": {
        "start": {
          "line": 346,
          "column": 31
        },
        "end": {
          "line": 346,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "trim",
      "start": 10761,
      "end": 10765,
      "loc": {
        "start": {
          "line": 346,
          "column": 32
        },
        "end": {
          "line": 346,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10765,
      "end": 10766,
      "loc": {
        "start": {
          "line": 346,
          "column": 36
        },
        "end": {
          "line": 346,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10766,
      "end": 10767,
      "loc": {
        "start": {
          "line": 346,
          "column": 37
        },
        "end": {
          "line": 346,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10767,
      "end": 10768,
      "loc": {
        "start": {
          "line": 346,
          "column": 38
        },
        "end": {
          "line": 346,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "split",
      "start": 10768,
      "end": 10773,
      "loc": {
        "start": {
          "line": 346,
          "column": 39
        },
        "end": {
          "line": 346,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10773,
      "end": 10774,
      "loc": {
        "start": {
          "line": 346,
          "column": 44
        },
        "end": {
          "line": 346,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": "regexp",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": {
        "pattern": "[.\\-_\\s]",
        "flags": "g"
      },
      "start": 10774,
      "end": 10785,
      "loc": {
        "start": {
          "line": 346,
          "column": 45
        },
        "end": {
          "line": 346,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10785,
      "end": 10786,
      "loc": {
        "start": {
          "line": 346,
          "column": 56
        },
        "end": {
          "line": 346,
          "column": 57
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10786,
      "end": 10787,
      "loc": {
        "start": {
          "line": 346,
          "column": 57
        },
        "end": {
          "line": 346,
          "column": 58
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "reduce",
      "start": 10787,
      "end": 10793,
      "loc": {
        "start": {
          "line": 346,
          "column": 58
        },
        "end": {
          "line": 346,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10793,
      "end": 10794,
      "loc": {
        "start": {
          "line": 346,
          "column": 64
        },
        "end": {
          "line": 346,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10794,
      "end": 10795,
      "loc": {
        "start": {
          "line": 346,
          "column": 65
        },
        "end": {
          "line": 346,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "string",
      "start": 10795,
      "end": 10801,
      "loc": {
        "start": {
          "line": 346,
          "column": 66
        },
        "end": {
          "line": 346,
          "column": 72
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10801,
      "end": 10802,
      "loc": {
        "start": {
          "line": 346,
          "column": 72
        },
        "end": {
          "line": 346,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "word",
      "start": 10803,
      "end": 10807,
      "loc": {
        "start": {
          "line": 346,
          "column": 74
        },
        "end": {
          "line": 346,
          "column": 78
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10807,
      "end": 10808,
      "loc": {
        "start": {
          "line": 346,
          "column": 78
        },
        "end": {
          "line": 346,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10809,
      "end": 10811,
      "loc": {
        "start": {
          "line": 346,
          "column": 80
        },
        "end": {
          "line": 346,
          "column": 82
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "string",
      "start": 10812,
      "end": 10818,
      "loc": {
        "start": {
          "line": 346,
          "column": 83
        },
        "end": {
          "line": 346,
          "column": 89
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 10819,
      "end": 10820,
      "loc": {
        "start": {
          "line": 346,
          "column": 90
        },
        "end": {
          "line": 346,
          "column": 91
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "word",
      "start": 10821,
      "end": 10825,
      "loc": {
        "start": {
          "line": 346,
          "column": 92
        },
        "end": {
          "line": 346,
          "column": 96
        }
      }
    },
    {
      "type": {
        "label": "[",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10825,
      "end": 10826,
      "loc": {
        "start": {
          "line": 346,
          "column": 96
        },
        "end": {
          "line": 346,
          "column": 97
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 10826,
      "end": 10827,
      "loc": {
        "start": {
          "line": 346,
          "column": 97
        },
        "end": {
          "line": 346,
          "column": 98
        }
      }
    },
    {
      "type": {
        "label": "]",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10827,
      "end": 10828,
      "loc": {
        "start": {
          "line": 346,
          "column": 98
        },
        "end": {
          "line": 346,
          "column": 99
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10828,
      "end": 10829,
      "loc": {
        "start": {
          "line": 346,
          "column": 99
        },
        "end": {
          "line": 346,
          "column": 100
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "toUpperCase",
      "start": 10829,
      "end": 10840,
      "loc": {
        "start": {
          "line": 346,
          "column": 100
        },
        "end": {
          "line": 346,
          "column": 111
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10840,
      "end": 10841,
      "loc": {
        "start": {
          "line": 346,
          "column": 111
        },
        "end": {
          "line": 346,
          "column": 112
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10841,
      "end": 10842,
      "loc": {
        "start": {
          "line": 346,
          "column": 112
        },
        "end": {
          "line": 346,
          "column": 113
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 10843,
      "end": 10844,
      "loc": {
        "start": {
          "line": 346,
          "column": 114
        },
        "end": {
          "line": 346,
          "column": 115
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "word",
      "start": 10845,
      "end": 10849,
      "loc": {
        "start": {
          "line": 346,
          "column": 116
        },
        "end": {
          "line": 346,
          "column": 120
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10849,
      "end": 10850,
      "loc": {
        "start": {
          "line": 346,
          "column": 120
        },
        "end": {
          "line": 346,
          "column": 121
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "slice",
      "start": 10850,
      "end": 10855,
      "loc": {
        "start": {
          "line": 346,
          "column": 121
        },
        "end": {
          "line": 346,
          "column": 126
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10855,
      "end": 10856,
      "loc": {
        "start": {
          "line": 346,
          "column": 126
        },
        "end": {
          "line": 346,
          "column": 127
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 1,
      "start": 10856,
      "end": 10857,
      "loc": {
        "start": {
          "line": 346,
          "column": 127
        },
        "end": {
          "line": 346,
          "column": 128
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10857,
      "end": 10858,
      "loc": {
        "start": {
          "line": 346,
          "column": 128
        },
        "end": {
          "line": 346,
          "column": 129
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10858,
      "end": 10859,
      "loc": {
        "start": {
          "line": 346,
          "column": 129
        },
        "end": {
          "line": 346,
          "column": 130
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10859,
      "end": 10860,
      "loc": {
        "start": {
          "line": 346,
          "column": 130
        },
        "end": {
          "line": 346,
          "column": 131
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 10864,
      "end": 10865,
      "loc": {
        "start": {
          "line": 347,
          "column": 2
        },
        "end": {
          "line": 347,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 10865,
      "end": 10866,
      "loc": {
        "start": {
          "line": 347,
          "column": 3
        },
        "end": {
          "line": 347,
          "column": 4
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Counts the number of duplicates in a given array\r\n   * \r\n   * @param  {Array} array The haystack to search in\r\n   * @param  {string} value The needle to search for\r\n   ",
      "start": 10872,
      "end": 11052,
      "loc": {
        "start": {
          "line": 349,
          "column": 2
        },
        "end": {
          "line": 354,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "countInArray",
      "start": 11056,
      "end": 11068,
      "loc": {
        "start": {
          "line": 355,
          "column": 2
        },
        "end": {
          "line": 355,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11068,
      "end": 11069,
      "loc": {
        "start": {
          "line": 355,
          "column": 14
        },
        "end": {
          "line": 355,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "array",
      "start": 11069,
      "end": 11074,
      "loc": {
        "start": {
          "line": 355,
          "column": 15
        },
        "end": {
          "line": 355,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 11074,
      "end": 11075,
      "loc": {
        "start": {
          "line": 355,
          "column": 20
        },
        "end": {
          "line": 355,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "value",
      "start": 11076,
      "end": 11081,
      "loc": {
        "start": {
          "line": 355,
          "column": 22
        },
        "end": {
          "line": 355,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11081,
      "end": 11082,
      "loc": {
        "start": {
          "line": 355,
          "column": 27
        },
        "end": {
          "line": 355,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11082,
      "end": 11083,
      "loc": {
        "start": {
          "line": 355,
          "column": 28
        },
        "end": {
          "line": 355,
          "column": 29
        }
      }
    },
    {
      "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": 11089,
      "end": 11095,
      "loc": {
        "start": {
          "line": 356,
          "column": 4
        },
        "end": {
          "line": 356,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "array",
      "start": 11096,
      "end": 11101,
      "loc": {
        "start": {
          "line": 356,
          "column": 11
        },
        "end": {
          "line": 356,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 11101,
      "end": 11102,
      "loc": {
        "start": {
          "line": 356,
          "column": 16
        },
        "end": {
          "line": 356,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "reduce",
      "start": 11102,
      "end": 11108,
      "loc": {
        "start": {
          "line": 356,
          "column": 17
        },
        "end": {
          "line": 356,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11108,
      "end": 11109,
      "loc": {
        "start": {
          "line": 356,
          "column": 23
        },
        "end": {
          "line": 356,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11109,
      "end": 11110,
      "loc": {
        "start": {
          "line": 356,
          "column": 24
        },
        "end": {
          "line": 356,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "n",
      "start": 11110,
      "end": 11111,
      "loc": {
        "start": {
          "line": 356,
          "column": 25
        },
        "end": {
          "line": 356,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 11111,
      "end": 11112,
      "loc": {
        "start": {
          "line": 356,
          "column": 26
        },
        "end": {
          "line": 356,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "x",
      "start": 11113,
      "end": 11114,
      "loc": {
        "start": {
          "line": 356,
          "column": 28
        },
        "end": {
          "line": 356,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11114,
      "end": 11115,
      "loc": {
        "start": {
          "line": 356,
          "column": 29
        },
        "end": {
          "line": 356,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 11116,
      "end": 11118,
      "loc": {
        "start": {
          "line": 356,
          "column": 31
        },
        "end": {
          "line": 356,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "n",
      "start": 11119,
      "end": 11120,
      "loc": {
        "start": {
          "line": 356,
          "column": 34
        },
        "end": {
          "line": 356,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "+/-",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": true,
        "postfix": false,
        "binop": 9,
        "updateContext": null
      },
      "value": "+",
      "start": 11121,
      "end": 11122,
      "loc": {
        "start": {
          "line": 356,
          "column": 36
        },
        "end": {
          "line": 356,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11123,
      "end": 11124,
      "loc": {
        "start": {
          "line": 356,
          "column": 38
        },
        "end": {
          "line": 356,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "x",
      "start": 11124,
      "end": 11125,
      "loc": {
        "start": {
          "line": 356,
          "column": 39
        },
        "end": {
          "line": 356,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 11126,
      "end": 11129,
      "loc": {
        "start": {
          "line": 356,
          "column": 41
        },
        "end": {
          "line": 356,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "value",
      "start": 11130,
      "end": 11135,
      "loc": {
        "start": {
          "line": 356,
          "column": 45
        },
        "end": {
          "line": 356,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11135,
      "end": 11136,
      "loc": {
        "start": {
          "line": 356,
          "column": 50
        },
        "end": {
          "line": 356,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 11136,
      "end": 11137,
      "loc": {
        "start": {
          "line": 356,
          "column": 51
        },
        "end": {
          "line": 356,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "num",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": 0,
      "start": 11138,
      "end": 11139,
      "loc": {
        "start": {
          "line": 356,
          "column": 53
        },
        "end": {
          "line": 356,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11139,
      "end": 11140,
      "loc": {
        "start": {
          "line": 356,
          "column": 54
        },
        "end": {
          "line": 356,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 11140,
      "end": 11141,
      "loc": {
        "start": {
          "line": 356,
          "column": 55
        },
        "end": {
          "line": 356,
          "column": 56
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11145,
      "end": 11146,
      "loc": {
        "start": {
          "line": 357,
          "column": 2
        },
        "end": {
          "line": 357,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 11150,
      "end": 11151,
      "loc": {
        "start": {
          "line": 359,
          "column": 0
        },
        "end": {
          "line": 359,
          "column": 1
        }
      }
    },
    {
      "type": {
        "label": "export",
        "keyword": "export",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "export",
      "start": 11155,
      "end": 11161,
      "loc": {
        "start": {
          "line": 361,
          "column": 0
        },
        "end": {
          "line": 361,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "default",
        "keyword": "default",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "default",
      "start": 11162,
      "end": 11169,
      "loc": {
        "start": {
          "line": 361,
          "column": 7
        },
        "end": {
          "line": 361,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Utilities",
      "start": 11170,
      "end": 11179,
      "loc": {
        "start": {
          "line": 361,
          "column": 15
        },
        "end": {
          "line": 361,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 11179,
      "end": 11180,
      "loc": {
        "start": {
          "line": 361,
          "column": 24
        },
        "end": {
          "line": 361,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 11180,
      "end": 11180,
      "loc": {
        "start": {
          "line": 361,
          "column": 25
        },
        "end": {
          "line": 361,
          "column": 25
        }
      }
    }
  ]
}