{
  "type": "File",
  "start": 0,
  "end": 1918,
  "loc": {
    "start": {
      "line": 1,
      "column": 0
    },
    "end": {
      "line": 85,
      "column": 19
    }
  },
  "program": {
    "type": "Program",
    "start": 0,
    "end": 1918,
    "loc": {
      "start": {
        "line": 1,
        "column": 0
      },
      "end": {
        "line": 85,
        "column": 19
      }
    },
    "sourceType": "module",
    "body": [
      {
        "type": "ImportDeclaration",
        "start": 0,
        "end": 30,
        "loc": {
          "start": {
            "line": 1,
            "column": 0
          },
          "end": {
            "line": 1,
            "column": 30
          }
        },
        "specifiers": [
          {
            "type": "ImportDefaultSpecifier",
            "start": 7,
            "end": 15,
            "loc": {
              "start": {
                "line": 1,
                "column": 7
              },
              "end": {
                "line": 1,
                "column": 15
              }
            },
            "local": {
              "type": "Identifier",
              "start": 7,
              "end": 15,
              "loc": {
                "start": {
                  "line": 1,
                  "column": 7
                },
                "end": {
                  "line": 1,
                  "column": 15
                },
                "identifierName": "Keyboard"
              },
              "name": "Keyboard"
            }
          }
        ],
        "source": {
          "type": "StringLiteral",
          "start": 21,
          "end": 29,
          "loc": {
            "start": {
              "line": 1,
              "column": 21
            },
            "end": {
              "line": 1,
              "column": 29
            }
          },
          "extra": {
            "rawValue": "../lib",
            "raw": "'../lib'"
          },
          "value": "../lib"
        }
      },
      {
        "type": "ImportDeclaration",
        "start": 32,
        "end": 55,
        "loc": {
          "start": {
            "line": 2,
            "column": 0
          },
          "end": {
            "line": 2,
            "column": 23
          }
        },
        "specifiers": [],
        "source": {
          "type": "StringLiteral",
          "start": 39,
          "end": 54,
          "loc": {
            "start": {
              "line": 2,
              "column": 7
            },
            "end": {
              "line": 2,
              "column": 22
            }
          },
          "extra": {
            "rawValue": "./css/App.css",
            "raw": "'./css/App.css'"
          },
          "value": "./css/App.css"
        },
        "trailingComments": [
          {
            "type": "CommentBlock",
            "value": "*\r\n * simple-keyboard demo\r\n ",
            "start": 59,
            "end": 92,
            "loc": {
              "start": {
                "line": 4,
                "column": 0
              },
              "end": {
                "line": 6,
                "column": 3
              }
            }
          }
        ]
      },
      {
        "type": "Identifier",
        "start": 94,
        "end": 1895,
        "loc": {
          "start": {
            "line": 7,
            "column": 0
          },
          "end": {
            "line": 83,
            "column": 1
          }
        },
        "id": {
          "type": "Identifier",
          "start": 100,
          "end": 103,
          "loc": {
            "start": {
              "line": 7,
              "column": 6
            },
            "end": {
              "line": 7,
              "column": 9
            },
            "identifierName": "App"
          },
          "name": "App",
          "leadingComments": null
        },
        "superClass": null,
        "body": {
          "type": "ClassBody",
          "start": 104,
          "end": 1895,
          "loc": {
            "start": {
              "line": 7,
              "column": 10
            },
            "end": {
              "line": 83,
              "column": 1
            }
          },
          "body": [
            {
              "type": "ClassMethod",
              "start": 157,
              "end": 350,
              "loc": {
                "start": {
                  "line": 11,
                  "column": 2
                },
                "end": {
                  "line": 19,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 157,
                "end": 168,
                "loc": {
                  "start": {
                    "line": 11,
                    "column": 2
                  },
                  "end": {
                    "line": 11,
                    "column": 13
                  },
                  "identifierName": "constructor"
                },
                "name": "constructor",
                "leadingComments": null
              },
              "kind": "constructor",
              "id": null,
              "generator": false,
              "expression": false,
              "async": false,
              "params": [],
              "body": {
                "type": "BlockStatement",
                "start": 170,
                "end": 350,
                "loc": {
                  "start": {
                    "line": 11,
                    "column": 15
                  },
                  "end": {
                    "line": 19,
                    "column": 3
                  }
                },
                "body": [
                  {
                    "type": "ExpressionStatement",
                    "start": 177,
                    "end": 241,
                    "loc": {
                      "start": {
                        "line": 12,
                        "column": 4
                      },
                      "end": {
                        "line": 12,
                        "column": 68
                      }
                    },
                    "expression": {
                      "type": "CallExpression",
                      "start": 177,
                      "end": 240,
                      "loc": {
                        "start": {
                          "line": 12,
                          "column": 4
                        },
                        "end": {
                          "line": 12,
                          "column": 67
                        }
                      },
                      "callee": {
                        "type": "MemberExpression",
                        "start": 177,
                        "end": 202,
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 4
                          },
                          "end": {
                            "line": 12,
                            "column": 29
                          }
                        },
                        "object": {
                          "type": "Identifier",
                          "start": 177,
                          "end": 185,
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 4
                            },
                            "end": {
                              "line": 12,
                              "column": 12
                            },
                            "identifierName": "document"
                          },
                          "name": "document"
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 186,
                          "end": 202,
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 13
                            },
                            "end": {
                              "line": 12,
                              "column": 29
                            },
                            "identifierName": "addEventListener"
                          },
                          "name": "addEventListener"
                        },
                        "computed": false
                      },
                      "arguments": [
                        {
                          "type": "StringLiteral",
                          "start": 203,
                          "end": 221,
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 30
                            },
                            "end": {
                              "line": 12,
                              "column": 48
                            }
                          },
                          "extra": {
                            "rawValue": "DOMContentLoaded",
                            "raw": "'DOMContentLoaded'"
                          },
                          "value": "DOMContentLoaded"
                        },
                        {
                          "type": "MemberExpression",
                          "start": 223,
                          "end": 239,
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 50
                            },
                            "end": {
                              "line": 12,
                              "column": 66
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 223,
                            "end": 227,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 50
                              },
                              "end": {
                                "line": 12,
                                "column": 54
                              }
                            }
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 228,
                            "end": 239,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 55
                              },
                              "end": {
                                "line": 12,
                                "column": 66
                              },
                              "identifierName": "onDOMLoaded"
                            },
                            "name": "onDOMLoaded"
                          },
                          "computed": false
                        }
                      ]
                    },
                    "trailingComments": [
                      {
                        "type": "CommentBlock",
                        "value": "*\r\n     * Default input name\r\n     * @type {string}\r\n     ",
                        "start": 249,
                        "end": 311,
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 4
                          },
                          "end": {
                            "line": 17,
                            "column": 7
                          }
                        }
                      }
                    ]
                  },
                  {
                    "type": "ExpressionStatement",
                    "start": 317,
                    "end": 345,
                    "loc": {
                      "start": {
                        "line": 18,
                        "column": 4
                      },
                      "end": {
                        "line": 18,
                        "column": 32
                      }
                    },
                    "expression": {
                      "type": "AssignmentExpression",
                      "start": 317,
                      "end": 344,
                      "loc": {
                        "start": {
                          "line": 18,
                          "column": 4
                        },
                        "end": {
                          "line": 18,
                          "column": 31
                        }
                      },
                      "operator": "=",
                      "left": {
                        "type": "MemberExpression",
                        "start": 317,
                        "end": 332,
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 4
                          },
                          "end": {
                            "line": 18,
                            "column": 19
                          }
                        },
                        "object": {
                          "type": "ThisExpression",
                          "start": 317,
                          "end": 321,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 4
                            },
                            "end": {
                              "line": 18,
                              "column": 8
                            }
                          },
                          "leadingComments": null
                        },
                        "property": {
                          "type": "Identifier",
                          "start": 322,
                          "end": 332,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 9
                            },
                            "end": {
                              "line": 18,
                              "column": 19
                            },
                            "identifierName": "layoutName"
                          },
                          "name": "layoutName"
                        },
                        "computed": false,
                        "leadingComments": null
                      },
                      "right": {
                        "type": "StringLiteral",
                        "start": 335,
                        "end": 344,
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 22
                          },
                          "end": {
                            "line": 18,
                            "column": 31
                          }
                        },
                        "extra": {
                          "rawValue": "default",
                          "raw": "\"default\""
                        },
                        "value": "default"
                      },
                      "leadingComments": null
                    },
                    "leadingComments": [
                      {
                        "type": "CommentBlock",
                        "value": "*\r\n     * Default input name\r\n     * @type {string}\r\n     ",
                        "start": 249,
                        "end": 311,
                        "loc": {
                          "start": {
                            "line": 14,
                            "column": 4
                          },
                          "end": {
                            "line": 17,
                            "column": 7
                          }
                        }
                      }
                    ]
                  }
                ],
                "directives": [],
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Instantiates the demo class\r\n   ",
                  "start": 109,
                  "end": 153,
                  "loc": {
                    "start": {
                      "line": 8,
                      "column": 2
                    },
                    "end": {
                      "line": 10,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Executed when the DOM is ready\r\n   ",
                  "start": 356,
                  "end": 403,
                  "loc": {
                    "start": {
                      "line": 21,
                      "column": 2
                    },
                    "end": {
                      "line": 23,
                      "column": 5
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassProperty",
              "start": 407,
              "end": 1159,
              "loc": {
                "start": {
                  "line": 24,
                  "column": 2
                },
                "end": {
                  "line": 49,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 407,
                "end": 418,
                "loc": {
                  "start": {
                    "line": 24,
                    "column": 2
                  },
                  "end": {
                    "line": 24,
                    "column": 13
                  },
                  "identifierName": "onDOMLoaded"
                },
                "name": "onDOMLoaded",
                "leadingComments": null
              },
              "value": {
                "type": "ArrowFunctionExpression",
                "start": 421,
                "end": 1159,
                "loc": {
                  "start": {
                    "line": 24,
                    "column": 16
                  },
                  "end": {
                    "line": 49,
                    "column": 3
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 427,
                  "end": 1159,
                  "loc": {
                    "start": {
                      "line": 24,
                      "column": 22
                    },
                    "end": {
                      "line": 49,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 499,
                      "end": 765,
                      "loc": {
                        "start": {
                          "line": 28,
                          "column": 4
                        },
                        "end": {
                          "line": 35,
                          "column": 7
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 499,
                        "end": 764,
                        "loc": {
                          "start": {
                            "line": 28,
                            "column": 4
                          },
                          "end": {
                            "line": 35,
                            "column": 6
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 499,
                          "end": 512,
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 4
                            },
                            "end": {
                              "line": 28,
                              "column": 17
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 499,
                            "end": 503,
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 4
                              },
                              "end": {
                                "line": 28,
                                "column": 8
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 504,
                            "end": 512,
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 9
                              },
                              "end": {
                                "line": 28,
                                "column": 17
                              },
                              "identifierName": "keyboard"
                            },
                            "name": "keyboard"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "NewExpression",
                          "start": 515,
                          "end": 764,
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 20
                            },
                            "end": {
                              "line": 35,
                              "column": 6
                            }
                          },
                          "callee": {
                            "type": "Identifier",
                            "start": 519,
                            "end": 527,
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 24
                              },
                              "end": {
                                "line": 28,
                                "column": 32
                              },
                              "identifierName": "Keyboard"
                            },
                            "name": "Keyboard"
                          },
                          "arguments": [
                            {
                              "type": "ObjectExpression",
                              "start": 528,
                              "end": 763,
                              "loc": {
                                "start": {
                                  "line": 28,
                                  "column": 33
                                },
                                "end": {
                                  "line": 35,
                                  "column": 5
                                }
                              },
                              "properties": [
                                {
                                  "type": "ObjectProperty",
                                  "start": 537,
                                  "end": 548,
                                  "loc": {
                                    "start": {
                                      "line": 29,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 29,
                                      "column": 17
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 537,
                                    "end": 542,
                                    "loc": {
                                      "start": {
                                        "line": 29,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 29,
                                        "column": 11
                                      },
                                      "identifierName": "debug"
                                    },
                                    "name": "debug"
                                  },
                                  "value": {
                                    "type": "BooleanLiteral",
                                    "start": 544,
                                    "end": 548,
                                    "loc": {
                                      "start": {
                                        "line": 29,
                                        "column": 13
                                      },
                                      "end": {
                                        "line": 29,
                                        "column": 17
                                      }
                                    },
                                    "value": true
                                  }
                                },
                                {
                                  "type": "ObjectProperty",
                                  "start": 557,
                                  "end": 584,
                                  "loc": {
                                    "start": {
                                      "line": 30,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 30,
                                      "column": 33
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 557,
                                    "end": 567,
                                    "loc": {
                                      "start": {
                                        "line": 30,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 30,
                                        "column": 16
                                      },
                                      "identifierName": "layoutName"
                                    },
                                    "name": "layoutName"
                                  },
                                  "value": {
                                    "type": "MemberExpression",
                                    "start": 569,
                                    "end": 584,
                                    "loc": {
                                      "start": {
                                        "line": 30,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 30,
                                        "column": 33
                                      }
                                    },
                                    "object": {
                                      "type": "ThisExpression",
                                      "start": 569,
                                      "end": 573,
                                      "loc": {
                                        "start": {
                                          "line": 30,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 30,
                                          "column": 22
                                        }
                                      }
                                    },
                                    "property": {
                                      "type": "Identifier",
                                      "start": 574,
                                      "end": 584,
                                      "loc": {
                                        "start": {
                                          "line": 30,
                                          "column": 23
                                        },
                                        "end": {
                                          "line": 30,
                                          "column": 33
                                        },
                                        "identifierName": "layoutName"
                                      },
                                      "name": "layoutName"
                                    },
                                    "computed": false
                                  }
                                },
                                {
                                  "type": "ObjectProperty",
                                  "start": 593,
                                  "end": 632,
                                  "loc": {
                                    "start": {
                                      "line": 31,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 31,
                                      "column": 45
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 593,
                                    "end": 601,
                                    "loc": {
                                      "start": {
                                        "line": 31,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 31,
                                        "column": 14
                                      },
                                      "identifierName": "onChange"
                                    },
                                    "name": "onChange"
                                  },
                                  "value": {
                                    "type": "ArrowFunctionExpression",
                                    "start": 603,
                                    "end": 632,
                                    "loc": {
                                      "start": {
                                        "line": 31,
                                        "column": 16
                                      },
                                      "end": {
                                        "line": 31,
                                        "column": 45
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": true,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 603,
                                        "end": 608,
                                        "loc": {
                                          "start": {
                                            "line": 31,
                                            "column": 16
                                          },
                                          "end": {
                                            "line": 31,
                                            "column": 21
                                          },
                                          "identifierName": "input"
                                        },
                                        "name": "input"
                                      }
                                    ],
                                    "body": {
                                      "type": "CallExpression",
                                      "start": 612,
                                      "end": 632,
                                      "loc": {
                                        "start": {
                                          "line": 31,
                                          "column": 25
                                        },
                                        "end": {
                                          "line": 31,
                                          "column": 45
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 612,
                                        "end": 625,
                                        "loc": {
                                          "start": {
                                            "line": 31,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 31,
                                            "column": 38
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 612,
                                          "end": 616,
                                          "loc": {
                                            "start": {
                                              "line": 31,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 31,
                                              "column": 29
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 617,
                                          "end": 625,
                                          "loc": {
                                            "start": {
                                              "line": 31,
                                              "column": 30
                                            },
                                            "end": {
                                              "line": 31,
                                              "column": 38
                                            },
                                            "identifierName": "onChange"
                                          },
                                          "name": "onChange"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 626,
                                          "end": 631,
                                          "loc": {
                                            "start": {
                                              "line": 31,
                                              "column": 39
                                            },
                                            "end": {
                                              "line": 31,
                                              "column": 44
                                            },
                                            "identifierName": "input"
                                          },
                                          "name": "input"
                                        }
                                      ]
                                    }
                                  }
                                },
                                {
                                  "type": "ObjectProperty",
                                  "start": 641,
                                  "end": 686,
                                  "loc": {
                                    "start": {
                                      "line": 32,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 32,
                                      "column": 51
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 641,
                                    "end": 651,
                                    "loc": {
                                      "start": {
                                        "line": 32,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 32,
                                        "column": 16
                                      },
                                      "identifierName": "onKeyPress"
                                    },
                                    "name": "onKeyPress"
                                  },
                                  "value": {
                                    "type": "ArrowFunctionExpression",
                                    "start": 653,
                                    "end": 686,
                                    "loc": {
                                      "start": {
                                        "line": 32,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 32,
                                        "column": 51
                                      }
                                    },
                                    "id": null,
                                    "generator": false,
                                    "expression": true,
                                    "async": false,
                                    "params": [
                                      {
                                        "type": "Identifier",
                                        "start": 653,
                                        "end": 659,
                                        "loc": {
                                          "start": {
                                            "line": 32,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 32,
                                            "column": 24
                                          },
                                          "identifierName": "button"
                                        },
                                        "name": "button"
                                      }
                                    ],
                                    "body": {
                                      "type": "CallExpression",
                                      "start": 663,
                                      "end": 686,
                                      "loc": {
                                        "start": {
                                          "line": 32,
                                          "column": 28
                                        },
                                        "end": {
                                          "line": 32,
                                          "column": 51
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 663,
                                        "end": 678,
                                        "loc": {
                                          "start": {
                                            "line": 32,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 32,
                                            "column": 43
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 663,
                                          "end": 667,
                                          "loc": {
                                            "start": {
                                              "line": 32,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 32,
                                              "column": 32
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 668,
                                          "end": 678,
                                          "loc": {
                                            "start": {
                                              "line": 32,
                                              "column": 33
                                            },
                                            "end": {
                                              "line": 32,
                                              "column": 43
                                            },
                                            "identifierName": "onKeyPress"
                                          },
                                          "name": "onKeyPress"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "Identifier",
                                          "start": 679,
                                          "end": 685,
                                          "loc": {
                                            "start": {
                                              "line": 32,
                                              "column": 44
                                            },
                                            "end": {
                                              "line": 32,
                                              "column": 50
                                            },
                                            "identifierName": "button"
                                          },
                                          "name": "button"
                                        }
                                      ]
                                    }
                                  }
                                },
                                {
                                  "type": "ObjectProperty",
                                  "start": 695,
                                  "end": 715,
                                  "loc": {
                                    "start": {
                                      "line": 33,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 33,
                                      "column": 26
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 695,
                                    "end": 709,
                                    "loc": {
                                      "start": {
                                        "line": 33,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 33,
                                        "column": 20
                                      },
                                      "identifierName": "newLineOnEnter"
                                    },
                                    "name": "newLineOnEnter"
                                  },
                                  "value": {
                                    "type": "BooleanLiteral",
                                    "start": 711,
                                    "end": 715,
                                    "loc": {
                                      "start": {
                                        "line": 33,
                                        "column": 22
                                      },
                                      "end": {
                                        "line": 33,
                                        "column": 26
                                      }
                                    },
                                    "value": true
                                  }
                                },
                                {
                                  "type": "ObjectProperty",
                                  "start": 724,
                                  "end": 755,
                                  "loc": {
                                    "start": {
                                      "line": 34,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 34,
                                      "column": 37
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 724,
                                    "end": 749,
                                    "loc": {
                                      "start": {
                                        "line": 34,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 34,
                                        "column": 31
                                      },
                                      "identifierName": "physicalKeyboardHighlight"
                                    },
                                    "name": "physicalKeyboardHighlight"
                                  },
                                  "value": {
                                    "type": "BooleanLiteral",
                                    "start": 751,
                                    "end": 755,
                                    "loc": {
                                      "start": {
                                        "line": 34,
                                        "column": 33
                                      },
                                      "end": {
                                        "line": 34,
                                        "column": 37
                                      }
                                    },
                                    "value": true
                                  }
                                }
                              ]
                            }
                          ]
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\r\n     * Creates a new simple-keyboard instance\r\n     ",
                          "start": 434,
                          "end": 493,
                          "loc": {
                            "start": {
                              "line": 25,
                              "column": 4
                            },
                            "end": {
                              "line": 27,
                              "column": 7
                            }
                          }
                        }
                      ],
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\r\n     * Adding preview (demo only)\r\n     ",
                          "start": 775,
                          "end": 822,
                          "loc": {
                            "start": {
                              "line": 37,
                              "column": 4
                            },
                            "end": {
                              "line": 39,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 828,
                      "end": 1013,
                      "loc": {
                        "start": {
                          "line": 40,
                          "column": 4
                        },
                        "end": {
                          "line": 44,
                          "column": 7
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 828,
                        "end": 1012,
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 4
                          },
                          "end": {
                            "line": 44,
                            "column": 6
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 828,
                          "end": 889,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 4
                            },
                            "end": {
                              "line": 40,
                              "column": 65
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 828,
                            "end": 870,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 4
                              },
                              "end": {
                                "line": 40,
                                "column": 46
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 828,
                              "end": 850,
                              "loc": {
                                "start": {
                                  "line": 40,
                                  "column": 4
                                },
                                "end": {
                                  "line": 40,
                                  "column": 26
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 828,
                                "end": 836,
                                "loc": {
                                  "start": {
                                    "line": 40,
                                    "column": 4
                                  },
                                  "end": {
                                    "line": 40,
                                    "column": 12
                                  },
                                  "identifierName": "document"
                                },
                                "name": "document",
                                "leadingComments": null
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 837,
                                "end": 850,
                                "loc": {
                                  "start": {
                                    "line": 40,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 40,
                                    "column": 26
                                  },
                                  "identifierName": "querySelector"
                                },
                                "name": "querySelector"
                              },
                              "computed": false,
                              "leadingComments": null
                            },
                            "arguments": [
                              {
                                "type": "StringLiteral",
                                "start": 851,
                                "end": 869,
                                "loc": {
                                  "start": {
                                    "line": 40,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 40,
                                    "column": 45
                                  }
                                },
                                "extra": {
                                  "rawValue": ".simple-keyboard",
                                  "raw": "'.simple-keyboard'"
                                },
                                "value": ".simple-keyboard"
                              }
                            ],
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 871,
                            "end": 889,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 47
                              },
                              "end": {
                                "line": 40,
                                "column": 65
                              },
                              "identifierName": "insertAdjacentHTML"
                            },
                            "name": "insertAdjacentHTML"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "arguments": [
                          {
                            "type": "StringLiteral",
                            "start": 890,
                            "end": 903,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 66
                              },
                              "end": {
                                "line": 40,
                                "column": 79
                              }
                            },
                            "extra": {
                              "rawValue": "beforebegin",
                              "raw": "'beforebegin'"
                            },
                            "value": "beforebegin"
                          },
                          {
                            "type": "TemplateLiteral",
                            "start": 905,
                            "end": 1011,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 81
                              },
                              "end": {
                                "line": 44,
                                "column": 5
                              }
                            },
                            "expressions": [],
                            "quasis": [
                              {
                                "type": "TemplateElement",
                                "start": 906,
                                "end": 1010,
                                "loc": {
                                  "start": {
                                    "line": 40,
                                    "column": 82
                                  },
                                  "end": {
                                    "line": 44,
                                    "column": 4
                                  }
                                },
                                "value": {
                                  "raw": "\n    <div class=\"simple-keyboard-preview\">\n      <textarea class=\"input\"></textarea>\n    </div>\n    ",
                                  "cooked": "\n    <div class=\"simple-keyboard-preview\">\n      <textarea class=\"input\"></textarea>\n    </div>\n    "
                                },
                                "tail": true
                              }
                            ]
                          }
                        ],
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\r\n     * Adding preview (demo only)\r\n     ",
                          "start": 775,
                          "end": 822,
                          "loc": {
                            "start": {
                              "line": 37,
                              "column": 4
                            },
                            "end": {
                              "line": 39,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1023,
                      "end": 1154,
                      "loc": {
                        "start": {
                          "line": 46,
                          "column": 4
                        },
                        "end": {
                          "line": 48,
                          "column": 7
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1023,
                        "end": 1153,
                        "loc": {
                          "start": {
                            "line": 46,
                            "column": 4
                          },
                          "end": {
                            "line": 48,
                            "column": 6
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1023,
                          "end": 1072,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 4
                            },
                            "end": {
                              "line": 46,
                              "column": 53
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 1023,
                            "end": 1055,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 4
                              },
                              "end": {
                                "line": 46,
                                "column": 36
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1023,
                              "end": 1045,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 4
                                },
                                "end": {
                                  "line": 46,
                                  "column": 26
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1023,
                                "end": 1031,
                                "loc": {
                                  "start": {
                                    "line": 46,
                                    "column": 4
                                  },
                                  "end": {
                                    "line": 46,
                                    "column": 12
                                  },
                                  "identifierName": "document"
                                },
                                "name": "document"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1032,
                                "end": 1045,
                                "loc": {
                                  "start": {
                                    "line": 46,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 46,
                                    "column": 26
                                  },
                                  "identifierName": "querySelector"
                                },
                                "name": "querySelector"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "StringLiteral",
                                "start": 1046,
                                "end": 1054,
                                "loc": {
                                  "start": {
                                    "line": 46,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 46,
                                    "column": 35
                                  }
                                },
                                "extra": {
                                  "rawValue": ".input",
                                  "raw": "'.input'"
                                },
                                "value": ".input"
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1056,
                            "end": 1072,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 37
                              },
                              "end": {
                                "line": 46,
                                "column": 53
                              },
                              "identifierName": "addEventListener"
                            },
                            "name": "addEventListener"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "StringLiteral",
                            "start": 1073,
                            "end": 1080,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 54
                              },
                              "end": {
                                "line": 46,
                                "column": 61
                              }
                            },
                            "extra": {
                              "rawValue": "input",
                              "raw": "'input'"
                            },
                            "value": "input"
                          },
                          {
                            "type": "ArrowFunctionExpression",
                            "start": 1082,
                            "end": 1152,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 63
                              },
                              "end": {
                                "line": 48,
                                "column": 5
                              }
                            },
                            "id": null,
                            "generator": false,
                            "expression": false,
                            "async": false,
                            "params": [
                              {
                                "type": "Identifier",
                                "start": 1083,
                                "end": 1088,
                                "loc": {
                                  "start": {
                                    "line": 46,
                                    "column": 64
                                  },
                                  "end": {
                                    "line": 46,
                                    "column": 69
                                  },
                                  "identifierName": "event"
                                },
                                "name": "event"
                              }
                            ],
                            "body": {
                              "type": "BlockStatement",
                              "start": 1093,
                              "end": 1152,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 74
                                },
                                "end": {
                                  "line": 48,
                                  "column": 5
                                }
                              },
                              "body": [
                                {
                                  "type": "ExpressionStatement",
                                  "start": 1102,
                                  "end": 1145,
                                  "loc": {
                                    "start": {
                                      "line": 47,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 47,
                                      "column": 49
                                    }
                                  },
                                  "expression": {
                                    "type": "CallExpression",
                                    "start": 1102,
                                    "end": 1144,
                                    "loc": {
                                      "start": {
                                        "line": 47,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 47,
                                        "column": 48
                                      }
                                    },
                                    "callee": {
                                      "type": "MemberExpression",
                                      "start": 1102,
                                      "end": 1124,
                                      "loc": {
                                        "start": {
                                          "line": 47,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 47,
                                          "column": 28
                                        }
                                      },
                                      "object": {
                                        "type": "MemberExpression",
                                        "start": 1102,
                                        "end": 1115,
                                        "loc": {
                                          "start": {
                                            "line": 47,
                                            "column": 6
                                          },
                                          "end": {
                                            "line": 47,
                                            "column": 19
                                          }
                                        },
                                        "object": {
                                          "type": "ThisExpression",
                                          "start": 1102,
                                          "end": 1106,
                                          "loc": {
                                            "start": {
                                              "line": 47,
                                              "column": 6
                                            },
                                            "end": {
                                              "line": 47,
                                              "column": 10
                                            }
                                          }
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 1107,
                                          "end": 1115,
                                          "loc": {
                                            "start": {
                                              "line": 47,
                                              "column": 11
                                            },
                                            "end": {
                                              "line": 47,
                                              "column": 19
                                            },
                                            "identifierName": "keyboard"
                                          },
                                          "name": "keyboard"
                                        },
                                        "computed": false
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 1116,
                                        "end": 1124,
                                        "loc": {
                                          "start": {
                                            "line": 47,
                                            "column": 20
                                          },
                                          "end": {
                                            "line": 47,
                                            "column": 28
                                          },
                                          "identifierName": "setInput"
                                        },
                                        "name": "setInput"
                                      },
                                      "computed": false
                                    },
                                    "arguments": [
                                      {
                                        "type": "MemberExpression",
                                        "start": 1125,
                                        "end": 1143,
                                        "loc": {
                                          "start": {
                                            "line": 47,
                                            "column": 29
                                          },
                                          "end": {
                                            "line": 47,
                                            "column": 47
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 1125,
                                          "end": 1137,
                                          "loc": {
                                            "start": {
                                              "line": 47,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 47,
                                              "column": 41
                                            }
                                          },
                                          "object": {
                                            "type": "Identifier",
                                            "start": 1125,
                                            "end": 1130,
                                            "loc": {
                                              "start": {
                                                "line": 47,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 47,
                                                "column": 34
                                              },
                                              "identifierName": "event"
                                            },
                                            "name": "event"
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 1131,
                                            "end": 1137,
                                            "loc": {
                                              "start": {
                                                "line": 47,
                                                "column": 35
                                              },
                                              "end": {
                                                "line": 47,
                                                "column": 41
                                              },
                                              "identifierName": "target"
                                            },
                                            "name": "target"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 1138,
                                          "end": 1143,
                                          "loc": {
                                            "start": {
                                              "line": 47,
                                              "column": 42
                                            },
                                            "end": {
                                              "line": 47,
                                              "column": 47
                                            },
                                            "identifierName": "value"
                                          },
                                          "name": "value"
                                        },
                                        "computed": false
                                      }
                                    ]
                                  }
                                }
                              ],
                              "directives": []
                            }
                          }
                        ]
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Executed when the DOM is ready\r\n   ",
                  "start": 356,
                  "end": 403,
                  "loc": {
                    "start": {
                      "line": 21,
                      "column": 2
                    },
                    "end": {
                      "line": 23,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Handles shift functionality\r\n   ",
                  "start": 1165,
                  "end": 1209,
                  "loc": {
                    "start": {
                      "line": 51,
                      "column": 2
                    },
                    "end": {
                      "line": 53,
                      "column": 5
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassProperty",
              "start": 1213,
              "end": 1449,
              "loc": {
                "start": {
                  "line": 54,
                  "column": 2
                },
                "end": {
                  "line": 61,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 1213,
                "end": 1230,
                "loc": {
                  "start": {
                    "line": 54,
                    "column": 2
                  },
                  "end": {
                    "line": 54,
                    "column": 19
                  },
                  "identifierName": "handleShiftButton"
                },
                "name": "handleShiftButton",
                "leadingComments": null
              },
              "value": {
                "type": "ArrowFunctionExpression",
                "start": 1233,
                "end": 1449,
                "loc": {
                  "start": {
                    "line": 54,
                    "column": 22
                  },
                  "end": {
                    "line": 61,
                    "column": 3
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 1239,
                  "end": 1449,
                  "loc": {
                    "start": {
                      "line": 54,
                      "column": 28
                    },
                    "end": {
                      "line": 61,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "VariableDeclaration",
                      "start": 1246,
                      "end": 1279,
                      "loc": {
                        "start": {
                          "line": 55,
                          "column": 4
                        },
                        "end": {
                          "line": 55,
                          "column": 37
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1250,
                          "end": 1278,
                          "loc": {
                            "start": {
                              "line": 55,
                              "column": 8
                            },
                            "end": {
                              "line": 55,
                              "column": 36
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1250,
                            "end": 1260,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 8
                              },
                              "end": {
                                "line": 55,
                                "column": 18
                              },
                              "identifierName": "layoutName"
                            },
                            "name": "layoutName"
                          },
                          "init": {
                            "type": "MemberExpression",
                            "start": 1263,
                            "end": 1278,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 21
                              },
                              "end": {
                                "line": 55,
                                "column": 36
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1263,
                              "end": 1267,
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 21
                                },
                                "end": {
                                  "line": 55,
                                  "column": 25
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1268,
                              "end": 1278,
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 26
                                },
                                "end": {
                                  "line": 55,
                                  "column": 36
                                },
                                "identifierName": "layoutName"
                              },
                              "name": "layoutName"
                            },
                            "computed": false
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "VariableDeclaration",
                      "start": 1285,
                      "end": 1368,
                      "loc": {
                        "start": {
                          "line": 56,
                          "column": 4
                        },
                        "end": {
                          "line": 56,
                          "column": 87
                        }
                      },
                      "declarations": [
                        {
                          "type": "VariableDeclarator",
                          "start": 1289,
                          "end": 1367,
                          "loc": {
                            "start": {
                              "line": 56,
                              "column": 8
                            },
                            "end": {
                              "line": 56,
                              "column": 86
                            }
                          },
                          "id": {
                            "type": "Identifier",
                            "start": 1289,
                            "end": 1300,
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 8
                              },
                              "end": {
                                "line": 56,
                                "column": 19
                              },
                              "identifierName": "shiftToggle"
                            },
                            "name": "shiftToggle"
                          },
                          "init": {
                            "type": "AssignmentExpression",
                            "start": 1303,
                            "end": 1367,
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 22
                              },
                              "end": {
                                "line": 56,
                                "column": 86
                              }
                            },
                            "operator": "=",
                            "left": {
                              "type": "MemberExpression",
                              "start": 1303,
                              "end": 1318,
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 22
                                },
                                "end": {
                                  "line": 56,
                                  "column": 37
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1303,
                                "end": 1307,
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 26
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1308,
                                "end": 1318,
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 37
                                  },
                                  "identifierName": "layoutName"
                                },
                                "name": "layoutName"
                              },
                              "computed": false
                            },
                            "right": {
                              "type": "ConditionalExpression",
                              "start": 1321,
                              "end": 1367,
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 40
                                },
                                "end": {
                                  "line": 56,
                                  "column": 86
                                }
                              },
                              "test": {
                                "type": "BinaryExpression",
                                "start": 1321,
                                "end": 1345,
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 64
                                  }
                                },
                                "left": {
                                  "type": "Identifier",
                                  "start": 1321,
                                  "end": 1331,
                                  "loc": {
                                    "start": {
                                      "line": 56,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 56,
                                      "column": 50
                                    },
                                    "identifierName": "layoutName"
                                  },
                                  "name": "layoutName"
                                },
                                "operator": "===",
                                "right": {
                                  "type": "StringLiteral",
                                  "start": 1336,
                                  "end": 1345,
                                  "loc": {
                                    "start": {
                                      "line": 56,
                                      "column": 55
                                    },
                                    "end": {
                                      "line": 56,
                                      "column": 64
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "default",
                                    "raw": "\"default\""
                                  },
                                  "value": "default"
                                }
                              },
                              "consequent": {
                                "type": "StringLiteral",
                                "start": 1348,
                                "end": 1355,
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 67
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 74
                                  }
                                },
                                "extra": {
                                  "rawValue": "shift",
                                  "raw": "\"shift\""
                                },
                                "value": "shift"
                              },
                              "alternate": {
                                "type": "StringLiteral",
                                "start": 1358,
                                "end": 1367,
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 77
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 86
                                  }
                                },
                                "extra": {
                                  "rawValue": "default",
                                  "raw": "\"default\""
                                },
                                "value": "default"
                              }
                            }
                          }
                        }
                      ],
                      "kind": "let"
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 1378,
                      "end": 1444,
                      "loc": {
                        "start": {
                          "line": 58,
                          "column": 4
                        },
                        "end": {
                          "line": 60,
                          "column": 7
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1378,
                        "end": 1443,
                        "loc": {
                          "start": {
                            "line": 58,
                            "column": 4
                          },
                          "end": {
                            "line": 60,
                            "column": 6
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1378,
                          "end": 1402,
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 4
                            },
                            "end": {
                              "line": 58,
                              "column": 28
                            }
                          },
                          "object": {
                            "type": "MemberExpression",
                            "start": 1378,
                            "end": 1391,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 4
                              },
                              "end": {
                                "line": 58,
                                "column": 17
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1378,
                              "end": 1382,
                              "loc": {
                                "start": {
                                  "line": 58,
                                  "column": 4
                                },
                                "end": {
                                  "line": 58,
                                  "column": 8
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1383,
                              "end": 1391,
                              "loc": {
                                "start": {
                                  "line": 58,
                                  "column": 9
                                },
                                "end": {
                                  "line": 58,
                                  "column": 17
                                },
                                "identifierName": "keyboard"
                              },
                              "name": "keyboard"
                            },
                            "computed": false
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1392,
                            "end": 1402,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 18
                              },
                              "end": {
                                "line": 58,
                                "column": 28
                              },
                              "identifierName": "setOptions"
                            },
                            "name": "setOptions"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "ObjectExpression",
                            "start": 1403,
                            "end": 1442,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 29
                              },
                              "end": {
                                "line": 60,
                                "column": 5
                              }
                            },
                            "properties": [
                              {
                                "type": "ObjectProperty",
                                "start": 1412,
                                "end": 1435,
                                "loc": {
                                  "start": {
                                    "line": 59,
                                    "column": 6
                                  },
                                  "end": {
                                    "line": 59,
                                    "column": 29
                                  }
                                },
                                "method": false,
                                "shorthand": false,
                                "computed": false,
                                "key": {
                                  "type": "Identifier",
                                  "start": 1412,
                                  "end": 1422,
                                  "loc": {
                                    "start": {
                                      "line": 59,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 59,
                                      "column": 16
                                    },
                                    "identifierName": "layoutName"
                                  },
                                  "name": "layoutName"
                                },
                                "value": {
                                  "type": "Identifier",
                                  "start": 1424,
                                  "end": 1435,
                                  "loc": {
                                    "start": {
                                      "line": 59,
                                      "column": 18
                                    },
                                    "end": {
                                      "line": 59,
                                      "column": 29
                                    },
                                    "identifierName": "shiftToggle"
                                  },
                                  "name": "shiftToggle"
                                }
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Handles shift functionality\r\n   ",
                  "start": 1165,
                  "end": 1209,
                  "loc": {
                    "start": {
                      "line": 51,
                      "column": 2
                    },
                    "end": {
                      "line": 53,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Called when simple-keyboard input has changed\r\n   ",
                  "start": 1455,
                  "end": 1517,
                  "loc": {
                    "start": {
                      "line": 63,
                      "column": 2
                    },
                    "end": {
                      "line": 65,
                      "column": 5
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassProperty",
              "start": 1521,
              "end": 1600,
              "loc": {
                "start": {
                  "line": 66,
                  "column": 2
                },
                "end": {
                  "line": 68,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 1521,
                "end": 1529,
                "loc": {
                  "start": {
                    "line": 66,
                    "column": 2
                  },
                  "end": {
                    "line": 66,
                    "column": 10
                  },
                  "identifierName": "onChange"
                },
                "name": "onChange",
                "leadingComments": null
              },
              "value": {
                "type": "ArrowFunctionExpression",
                "start": 1532,
                "end": 1600,
                "loc": {
                  "start": {
                    "line": 66,
                    "column": 13
                  },
                  "end": {
                    "line": 68,
                    "column": 3
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 1532,
                    "end": 1537,
                    "loc": {
                      "start": {
                        "line": 66,
                        "column": 13
                      },
                      "end": {
                        "line": 66,
                        "column": 18
                      },
                      "identifierName": "input"
                    },
                    "name": "input"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 1541,
                  "end": 1600,
                  "loc": {
                    "start": {
                      "line": 66,
                      "column": 22
                    },
                    "end": {
                      "line": 68,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 1548,
                      "end": 1595,
                      "loc": {
                        "start": {
                          "line": 67,
                          "column": 4
                        },
                        "end": {
                          "line": 67,
                          "column": 51
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 1548,
                        "end": 1594,
                        "loc": {
                          "start": {
                            "line": 67,
                            "column": 4
                          },
                          "end": {
                            "line": 67,
                            "column": 50
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 1548,
                          "end": 1586,
                          "loc": {
                            "start": {
                              "line": 67,
                              "column": 4
                            },
                            "end": {
                              "line": 67,
                              "column": 42
                            }
                          },
                          "object": {
                            "type": "CallExpression",
                            "start": 1548,
                            "end": 1580,
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 4
                              },
                              "end": {
                                "line": 67,
                                "column": 36
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1548,
                              "end": 1570,
                              "loc": {
                                "start": {
                                  "line": 67,
                                  "column": 4
                                },
                                "end": {
                                  "line": 67,
                                  "column": 26
                                }
                              },
                              "object": {
                                "type": "Identifier",
                                "start": 1548,
                                "end": 1556,
                                "loc": {
                                  "start": {
                                    "line": 67,
                                    "column": 4
                                  },
                                  "end": {
                                    "line": 67,
                                    "column": 12
                                  },
                                  "identifierName": "document"
                                },
                                "name": "document"
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1557,
                                "end": 1570,
                                "loc": {
                                  "start": {
                                    "line": 67,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 67,
                                    "column": 26
                                  },
                                  "identifierName": "querySelector"
                                },
                                "name": "querySelector"
                              },
                              "computed": false
                            },
                            "arguments": [
                              {
                                "type": "StringLiteral",
                                "start": 1571,
                                "end": 1579,
                                "loc": {
                                  "start": {
                                    "line": 67,
                                    "column": 27
                                  },
                                  "end": {
                                    "line": 67,
                                    "column": 35
                                  }
                                },
                                "extra": {
                                  "rawValue": ".input",
                                  "raw": "'.input'"
                                },
                                "value": ".input"
                              }
                            ]
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1581,
                            "end": 1586,
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 37
                              },
                              "end": {
                                "line": 67,
                                "column": 42
                              },
                              "identifierName": "value"
                            },
                            "name": "value"
                          },
                          "computed": false
                        },
                        "right": {
                          "type": "Identifier",
                          "start": 1589,
                          "end": 1594,
                          "loc": {
                            "start": {
                              "line": 67,
                              "column": 45
                            },
                            "end": {
                              "line": 67,
                              "column": 50
                            },
                            "identifierName": "input"
                          },
                          "name": "input"
                        }
                      }
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "trailingComments": null
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Called when simple-keyboard input has changed\r\n   ",
                  "start": 1455,
                  "end": 1517,
                  "loc": {
                    "start": {
                      "line": 63,
                      "column": 2
                    },
                    "end": {
                      "line": 65,
                      "column": 5
                    }
                  }
                }
              ],
              "trailingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Called when a simple-keyboard key is pressed\r\n   ",
                  "start": 1606,
                  "end": 1667,
                  "loc": {
                    "start": {
                      "line": 70,
                      "column": 2
                    },
                    "end": {
                      "line": 72,
                      "column": 5
                    }
                  }
                }
              ]
            },
            {
              "type": "ClassProperty",
              "start": 1671,
              "end": 1890,
              "loc": {
                "start": {
                  "line": 73,
                  "column": 2
                },
                "end": {
                  "line": 81,
                  "column": 3
                }
              },
              "static": false,
              "computed": false,
              "key": {
                "type": "Identifier",
                "start": 1671,
                "end": 1681,
                "loc": {
                  "start": {
                    "line": 73,
                    "column": 2
                  },
                  "end": {
                    "line": 73,
                    "column": 12
                  },
                  "identifierName": "onKeyPress"
                },
                "name": "onKeyPress",
                "leadingComments": null
              },
              "value": {
                "type": "ArrowFunctionExpression",
                "start": 1684,
                "end": 1890,
                "loc": {
                  "start": {
                    "line": 73,
                    "column": 15
                  },
                  "end": {
                    "line": 81,
                    "column": 3
                  }
                },
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [
                  {
                    "type": "Identifier",
                    "start": 1684,
                    "end": 1690,
                    "loc": {
                      "start": {
                        "line": 73,
                        "column": 15
                      },
                      "end": {
                        "line": 73,
                        "column": 21
                      },
                      "identifierName": "button"
                    },
                    "name": "button"
                  }
                ],
                "body": {
                  "type": "BlockStatement",
                  "start": 1694,
                  "end": 1890,
                  "loc": {
                    "start": {
                      "line": 73,
                      "column": 25
                    },
                    "end": {
                      "line": 81,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 1701,
                      "end": 1739,
                      "loc": {
                        "start": {
                          "line": 74,
                          "column": 4
                        },
                        "end": {
                          "line": 74,
                          "column": 42
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 1701,
                        "end": 1738,
                        "loc": {
                          "start": {
                            "line": 74,
                            "column": 4
                          },
                          "end": {
                            "line": 74,
                            "column": 41
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 1701,
                          "end": 1712,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 4
                            },
                            "end": {
                              "line": 74,
                              "column": 15
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 1701,
                            "end": 1708,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 4
                              },
                              "end": {
                                "line": 74,
                                "column": 11
                              },
                              "identifierName": "console"
                            },
                            "name": "console"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 1709,
                            "end": 1712,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 12
                              },
                              "end": {
                                "line": 74,
                                "column": 15
                              },
                              "identifierName": "log"
                            },
                            "name": "log"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "StringLiteral",
                            "start": 1713,
                            "end": 1729,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 16
                              },
                              "end": {
                                "line": 74,
                                "column": 32
                              }
                            },
                            "extra": {
                              "rawValue": "Button pressed",
                              "raw": "\"Button pressed\""
                            },
                            "value": "Button pressed"
                          },
                          {
                            "type": "Identifier",
                            "start": 1731,
                            "end": 1737,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 34
                              },
                              "end": {
                                "line": 74,
                                "column": 40
                              },
                              "identifierName": "button"
                            },
                            "name": "button"
                          }
                        ]
                      },
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\r\n       * Shift functionality\r\n       ",
                          "start": 1751,
                          "end": 1795,
                          "loc": {
                            "start": {
                              "line": 76,
                              "column": 6
                            },
                            "end": {
                              "line": 78,
                              "column": 9
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "IfStatement",
                      "start": 1803,
                      "end": 1885,
                      "loc": {
                        "start": {
                          "line": 79,
                          "column": 6
                        },
                        "end": {
                          "line": 80,
                          "column": 33
                        }
                      },
                      "test": {
                        "type": "LogicalExpression",
                        "start": 1806,
                        "end": 1849,
                        "loc": {
                          "start": {
                            "line": 79,
                            "column": 9
                          },
                          "end": {
                            "line": 79,
                            "column": 52
                          }
                        },
                        "left": {
                          "type": "BinaryExpression",
                          "start": 1806,
                          "end": 1825,
                          "loc": {
                            "start": {
                              "line": 79,
                              "column": 9
                            },
                            "end": {
                              "line": 79,
                              "column": 28
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 1806,
                            "end": 1812,
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 9
                              },
                              "end": {
                                "line": 79,
                                "column": 15
                              },
                              "identifierName": "button"
                            },
                            "name": "button",
                            "leadingComments": null
                          },
                          "operator": "===",
                          "right": {
                            "type": "StringLiteral",
                            "start": 1817,
                            "end": 1825,
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 20
                              },
                              "end": {
                                "line": 79,
                                "column": 28
                              }
                            },
                            "extra": {
                              "rawValue": "{lock}",
                              "raw": "\"{lock}\""
                            },
                            "value": "{lock}"
                          },
                          "leadingComments": null
                        },
                        "operator": "||",
                        "right": {
                          "type": "BinaryExpression",
                          "start": 1829,
                          "end": 1849,
                          "loc": {
                            "start": {
                              "line": 79,
                              "column": 32
                            },
                            "end": {
                              "line": 79,
                              "column": 52
                            }
                          },
                          "left": {
                            "type": "Identifier",
                            "start": 1829,
                            "end": 1835,
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 32
                              },
                              "end": {
                                "line": 79,
                                "column": 38
                              },
                              "identifierName": "button"
                            },
                            "name": "button"
                          },
                          "operator": "===",
                          "right": {
                            "type": "StringLiteral",
                            "start": 1840,
                            "end": 1849,
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 43
                              },
                              "end": {
                                "line": 79,
                                "column": 52
                              }
                            },
                            "extra": {
                              "rawValue": "{shift}",
                              "raw": "\"{shift}\""
                            },
                            "value": "{shift}"
                          }
                        },
                        "leadingComments": null
                      },
                      "consequent": {
                        "type": "ExpressionStatement",
                        "start": 1860,
                        "end": 1885,
                        "loc": {
                          "start": {
                            "line": 80,
                            "column": 8
                          },
                          "end": {
                            "line": 80,
                            "column": 33
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 1860,
                          "end": 1884,
                          "loc": {
                            "start": {
                              "line": 80,
                              "column": 8
                            },
                            "end": {
                              "line": 80,
                              "column": 32
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1860,
                            "end": 1882,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 8
                              },
                              "end": {
                                "line": 80,
                                "column": 30
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 1860,
                              "end": 1864,
                              "loc": {
                                "start": {
                                  "line": 80,
                                  "column": 8
                                },
                                "end": {
                                  "line": 80,
                                  "column": 12
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1865,
                              "end": 1882,
                              "loc": {
                                "start": {
                                  "line": 80,
                                  "column": 13
                                },
                                "end": {
                                  "line": 80,
                                  "column": 30
                                },
                                "identifierName": "handleShiftButton"
                              },
                              "name": "handleShiftButton"
                            },
                            "computed": false
                          },
                          "arguments": []
                        }
                      },
                      "alternate": null,
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\r\n       * Shift functionality\r\n       ",
                          "start": 1751,
                          "end": 1795,
                          "loc": {
                            "start": {
                              "line": 76,
                              "column": 6
                            },
                            "end": {
                              "line": 78,
                              "column": 9
                            }
                          }
                        }
                      ]
                    }
                  ],
                  "directives": []
                }
              },
              "leadingComments": [
                {
                  "type": "CommentBlock",
                  "value": "*\r\n   * Called when a simple-keyboard key is pressed\r\n   ",
                  "start": 1606,
                  "end": 1667,
                  "loc": {
                    "start": {
                      "line": 70,
                      "column": 2
                    },
                    "end": {
                      "line": 72,
                      "column": 5
                    }
                  }
                }
              ]
            }
          ]
        },
        "leadingComments": [],
        "name": "_",
        "trailingComments": []
      },
      {
        "type": "Identifier",
        "start": 1899,
        "end": 1918,
        "loc": {
          "start": {
            "line": 85,
            "column": 0
          },
          "end": {
            "line": 85,
            "column": 19
          }
        },
        "declaration": {
          "type": "Identifier",
          "start": 1914,
          "end": 1917,
          "loc": {
            "start": {
              "line": 85,
              "column": 15
            },
            "end": {
              "line": 85,
              "column": 18
            },
            "identifierName": "App"
          },
          "name": "App"
        },
        "name": "_",
        "leadingComments": [],
        "trailingComments": []
      },
      {
        "type": "ExportDefaultDeclaration",
        "start": 1899,
        "end": 1918,
        "loc": {
          "start": {
            "line": 85,
            "column": 0
          },
          "end": {
            "line": 85,
            "column": 19
          }
        },
        "declaration": {
          "type": "ClassDeclaration",
          "start": 94,
          "end": 1895,
          "loc": {
            "start": {
              "line": 7,
              "column": 0
            },
            "end": {
              "line": 83,
              "column": 1
            }
          },
          "id": {
            "type": "Identifier",
            "start": 100,
            "end": 103,
            "loc": {
              "start": {
                "line": 7,
                "column": 6
              },
              "end": {
                "line": 7,
                "column": 9
              },
              "identifierName": "App"
            },
            "name": "App",
            "leadingComments": null
          },
          "superClass": null,
          "body": {
            "type": "ClassBody",
            "start": 104,
            "end": 1895,
            "loc": {
              "start": {
                "line": 7,
                "column": 10
              },
              "end": {
                "line": 83,
                "column": 1
              }
            },
            "body": [
              {
                "type": "ClassMethod",
                "start": 157,
                "end": 350,
                "loc": {
                  "start": {
                    "line": 11,
                    "column": 2
                  },
                  "end": {
                    "line": 19,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 157,
                  "end": 168,
                  "loc": {
                    "start": {
                      "line": 11,
                      "column": 2
                    },
                    "end": {
                      "line": 11,
                      "column": 13
                    },
                    "identifierName": "constructor"
                  },
                  "name": "constructor",
                  "leadingComments": null
                },
                "kind": "constructor",
                "id": null,
                "generator": false,
                "expression": false,
                "async": false,
                "params": [],
                "body": {
                  "type": "BlockStatement",
                  "start": 170,
                  "end": 350,
                  "loc": {
                    "start": {
                      "line": 11,
                      "column": 15
                    },
                    "end": {
                      "line": 19,
                      "column": 3
                    }
                  },
                  "body": [
                    {
                      "type": "ExpressionStatement",
                      "start": 177,
                      "end": 241,
                      "loc": {
                        "start": {
                          "line": 12,
                          "column": 4
                        },
                        "end": {
                          "line": 12,
                          "column": 68
                        }
                      },
                      "expression": {
                        "type": "CallExpression",
                        "start": 177,
                        "end": 240,
                        "loc": {
                          "start": {
                            "line": 12,
                            "column": 4
                          },
                          "end": {
                            "line": 12,
                            "column": 67
                          }
                        },
                        "callee": {
                          "type": "MemberExpression",
                          "start": 177,
                          "end": 202,
                          "loc": {
                            "start": {
                              "line": 12,
                              "column": 4
                            },
                            "end": {
                              "line": 12,
                              "column": 29
                            }
                          },
                          "object": {
                            "type": "Identifier",
                            "start": 177,
                            "end": 185,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 4
                              },
                              "end": {
                                "line": 12,
                                "column": 12
                              },
                              "identifierName": "document"
                            },
                            "name": "document"
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 186,
                            "end": 202,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 13
                              },
                              "end": {
                                "line": 12,
                                "column": 29
                              },
                              "identifierName": "addEventListener"
                            },
                            "name": "addEventListener"
                          },
                          "computed": false
                        },
                        "arguments": [
                          {
                            "type": "StringLiteral",
                            "start": 203,
                            "end": 221,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 30
                              },
                              "end": {
                                "line": 12,
                                "column": 48
                              }
                            },
                            "extra": {
                              "rawValue": "DOMContentLoaded",
                              "raw": "'DOMContentLoaded'"
                            },
                            "value": "DOMContentLoaded"
                          },
                          {
                            "type": "MemberExpression",
                            "start": 223,
                            "end": 239,
                            "loc": {
                              "start": {
                                "line": 12,
                                "column": 50
                              },
                              "end": {
                                "line": 12,
                                "column": 66
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 223,
                              "end": 227,
                              "loc": {
                                "start": {
                                  "line": 12,
                                  "column": 50
                                },
                                "end": {
                                  "line": 12,
                                  "column": 54
                                }
                              }
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 228,
                              "end": 239,
                              "loc": {
                                "start": {
                                  "line": 12,
                                  "column": 55
                                },
                                "end": {
                                  "line": 12,
                                  "column": 66
                                },
                                "identifierName": "onDOMLoaded"
                              },
                              "name": "onDOMLoaded"
                            },
                            "computed": false
                          }
                        ]
                      },
                      "trailingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\r\n     * Default input name\r\n     * @type {string}\r\n     ",
                          "start": 249,
                          "end": 311,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 4
                            },
                            "end": {
                              "line": 17,
                              "column": 7
                            }
                          }
                        }
                      ]
                    },
                    {
                      "type": "ExpressionStatement",
                      "start": 317,
                      "end": 345,
                      "loc": {
                        "start": {
                          "line": 18,
                          "column": 4
                        },
                        "end": {
                          "line": 18,
                          "column": 32
                        }
                      },
                      "expression": {
                        "type": "AssignmentExpression",
                        "start": 317,
                        "end": 344,
                        "loc": {
                          "start": {
                            "line": 18,
                            "column": 4
                          },
                          "end": {
                            "line": 18,
                            "column": 31
                          }
                        },
                        "operator": "=",
                        "left": {
                          "type": "MemberExpression",
                          "start": 317,
                          "end": 332,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 4
                            },
                            "end": {
                              "line": 18,
                              "column": 19
                            }
                          },
                          "object": {
                            "type": "ThisExpression",
                            "start": 317,
                            "end": 321,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 4
                              },
                              "end": {
                                "line": 18,
                                "column": 8
                              }
                            },
                            "leadingComments": null
                          },
                          "property": {
                            "type": "Identifier",
                            "start": 322,
                            "end": 332,
                            "loc": {
                              "start": {
                                "line": 18,
                                "column": 9
                              },
                              "end": {
                                "line": 18,
                                "column": 19
                              },
                              "identifierName": "layoutName"
                            },
                            "name": "layoutName"
                          },
                          "computed": false,
                          "leadingComments": null
                        },
                        "right": {
                          "type": "StringLiteral",
                          "start": 335,
                          "end": 344,
                          "loc": {
                            "start": {
                              "line": 18,
                              "column": 22
                            },
                            "end": {
                              "line": 18,
                              "column": 31
                            }
                          },
                          "extra": {
                            "rawValue": "default",
                            "raw": "\"default\""
                          },
                          "value": "default"
                        },
                        "leadingComments": null
                      },
                      "leadingComments": [
                        {
                          "type": "CommentBlock",
                          "value": "*\r\n     * Default input name\r\n     * @type {string}\r\n     ",
                          "start": 249,
                          "end": 311,
                          "loc": {
                            "start": {
                              "line": 14,
                              "column": 4
                            },
                            "end": {
                              "line": 17,
                              "column": 7
                            }
                          }
                        }
                      ]
                    }
                  ],
                  "directives": [],
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Instantiates the demo class\r\n   ",
                    "start": 109,
                    "end": 153,
                    "loc": {
                      "start": {
                        "line": 8,
                        "column": 2
                      },
                      "end": {
                        "line": 10,
                        "column": 5
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Executed when the DOM is ready\r\n   ",
                    "start": 356,
                    "end": 403,
                    "loc": {
                      "start": {
                        "line": 21,
                        "column": 2
                      },
                      "end": {
                        "line": 23,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassProperty",
                "start": 407,
                "end": 1159,
                "loc": {
                  "start": {
                    "line": 24,
                    "column": 2
                  },
                  "end": {
                    "line": 49,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 407,
                  "end": 418,
                  "loc": {
                    "start": {
                      "line": 24,
                      "column": 2
                    },
                    "end": {
                      "line": 24,
                      "column": 13
                    },
                    "identifierName": "onDOMLoaded"
                  },
                  "name": "onDOMLoaded",
                  "leadingComments": null
                },
                "value": {
                  "type": "ArrowFunctionExpression",
                  "start": 421,
                  "end": 1159,
                  "loc": {
                    "start": {
                      "line": 24,
                      "column": 16
                    },
                    "end": {
                      "line": 49,
                      "column": 3
                    }
                  },
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [],
                  "body": {
                    "type": "BlockStatement",
                    "start": 427,
                    "end": 1159,
                    "loc": {
                      "start": {
                        "line": 24,
                        "column": 22
                      },
                      "end": {
                        "line": 49,
                        "column": 3
                      }
                    },
                    "body": [
                      {
                        "type": "ExpressionStatement",
                        "start": 499,
                        "end": 765,
                        "loc": {
                          "start": {
                            "line": 28,
                            "column": 4
                          },
                          "end": {
                            "line": 35,
                            "column": 7
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 499,
                          "end": 764,
                          "loc": {
                            "start": {
                              "line": 28,
                              "column": 4
                            },
                            "end": {
                              "line": 35,
                              "column": 6
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 499,
                            "end": 512,
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 4
                              },
                              "end": {
                                "line": 28,
                                "column": 17
                              }
                            },
                            "object": {
                              "type": "ThisExpression",
                              "start": 499,
                              "end": 503,
                              "loc": {
                                "start": {
                                  "line": 28,
                                  "column": 4
                                },
                                "end": {
                                  "line": 28,
                                  "column": 8
                                }
                              },
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 504,
                              "end": 512,
                              "loc": {
                                "start": {
                                  "line": 28,
                                  "column": 9
                                },
                                "end": {
                                  "line": 28,
                                  "column": 17
                                },
                                "identifierName": "keyboard"
                              },
                              "name": "keyboard"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "right": {
                            "type": "NewExpression",
                            "start": 515,
                            "end": 764,
                            "loc": {
                              "start": {
                                "line": 28,
                                "column": 20
                              },
                              "end": {
                                "line": 35,
                                "column": 6
                              }
                            },
                            "callee": {
                              "type": "Identifier",
                              "start": 519,
                              "end": 527,
                              "loc": {
                                "start": {
                                  "line": 28,
                                  "column": 24
                                },
                                "end": {
                                  "line": 28,
                                  "column": 32
                                },
                                "identifierName": "Keyboard"
                              },
                              "name": "Keyboard"
                            },
                            "arguments": [
                              {
                                "type": "ObjectExpression",
                                "start": 528,
                                "end": 763,
                                "loc": {
                                  "start": {
                                    "line": 28,
                                    "column": 33
                                  },
                                  "end": {
                                    "line": 35,
                                    "column": 5
                                  }
                                },
                                "properties": [
                                  {
                                    "type": "ObjectProperty",
                                    "start": 537,
                                    "end": 548,
                                    "loc": {
                                      "start": {
                                        "line": 29,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 29,
                                        "column": 17
                                      }
                                    },
                                    "method": false,
                                    "shorthand": false,
                                    "computed": false,
                                    "key": {
                                      "type": "Identifier",
                                      "start": 537,
                                      "end": 542,
                                      "loc": {
                                        "start": {
                                          "line": 29,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 29,
                                          "column": 11
                                        },
                                        "identifierName": "debug"
                                      },
                                      "name": "debug"
                                    },
                                    "value": {
                                      "type": "BooleanLiteral",
                                      "start": 544,
                                      "end": 548,
                                      "loc": {
                                        "start": {
                                          "line": 29,
                                          "column": 13
                                        },
                                        "end": {
                                          "line": 29,
                                          "column": 17
                                        }
                                      },
                                      "value": true
                                    }
                                  },
                                  {
                                    "type": "ObjectProperty",
                                    "start": 557,
                                    "end": 584,
                                    "loc": {
                                      "start": {
                                        "line": 30,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 30,
                                        "column": 33
                                      }
                                    },
                                    "method": false,
                                    "shorthand": false,
                                    "computed": false,
                                    "key": {
                                      "type": "Identifier",
                                      "start": 557,
                                      "end": 567,
                                      "loc": {
                                        "start": {
                                          "line": 30,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 30,
                                          "column": 16
                                        },
                                        "identifierName": "layoutName"
                                      },
                                      "name": "layoutName"
                                    },
                                    "value": {
                                      "type": "MemberExpression",
                                      "start": 569,
                                      "end": 584,
                                      "loc": {
                                        "start": {
                                          "line": 30,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 30,
                                          "column": 33
                                        }
                                      },
                                      "object": {
                                        "type": "ThisExpression",
                                        "start": 569,
                                        "end": 573,
                                        "loc": {
                                          "start": {
                                            "line": 30,
                                            "column": 18
                                          },
                                          "end": {
                                            "line": 30,
                                            "column": 22
                                          }
                                        }
                                      },
                                      "property": {
                                        "type": "Identifier",
                                        "start": 574,
                                        "end": 584,
                                        "loc": {
                                          "start": {
                                            "line": 30,
                                            "column": 23
                                          },
                                          "end": {
                                            "line": 30,
                                            "column": 33
                                          },
                                          "identifierName": "layoutName"
                                        },
                                        "name": "layoutName"
                                      },
                                      "computed": false
                                    }
                                  },
                                  {
                                    "type": "ObjectProperty",
                                    "start": 593,
                                    "end": 632,
                                    "loc": {
                                      "start": {
                                        "line": 31,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 31,
                                        "column": 45
                                      }
                                    },
                                    "method": false,
                                    "shorthand": false,
                                    "computed": false,
                                    "key": {
                                      "type": "Identifier",
                                      "start": 593,
                                      "end": 601,
                                      "loc": {
                                        "start": {
                                          "line": 31,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 31,
                                          "column": 14
                                        },
                                        "identifierName": "onChange"
                                      },
                                      "name": "onChange"
                                    },
                                    "value": {
                                      "type": "ArrowFunctionExpression",
                                      "start": 603,
                                      "end": 632,
                                      "loc": {
                                        "start": {
                                          "line": 31,
                                          "column": 16
                                        },
                                        "end": {
                                          "line": 31,
                                          "column": 45
                                        }
                                      },
                                      "id": null,
                                      "generator": false,
                                      "expression": true,
                                      "async": false,
                                      "params": [
                                        {
                                          "type": "Identifier",
                                          "start": 603,
                                          "end": 608,
                                          "loc": {
                                            "start": {
                                              "line": 31,
                                              "column": 16
                                            },
                                            "end": {
                                              "line": 31,
                                              "column": 21
                                            },
                                            "identifierName": "input"
                                          },
                                          "name": "input"
                                        }
                                      ],
                                      "body": {
                                        "type": "CallExpression",
                                        "start": 612,
                                        "end": 632,
                                        "loc": {
                                          "start": {
                                            "line": 31,
                                            "column": 25
                                          },
                                          "end": {
                                            "line": 31,
                                            "column": 45
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 612,
                                          "end": 625,
                                          "loc": {
                                            "start": {
                                              "line": 31,
                                              "column": 25
                                            },
                                            "end": {
                                              "line": 31,
                                              "column": 38
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 612,
                                            "end": 616,
                                            "loc": {
                                              "start": {
                                                "line": 31,
                                                "column": 25
                                              },
                                              "end": {
                                                "line": 31,
                                                "column": 29
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 617,
                                            "end": 625,
                                            "loc": {
                                              "start": {
                                                "line": 31,
                                                "column": 30
                                              },
                                              "end": {
                                                "line": 31,
                                                "column": 38
                                              },
                                              "identifierName": "onChange"
                                            },
                                            "name": "onChange"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 626,
                                            "end": 631,
                                            "loc": {
                                              "start": {
                                                "line": 31,
                                                "column": 39
                                              },
                                              "end": {
                                                "line": 31,
                                                "column": 44
                                              },
                                              "identifierName": "input"
                                            },
                                            "name": "input"
                                          }
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "type": "ObjectProperty",
                                    "start": 641,
                                    "end": 686,
                                    "loc": {
                                      "start": {
                                        "line": 32,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 32,
                                        "column": 51
                                      }
                                    },
                                    "method": false,
                                    "shorthand": false,
                                    "computed": false,
                                    "key": {
                                      "type": "Identifier",
                                      "start": 641,
                                      "end": 651,
                                      "loc": {
                                        "start": {
                                          "line": 32,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 32,
                                          "column": 16
                                        },
                                        "identifierName": "onKeyPress"
                                      },
                                      "name": "onKeyPress"
                                    },
                                    "value": {
                                      "type": "ArrowFunctionExpression",
                                      "start": 653,
                                      "end": 686,
                                      "loc": {
                                        "start": {
                                          "line": 32,
                                          "column": 18
                                        },
                                        "end": {
                                          "line": 32,
                                          "column": 51
                                        }
                                      },
                                      "id": null,
                                      "generator": false,
                                      "expression": true,
                                      "async": false,
                                      "params": [
                                        {
                                          "type": "Identifier",
                                          "start": 653,
                                          "end": 659,
                                          "loc": {
                                            "start": {
                                              "line": 32,
                                              "column": 18
                                            },
                                            "end": {
                                              "line": 32,
                                              "column": 24
                                            },
                                            "identifierName": "button"
                                          },
                                          "name": "button"
                                        }
                                      ],
                                      "body": {
                                        "type": "CallExpression",
                                        "start": 663,
                                        "end": 686,
                                        "loc": {
                                          "start": {
                                            "line": 32,
                                            "column": 28
                                          },
                                          "end": {
                                            "line": 32,
                                            "column": 51
                                          }
                                        },
                                        "callee": {
                                          "type": "MemberExpression",
                                          "start": 663,
                                          "end": 678,
                                          "loc": {
                                            "start": {
                                              "line": 32,
                                              "column": 28
                                            },
                                            "end": {
                                              "line": 32,
                                              "column": 43
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 663,
                                            "end": 667,
                                            "loc": {
                                              "start": {
                                                "line": 32,
                                                "column": 28
                                              },
                                              "end": {
                                                "line": 32,
                                                "column": 32
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 668,
                                            "end": 678,
                                            "loc": {
                                              "start": {
                                                "line": 32,
                                                "column": 33
                                              },
                                              "end": {
                                                "line": 32,
                                                "column": 43
                                              },
                                              "identifierName": "onKeyPress"
                                            },
                                            "name": "onKeyPress"
                                          },
                                          "computed": false
                                        },
                                        "arguments": [
                                          {
                                            "type": "Identifier",
                                            "start": 679,
                                            "end": 685,
                                            "loc": {
                                              "start": {
                                                "line": 32,
                                                "column": 44
                                              },
                                              "end": {
                                                "line": 32,
                                                "column": 50
                                              },
                                              "identifierName": "button"
                                            },
                                            "name": "button"
                                          }
                                        ]
                                      }
                                    }
                                  },
                                  {
                                    "type": "ObjectProperty",
                                    "start": 695,
                                    "end": 715,
                                    "loc": {
                                      "start": {
                                        "line": 33,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 33,
                                        "column": 26
                                      }
                                    },
                                    "method": false,
                                    "shorthand": false,
                                    "computed": false,
                                    "key": {
                                      "type": "Identifier",
                                      "start": 695,
                                      "end": 709,
                                      "loc": {
                                        "start": {
                                          "line": 33,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 33,
                                          "column": 20
                                        },
                                        "identifierName": "newLineOnEnter"
                                      },
                                      "name": "newLineOnEnter"
                                    },
                                    "value": {
                                      "type": "BooleanLiteral",
                                      "start": 711,
                                      "end": 715,
                                      "loc": {
                                        "start": {
                                          "line": 33,
                                          "column": 22
                                        },
                                        "end": {
                                          "line": 33,
                                          "column": 26
                                        }
                                      },
                                      "value": true
                                    }
                                  },
                                  {
                                    "type": "ObjectProperty",
                                    "start": 724,
                                    "end": 755,
                                    "loc": {
                                      "start": {
                                        "line": 34,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 34,
                                        "column": 37
                                      }
                                    },
                                    "method": false,
                                    "shorthand": false,
                                    "computed": false,
                                    "key": {
                                      "type": "Identifier",
                                      "start": 724,
                                      "end": 749,
                                      "loc": {
                                        "start": {
                                          "line": 34,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 34,
                                          "column": 31
                                        },
                                        "identifierName": "physicalKeyboardHighlight"
                                      },
                                      "name": "physicalKeyboardHighlight"
                                    },
                                    "value": {
                                      "type": "BooleanLiteral",
                                      "start": 751,
                                      "end": 755,
                                      "loc": {
                                        "start": {
                                          "line": 34,
                                          "column": 33
                                        },
                                        "end": {
                                          "line": 34,
                                          "column": 37
                                        }
                                      },
                                      "value": true
                                    }
                                  }
                                ]
                              }
                            ]
                          },
                          "leadingComments": null
                        },
                        "leadingComments": [
                          {
                            "type": "CommentBlock",
                            "value": "*\r\n     * Creates a new simple-keyboard instance\r\n     ",
                            "start": 434,
                            "end": 493,
                            "loc": {
                              "start": {
                                "line": 25,
                                "column": 4
                              },
                              "end": {
                                "line": 27,
                                "column": 7
                              }
                            }
                          }
                        ],
                        "trailingComments": [
                          {
                            "type": "CommentBlock",
                            "value": "*\r\n     * Adding preview (demo only)\r\n     ",
                            "start": 775,
                            "end": 822,
                            "loc": {
                              "start": {
                                "line": 37,
                                "column": 4
                              },
                              "end": {
                                "line": 39,
                                "column": 7
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 828,
                        "end": 1013,
                        "loc": {
                          "start": {
                            "line": 40,
                            "column": 4
                          },
                          "end": {
                            "line": 44,
                            "column": 7
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 828,
                          "end": 1012,
                          "loc": {
                            "start": {
                              "line": 40,
                              "column": 4
                            },
                            "end": {
                              "line": 44,
                              "column": 6
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 828,
                            "end": 889,
                            "loc": {
                              "start": {
                                "line": 40,
                                "column": 4
                              },
                              "end": {
                                "line": 40,
                                "column": 65
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 828,
                              "end": 870,
                              "loc": {
                                "start": {
                                  "line": 40,
                                  "column": 4
                                },
                                "end": {
                                  "line": 40,
                                  "column": 46
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 828,
                                "end": 850,
                                "loc": {
                                  "start": {
                                    "line": 40,
                                    "column": 4
                                  },
                                  "end": {
                                    "line": 40,
                                    "column": 26
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 828,
                                  "end": 836,
                                  "loc": {
                                    "start": {
                                      "line": 40,
                                      "column": 4
                                    },
                                    "end": {
                                      "line": 40,
                                      "column": 12
                                    },
                                    "identifierName": "document"
                                  },
                                  "name": "document",
                                  "leadingComments": null
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 837,
                                  "end": 850,
                                  "loc": {
                                    "start": {
                                      "line": 40,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 40,
                                      "column": 26
                                    },
                                    "identifierName": "querySelector"
                                  },
                                  "name": "querySelector"
                                },
                                "computed": false,
                                "leadingComments": null
                              },
                              "arguments": [
                                {
                                  "type": "StringLiteral",
                                  "start": 851,
                                  "end": 869,
                                  "loc": {
                                    "start": {
                                      "line": 40,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 40,
                                      "column": 45
                                    }
                                  },
                                  "extra": {
                                    "rawValue": ".simple-keyboard",
                                    "raw": "'.simple-keyboard'"
                                  },
                                  "value": ".simple-keyboard"
                                }
                              ],
                              "leadingComments": null
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 871,
                              "end": 889,
                              "loc": {
                                "start": {
                                  "line": 40,
                                  "column": 47
                                },
                                "end": {
                                  "line": 40,
                                  "column": 65
                                },
                                "identifierName": "insertAdjacentHTML"
                              },
                              "name": "insertAdjacentHTML"
                            },
                            "computed": false,
                            "leadingComments": null
                          },
                          "arguments": [
                            {
                              "type": "StringLiteral",
                              "start": 890,
                              "end": 903,
                              "loc": {
                                "start": {
                                  "line": 40,
                                  "column": 66
                                },
                                "end": {
                                  "line": 40,
                                  "column": 79
                                }
                              },
                              "extra": {
                                "rawValue": "beforebegin",
                                "raw": "'beforebegin'"
                              },
                              "value": "beforebegin"
                            },
                            {
                              "type": "TemplateLiteral",
                              "start": 905,
                              "end": 1011,
                              "loc": {
                                "start": {
                                  "line": 40,
                                  "column": 81
                                },
                                "end": {
                                  "line": 44,
                                  "column": 5
                                }
                              },
                              "expressions": [],
                              "quasis": [
                                {
                                  "type": "TemplateElement",
                                  "start": 906,
                                  "end": 1010,
                                  "loc": {
                                    "start": {
                                      "line": 40,
                                      "column": 82
                                    },
                                    "end": {
                                      "line": 44,
                                      "column": 4
                                    }
                                  },
                                  "value": {
                                    "raw": "\n    <div class=\"simple-keyboard-preview\">\n      <textarea class=\"input\"></textarea>\n    </div>\n    ",
                                    "cooked": "\n    <div class=\"simple-keyboard-preview\">\n      <textarea class=\"input\"></textarea>\n    </div>\n    "
                                  },
                                  "tail": true
                                }
                              ]
                            }
                          ],
                          "leadingComments": null
                        },
                        "leadingComments": [
                          {
                            "type": "CommentBlock",
                            "value": "*\r\n     * Adding preview (demo only)\r\n     ",
                            "start": 775,
                            "end": 822,
                            "loc": {
                              "start": {
                                "line": 37,
                                "column": 4
                              },
                              "end": {
                                "line": 39,
                                "column": 7
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 1023,
                        "end": 1154,
                        "loc": {
                          "start": {
                            "line": 46,
                            "column": 4
                          },
                          "end": {
                            "line": 48,
                            "column": 7
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 1023,
                          "end": 1153,
                          "loc": {
                            "start": {
                              "line": 46,
                              "column": 4
                            },
                            "end": {
                              "line": 48,
                              "column": 6
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1023,
                            "end": 1072,
                            "loc": {
                              "start": {
                                "line": 46,
                                "column": 4
                              },
                              "end": {
                                "line": 46,
                                "column": 53
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 1023,
                              "end": 1055,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 4
                                },
                                "end": {
                                  "line": 46,
                                  "column": 36
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 1023,
                                "end": 1045,
                                "loc": {
                                  "start": {
                                    "line": 46,
                                    "column": 4
                                  },
                                  "end": {
                                    "line": 46,
                                    "column": 26
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1023,
                                  "end": 1031,
                                  "loc": {
                                    "start": {
                                      "line": 46,
                                      "column": 4
                                    },
                                    "end": {
                                      "line": 46,
                                      "column": 12
                                    },
                                    "identifierName": "document"
                                  },
                                  "name": "document"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1032,
                                  "end": 1045,
                                  "loc": {
                                    "start": {
                                      "line": 46,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 46,
                                      "column": 26
                                    },
                                    "identifierName": "querySelector"
                                  },
                                  "name": "querySelector"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "StringLiteral",
                                  "start": 1046,
                                  "end": 1054,
                                  "loc": {
                                    "start": {
                                      "line": 46,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 46,
                                      "column": 35
                                    }
                                  },
                                  "extra": {
                                    "rawValue": ".input",
                                    "raw": "'.input'"
                                  },
                                  "value": ".input"
                                }
                              ]
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1056,
                              "end": 1072,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 37
                                },
                                "end": {
                                  "line": 46,
                                  "column": 53
                                },
                                "identifierName": "addEventListener"
                              },
                              "name": "addEventListener"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "StringLiteral",
                              "start": 1073,
                              "end": 1080,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 54
                                },
                                "end": {
                                  "line": 46,
                                  "column": 61
                                }
                              },
                              "extra": {
                                "rawValue": "input",
                                "raw": "'input'"
                              },
                              "value": "input"
                            },
                            {
                              "type": "ArrowFunctionExpression",
                              "start": 1082,
                              "end": 1152,
                              "loc": {
                                "start": {
                                  "line": 46,
                                  "column": 63
                                },
                                "end": {
                                  "line": 48,
                                  "column": 5
                                }
                              },
                              "id": null,
                              "generator": false,
                              "expression": false,
                              "async": false,
                              "params": [
                                {
                                  "type": "Identifier",
                                  "start": 1083,
                                  "end": 1088,
                                  "loc": {
                                    "start": {
                                      "line": 46,
                                      "column": 64
                                    },
                                    "end": {
                                      "line": 46,
                                      "column": 69
                                    },
                                    "identifierName": "event"
                                  },
                                  "name": "event"
                                }
                              ],
                              "body": {
                                "type": "BlockStatement",
                                "start": 1093,
                                "end": 1152,
                                "loc": {
                                  "start": {
                                    "line": 46,
                                    "column": 74
                                  },
                                  "end": {
                                    "line": 48,
                                    "column": 5
                                  }
                                },
                                "body": [
                                  {
                                    "type": "ExpressionStatement",
                                    "start": 1102,
                                    "end": 1145,
                                    "loc": {
                                      "start": {
                                        "line": 47,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 47,
                                        "column": 49
                                      }
                                    },
                                    "expression": {
                                      "type": "CallExpression",
                                      "start": 1102,
                                      "end": 1144,
                                      "loc": {
                                        "start": {
                                          "line": 47,
                                          "column": 6
                                        },
                                        "end": {
                                          "line": 47,
                                          "column": 48
                                        }
                                      },
                                      "callee": {
                                        "type": "MemberExpression",
                                        "start": 1102,
                                        "end": 1124,
                                        "loc": {
                                          "start": {
                                            "line": 47,
                                            "column": 6
                                          },
                                          "end": {
                                            "line": 47,
                                            "column": 28
                                          }
                                        },
                                        "object": {
                                          "type": "MemberExpression",
                                          "start": 1102,
                                          "end": 1115,
                                          "loc": {
                                            "start": {
                                              "line": 47,
                                              "column": 6
                                            },
                                            "end": {
                                              "line": 47,
                                              "column": 19
                                            }
                                          },
                                          "object": {
                                            "type": "ThisExpression",
                                            "start": 1102,
                                            "end": 1106,
                                            "loc": {
                                              "start": {
                                                "line": 47,
                                                "column": 6
                                              },
                                              "end": {
                                                "line": 47,
                                                "column": 10
                                              }
                                            }
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 1107,
                                            "end": 1115,
                                            "loc": {
                                              "start": {
                                                "line": 47,
                                                "column": 11
                                              },
                                              "end": {
                                                "line": 47,
                                                "column": 19
                                              },
                                              "identifierName": "keyboard"
                                            },
                                            "name": "keyboard"
                                          },
                                          "computed": false
                                        },
                                        "property": {
                                          "type": "Identifier",
                                          "start": 1116,
                                          "end": 1124,
                                          "loc": {
                                            "start": {
                                              "line": 47,
                                              "column": 20
                                            },
                                            "end": {
                                              "line": 47,
                                              "column": 28
                                            },
                                            "identifierName": "setInput"
                                          },
                                          "name": "setInput"
                                        },
                                        "computed": false
                                      },
                                      "arguments": [
                                        {
                                          "type": "MemberExpression",
                                          "start": 1125,
                                          "end": 1143,
                                          "loc": {
                                            "start": {
                                              "line": 47,
                                              "column": 29
                                            },
                                            "end": {
                                              "line": 47,
                                              "column": 47
                                            }
                                          },
                                          "object": {
                                            "type": "MemberExpression",
                                            "start": 1125,
                                            "end": 1137,
                                            "loc": {
                                              "start": {
                                                "line": 47,
                                                "column": 29
                                              },
                                              "end": {
                                                "line": 47,
                                                "column": 41
                                              }
                                            },
                                            "object": {
                                              "type": "Identifier",
                                              "start": 1125,
                                              "end": 1130,
                                              "loc": {
                                                "start": {
                                                  "line": 47,
                                                  "column": 29
                                                },
                                                "end": {
                                                  "line": 47,
                                                  "column": 34
                                                },
                                                "identifierName": "event"
                                              },
                                              "name": "event"
                                            },
                                            "property": {
                                              "type": "Identifier",
                                              "start": 1131,
                                              "end": 1137,
                                              "loc": {
                                                "start": {
                                                  "line": 47,
                                                  "column": 35
                                                },
                                                "end": {
                                                  "line": 47,
                                                  "column": 41
                                                },
                                                "identifierName": "target"
                                              },
                                              "name": "target"
                                            },
                                            "computed": false
                                          },
                                          "property": {
                                            "type": "Identifier",
                                            "start": 1138,
                                            "end": 1143,
                                            "loc": {
                                              "start": {
                                                "line": 47,
                                                "column": 42
                                              },
                                              "end": {
                                                "line": 47,
                                                "column": 47
                                              },
                                              "identifierName": "value"
                                            },
                                            "name": "value"
                                          },
                                          "computed": false
                                        }
                                      ]
                                    }
                                  }
                                ],
                                "directives": []
                              }
                            }
                          ]
                        }
                      }
                    ],
                    "directives": [],
                    "trailingComments": null
                  },
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Executed when the DOM is ready\r\n   ",
                    "start": 356,
                    "end": 403,
                    "loc": {
                      "start": {
                        "line": 21,
                        "column": 2
                      },
                      "end": {
                        "line": 23,
                        "column": 5
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Handles shift functionality\r\n   ",
                    "start": 1165,
                    "end": 1209,
                    "loc": {
                      "start": {
                        "line": 51,
                        "column": 2
                      },
                      "end": {
                        "line": 53,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassProperty",
                "start": 1213,
                "end": 1449,
                "loc": {
                  "start": {
                    "line": 54,
                    "column": 2
                  },
                  "end": {
                    "line": 61,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1213,
                  "end": 1230,
                  "loc": {
                    "start": {
                      "line": 54,
                      "column": 2
                    },
                    "end": {
                      "line": 54,
                      "column": 19
                    },
                    "identifierName": "handleShiftButton"
                  },
                  "name": "handleShiftButton",
                  "leadingComments": null
                },
                "value": {
                  "type": "ArrowFunctionExpression",
                  "start": 1233,
                  "end": 1449,
                  "loc": {
                    "start": {
                      "line": 54,
                      "column": 22
                    },
                    "end": {
                      "line": 61,
                      "column": 3
                    }
                  },
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [],
                  "body": {
                    "type": "BlockStatement",
                    "start": 1239,
                    "end": 1449,
                    "loc": {
                      "start": {
                        "line": 54,
                        "column": 28
                      },
                      "end": {
                        "line": 61,
                        "column": 3
                      }
                    },
                    "body": [
                      {
                        "type": "VariableDeclaration",
                        "start": 1246,
                        "end": 1279,
                        "loc": {
                          "start": {
                            "line": 55,
                            "column": 4
                          },
                          "end": {
                            "line": 55,
                            "column": 37
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 1250,
                            "end": 1278,
                            "loc": {
                              "start": {
                                "line": 55,
                                "column": 8
                              },
                              "end": {
                                "line": 55,
                                "column": 36
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 1250,
                              "end": 1260,
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 8
                                },
                                "end": {
                                  "line": 55,
                                  "column": 18
                                },
                                "identifierName": "layoutName"
                              },
                              "name": "layoutName"
                            },
                            "init": {
                              "type": "MemberExpression",
                              "start": 1263,
                              "end": 1278,
                              "loc": {
                                "start": {
                                  "line": 55,
                                  "column": 21
                                },
                                "end": {
                                  "line": 55,
                                  "column": 36
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1263,
                                "end": 1267,
                                "loc": {
                                  "start": {
                                    "line": 55,
                                    "column": 21
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 25
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1268,
                                "end": 1278,
                                "loc": {
                                  "start": {
                                    "line": 55,
                                    "column": 26
                                  },
                                  "end": {
                                    "line": 55,
                                    "column": 36
                                  },
                                  "identifierName": "layoutName"
                                },
                                "name": "layoutName"
                              },
                              "computed": false
                            }
                          }
                        ],
                        "kind": "let"
                      },
                      {
                        "type": "VariableDeclaration",
                        "start": 1285,
                        "end": 1368,
                        "loc": {
                          "start": {
                            "line": 56,
                            "column": 4
                          },
                          "end": {
                            "line": 56,
                            "column": 87
                          }
                        },
                        "declarations": [
                          {
                            "type": "VariableDeclarator",
                            "start": 1289,
                            "end": 1367,
                            "loc": {
                              "start": {
                                "line": 56,
                                "column": 8
                              },
                              "end": {
                                "line": 56,
                                "column": 86
                              }
                            },
                            "id": {
                              "type": "Identifier",
                              "start": 1289,
                              "end": 1300,
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 8
                                },
                                "end": {
                                  "line": 56,
                                  "column": 19
                                },
                                "identifierName": "shiftToggle"
                              },
                              "name": "shiftToggle"
                            },
                            "init": {
                              "type": "AssignmentExpression",
                              "start": 1303,
                              "end": 1367,
                              "loc": {
                                "start": {
                                  "line": 56,
                                  "column": 22
                                },
                                "end": {
                                  "line": 56,
                                  "column": 86
                                }
                              },
                              "operator": "=",
                              "left": {
                                "type": "MemberExpression",
                                "start": 1303,
                                "end": 1318,
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 22
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 37
                                  }
                                },
                                "object": {
                                  "type": "ThisExpression",
                                  "start": 1303,
                                  "end": 1307,
                                  "loc": {
                                    "start": {
                                      "line": 56,
                                      "column": 22
                                    },
                                    "end": {
                                      "line": 56,
                                      "column": 26
                                    }
                                  }
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1308,
                                  "end": 1318,
                                  "loc": {
                                    "start": {
                                      "line": 56,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 56,
                                      "column": 37
                                    },
                                    "identifierName": "layoutName"
                                  },
                                  "name": "layoutName"
                                },
                                "computed": false
                              },
                              "right": {
                                "type": "ConditionalExpression",
                                "start": 1321,
                                "end": 1367,
                                "loc": {
                                  "start": {
                                    "line": 56,
                                    "column": 40
                                  },
                                  "end": {
                                    "line": 56,
                                    "column": 86
                                  }
                                },
                                "test": {
                                  "type": "BinaryExpression",
                                  "start": 1321,
                                  "end": 1345,
                                  "loc": {
                                    "start": {
                                      "line": 56,
                                      "column": 40
                                    },
                                    "end": {
                                      "line": 56,
                                      "column": 64
                                    }
                                  },
                                  "left": {
                                    "type": "Identifier",
                                    "start": 1321,
                                    "end": 1331,
                                    "loc": {
                                      "start": {
                                        "line": 56,
                                        "column": 40
                                      },
                                      "end": {
                                        "line": 56,
                                        "column": 50
                                      },
                                      "identifierName": "layoutName"
                                    },
                                    "name": "layoutName"
                                  },
                                  "operator": "===",
                                  "right": {
                                    "type": "StringLiteral",
                                    "start": 1336,
                                    "end": 1345,
                                    "loc": {
                                      "start": {
                                        "line": 56,
                                        "column": 55
                                      },
                                      "end": {
                                        "line": 56,
                                        "column": 64
                                      }
                                    },
                                    "extra": {
                                      "rawValue": "default",
                                      "raw": "\"default\""
                                    },
                                    "value": "default"
                                  }
                                },
                                "consequent": {
                                  "type": "StringLiteral",
                                  "start": 1348,
                                  "end": 1355,
                                  "loc": {
                                    "start": {
                                      "line": 56,
                                      "column": 67
                                    },
                                    "end": {
                                      "line": 56,
                                      "column": 74
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "shift",
                                    "raw": "\"shift\""
                                  },
                                  "value": "shift"
                                },
                                "alternate": {
                                  "type": "StringLiteral",
                                  "start": 1358,
                                  "end": 1367,
                                  "loc": {
                                    "start": {
                                      "line": 56,
                                      "column": 77
                                    },
                                    "end": {
                                      "line": 56,
                                      "column": 86
                                    }
                                  },
                                  "extra": {
                                    "rawValue": "default",
                                    "raw": "\"default\""
                                  },
                                  "value": "default"
                                }
                              }
                            }
                          }
                        ],
                        "kind": "let"
                      },
                      {
                        "type": "ExpressionStatement",
                        "start": 1378,
                        "end": 1444,
                        "loc": {
                          "start": {
                            "line": 58,
                            "column": 4
                          },
                          "end": {
                            "line": 60,
                            "column": 7
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 1378,
                          "end": 1443,
                          "loc": {
                            "start": {
                              "line": 58,
                              "column": 4
                            },
                            "end": {
                              "line": 60,
                              "column": 6
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1378,
                            "end": 1402,
                            "loc": {
                              "start": {
                                "line": 58,
                                "column": 4
                              },
                              "end": {
                                "line": 58,
                                "column": 28
                              }
                            },
                            "object": {
                              "type": "MemberExpression",
                              "start": 1378,
                              "end": 1391,
                              "loc": {
                                "start": {
                                  "line": 58,
                                  "column": 4
                                },
                                "end": {
                                  "line": 58,
                                  "column": 17
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1378,
                                "end": 1382,
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 4
                                  },
                                  "end": {
                                    "line": 58,
                                    "column": 8
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1383,
                                "end": 1391,
                                "loc": {
                                  "start": {
                                    "line": 58,
                                    "column": 9
                                  },
                                  "end": {
                                    "line": 58,
                                    "column": 17
                                  },
                                  "identifierName": "keyboard"
                                },
                                "name": "keyboard"
                              },
                              "computed": false
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1392,
                              "end": 1402,
                              "loc": {
                                "start": {
                                  "line": 58,
                                  "column": 18
                                },
                                "end": {
                                  "line": 58,
                                  "column": 28
                                },
                                "identifierName": "setOptions"
                              },
                              "name": "setOptions"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "ObjectExpression",
                              "start": 1403,
                              "end": 1442,
                              "loc": {
                                "start": {
                                  "line": 58,
                                  "column": 29
                                },
                                "end": {
                                  "line": 60,
                                  "column": 5
                                }
                              },
                              "properties": [
                                {
                                  "type": "ObjectProperty",
                                  "start": 1412,
                                  "end": 1435,
                                  "loc": {
                                    "start": {
                                      "line": 59,
                                      "column": 6
                                    },
                                    "end": {
                                      "line": 59,
                                      "column": 29
                                    }
                                  },
                                  "method": false,
                                  "shorthand": false,
                                  "computed": false,
                                  "key": {
                                    "type": "Identifier",
                                    "start": 1412,
                                    "end": 1422,
                                    "loc": {
                                      "start": {
                                        "line": 59,
                                        "column": 6
                                      },
                                      "end": {
                                        "line": 59,
                                        "column": 16
                                      },
                                      "identifierName": "layoutName"
                                    },
                                    "name": "layoutName"
                                  },
                                  "value": {
                                    "type": "Identifier",
                                    "start": 1424,
                                    "end": 1435,
                                    "loc": {
                                      "start": {
                                        "line": 59,
                                        "column": 18
                                      },
                                      "end": {
                                        "line": 59,
                                        "column": 29
                                      },
                                      "identifierName": "shiftToggle"
                                    },
                                    "name": "shiftToggle"
                                  }
                                }
                              ]
                            }
                          ]
                        }
                      }
                    ],
                    "directives": [],
                    "trailingComments": null
                  },
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Handles shift functionality\r\n   ",
                    "start": 1165,
                    "end": 1209,
                    "loc": {
                      "start": {
                        "line": 51,
                        "column": 2
                      },
                      "end": {
                        "line": 53,
                        "column": 5
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Called when simple-keyboard input has changed\r\n   ",
                    "start": 1455,
                    "end": 1517,
                    "loc": {
                      "start": {
                        "line": 63,
                        "column": 2
                      },
                      "end": {
                        "line": 65,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassProperty",
                "start": 1521,
                "end": 1600,
                "loc": {
                  "start": {
                    "line": 66,
                    "column": 2
                  },
                  "end": {
                    "line": 68,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1521,
                  "end": 1529,
                  "loc": {
                    "start": {
                      "line": 66,
                      "column": 2
                    },
                    "end": {
                      "line": 66,
                      "column": 10
                    },
                    "identifierName": "onChange"
                  },
                  "name": "onChange",
                  "leadingComments": null
                },
                "value": {
                  "type": "ArrowFunctionExpression",
                  "start": 1532,
                  "end": 1600,
                  "loc": {
                    "start": {
                      "line": 66,
                      "column": 13
                    },
                    "end": {
                      "line": 68,
                      "column": 3
                    }
                  },
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 1532,
                      "end": 1537,
                      "loc": {
                        "start": {
                          "line": 66,
                          "column": 13
                        },
                        "end": {
                          "line": 66,
                          "column": 18
                        },
                        "identifierName": "input"
                      },
                      "name": "input"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 1541,
                    "end": 1600,
                    "loc": {
                      "start": {
                        "line": 66,
                        "column": 22
                      },
                      "end": {
                        "line": 68,
                        "column": 3
                      }
                    },
                    "body": [
                      {
                        "type": "ExpressionStatement",
                        "start": 1548,
                        "end": 1595,
                        "loc": {
                          "start": {
                            "line": 67,
                            "column": 4
                          },
                          "end": {
                            "line": 67,
                            "column": 51
                          }
                        },
                        "expression": {
                          "type": "AssignmentExpression",
                          "start": 1548,
                          "end": 1594,
                          "loc": {
                            "start": {
                              "line": 67,
                              "column": 4
                            },
                            "end": {
                              "line": 67,
                              "column": 50
                            }
                          },
                          "operator": "=",
                          "left": {
                            "type": "MemberExpression",
                            "start": 1548,
                            "end": 1586,
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 4
                              },
                              "end": {
                                "line": 67,
                                "column": 42
                              }
                            },
                            "object": {
                              "type": "CallExpression",
                              "start": 1548,
                              "end": 1580,
                              "loc": {
                                "start": {
                                  "line": 67,
                                  "column": 4
                                },
                                "end": {
                                  "line": 67,
                                  "column": 36
                                }
                              },
                              "callee": {
                                "type": "MemberExpression",
                                "start": 1548,
                                "end": 1570,
                                "loc": {
                                  "start": {
                                    "line": 67,
                                    "column": 4
                                  },
                                  "end": {
                                    "line": 67,
                                    "column": 26
                                  }
                                },
                                "object": {
                                  "type": "Identifier",
                                  "start": 1548,
                                  "end": 1556,
                                  "loc": {
                                    "start": {
                                      "line": 67,
                                      "column": 4
                                    },
                                    "end": {
                                      "line": 67,
                                      "column": 12
                                    },
                                    "identifierName": "document"
                                  },
                                  "name": "document"
                                },
                                "property": {
                                  "type": "Identifier",
                                  "start": 1557,
                                  "end": 1570,
                                  "loc": {
                                    "start": {
                                      "line": 67,
                                      "column": 13
                                    },
                                    "end": {
                                      "line": 67,
                                      "column": 26
                                    },
                                    "identifierName": "querySelector"
                                  },
                                  "name": "querySelector"
                                },
                                "computed": false
                              },
                              "arguments": [
                                {
                                  "type": "StringLiteral",
                                  "start": 1571,
                                  "end": 1579,
                                  "loc": {
                                    "start": {
                                      "line": 67,
                                      "column": 27
                                    },
                                    "end": {
                                      "line": 67,
                                      "column": 35
                                    }
                                  },
                                  "extra": {
                                    "rawValue": ".input",
                                    "raw": "'.input'"
                                  },
                                  "value": ".input"
                                }
                              ]
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1581,
                              "end": 1586,
                              "loc": {
                                "start": {
                                  "line": 67,
                                  "column": 37
                                },
                                "end": {
                                  "line": 67,
                                  "column": 42
                                },
                                "identifierName": "value"
                              },
                              "name": "value"
                            },
                            "computed": false
                          },
                          "right": {
                            "type": "Identifier",
                            "start": 1589,
                            "end": 1594,
                            "loc": {
                              "start": {
                                "line": 67,
                                "column": 45
                              },
                              "end": {
                                "line": 67,
                                "column": 50
                              },
                              "identifierName": "input"
                            },
                            "name": "input"
                          }
                        }
                      }
                    ],
                    "directives": [],
                    "trailingComments": null
                  },
                  "trailingComments": null
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Called when simple-keyboard input has changed\r\n   ",
                    "start": 1455,
                    "end": 1517,
                    "loc": {
                      "start": {
                        "line": 63,
                        "column": 2
                      },
                      "end": {
                        "line": 65,
                        "column": 5
                      }
                    }
                  }
                ],
                "trailingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Called when a simple-keyboard key is pressed\r\n   ",
                    "start": 1606,
                    "end": 1667,
                    "loc": {
                      "start": {
                        "line": 70,
                        "column": 2
                      },
                      "end": {
                        "line": 72,
                        "column": 5
                      }
                    }
                  }
                ]
              },
              {
                "type": "ClassProperty",
                "start": 1671,
                "end": 1890,
                "loc": {
                  "start": {
                    "line": 73,
                    "column": 2
                  },
                  "end": {
                    "line": 81,
                    "column": 3
                  }
                },
                "static": false,
                "computed": false,
                "key": {
                  "type": "Identifier",
                  "start": 1671,
                  "end": 1681,
                  "loc": {
                    "start": {
                      "line": 73,
                      "column": 2
                    },
                    "end": {
                      "line": 73,
                      "column": 12
                    },
                    "identifierName": "onKeyPress"
                  },
                  "name": "onKeyPress",
                  "leadingComments": null
                },
                "value": {
                  "type": "ArrowFunctionExpression",
                  "start": 1684,
                  "end": 1890,
                  "loc": {
                    "start": {
                      "line": 73,
                      "column": 15
                    },
                    "end": {
                      "line": 81,
                      "column": 3
                    }
                  },
                  "id": null,
                  "generator": false,
                  "expression": false,
                  "async": false,
                  "params": [
                    {
                      "type": "Identifier",
                      "start": 1684,
                      "end": 1690,
                      "loc": {
                        "start": {
                          "line": 73,
                          "column": 15
                        },
                        "end": {
                          "line": 73,
                          "column": 21
                        },
                        "identifierName": "button"
                      },
                      "name": "button"
                    }
                  ],
                  "body": {
                    "type": "BlockStatement",
                    "start": 1694,
                    "end": 1890,
                    "loc": {
                      "start": {
                        "line": 73,
                        "column": 25
                      },
                      "end": {
                        "line": 81,
                        "column": 3
                      }
                    },
                    "body": [
                      {
                        "type": "ExpressionStatement",
                        "start": 1701,
                        "end": 1739,
                        "loc": {
                          "start": {
                            "line": 74,
                            "column": 4
                          },
                          "end": {
                            "line": 74,
                            "column": 42
                          }
                        },
                        "expression": {
                          "type": "CallExpression",
                          "start": 1701,
                          "end": 1738,
                          "loc": {
                            "start": {
                              "line": 74,
                              "column": 4
                            },
                            "end": {
                              "line": 74,
                              "column": 41
                            }
                          },
                          "callee": {
                            "type": "MemberExpression",
                            "start": 1701,
                            "end": 1712,
                            "loc": {
                              "start": {
                                "line": 74,
                                "column": 4
                              },
                              "end": {
                                "line": 74,
                                "column": 15
                              }
                            },
                            "object": {
                              "type": "Identifier",
                              "start": 1701,
                              "end": 1708,
                              "loc": {
                                "start": {
                                  "line": 74,
                                  "column": 4
                                },
                                "end": {
                                  "line": 74,
                                  "column": 11
                                },
                                "identifierName": "console"
                              },
                              "name": "console"
                            },
                            "property": {
                              "type": "Identifier",
                              "start": 1709,
                              "end": 1712,
                              "loc": {
                                "start": {
                                  "line": 74,
                                  "column": 12
                                },
                                "end": {
                                  "line": 74,
                                  "column": 15
                                },
                                "identifierName": "log"
                              },
                              "name": "log"
                            },
                            "computed": false
                          },
                          "arguments": [
                            {
                              "type": "StringLiteral",
                              "start": 1713,
                              "end": 1729,
                              "loc": {
                                "start": {
                                  "line": 74,
                                  "column": 16
                                },
                                "end": {
                                  "line": 74,
                                  "column": 32
                                }
                              },
                              "extra": {
                                "rawValue": "Button pressed",
                                "raw": "\"Button pressed\""
                              },
                              "value": "Button pressed"
                            },
                            {
                              "type": "Identifier",
                              "start": 1731,
                              "end": 1737,
                              "loc": {
                                "start": {
                                  "line": 74,
                                  "column": 34
                                },
                                "end": {
                                  "line": 74,
                                  "column": 40
                                },
                                "identifierName": "button"
                              },
                              "name": "button"
                            }
                          ]
                        },
                        "trailingComments": [
                          {
                            "type": "CommentBlock",
                            "value": "*\r\n       * Shift functionality\r\n       ",
                            "start": 1751,
                            "end": 1795,
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 6
                              },
                              "end": {
                                "line": 78,
                                "column": 9
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "IfStatement",
                        "start": 1803,
                        "end": 1885,
                        "loc": {
                          "start": {
                            "line": 79,
                            "column": 6
                          },
                          "end": {
                            "line": 80,
                            "column": 33
                          }
                        },
                        "test": {
                          "type": "LogicalExpression",
                          "start": 1806,
                          "end": 1849,
                          "loc": {
                            "start": {
                              "line": 79,
                              "column": 9
                            },
                            "end": {
                              "line": 79,
                              "column": 52
                            }
                          },
                          "left": {
                            "type": "BinaryExpression",
                            "start": 1806,
                            "end": 1825,
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 9
                              },
                              "end": {
                                "line": 79,
                                "column": 28
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 1806,
                              "end": 1812,
                              "loc": {
                                "start": {
                                  "line": 79,
                                  "column": 9
                                },
                                "end": {
                                  "line": 79,
                                  "column": 15
                                },
                                "identifierName": "button"
                              },
                              "name": "button",
                              "leadingComments": null
                            },
                            "operator": "===",
                            "right": {
                              "type": "StringLiteral",
                              "start": 1817,
                              "end": 1825,
                              "loc": {
                                "start": {
                                  "line": 79,
                                  "column": 20
                                },
                                "end": {
                                  "line": 79,
                                  "column": 28
                                }
                              },
                              "extra": {
                                "rawValue": "{lock}",
                                "raw": "\"{lock}\""
                              },
                              "value": "{lock}"
                            },
                            "leadingComments": null
                          },
                          "operator": "||",
                          "right": {
                            "type": "BinaryExpression",
                            "start": 1829,
                            "end": 1849,
                            "loc": {
                              "start": {
                                "line": 79,
                                "column": 32
                              },
                              "end": {
                                "line": 79,
                                "column": 52
                              }
                            },
                            "left": {
                              "type": "Identifier",
                              "start": 1829,
                              "end": 1835,
                              "loc": {
                                "start": {
                                  "line": 79,
                                  "column": 32
                                },
                                "end": {
                                  "line": 79,
                                  "column": 38
                                },
                                "identifierName": "button"
                              },
                              "name": "button"
                            },
                            "operator": "===",
                            "right": {
                              "type": "StringLiteral",
                              "start": 1840,
                              "end": 1849,
                              "loc": {
                                "start": {
                                  "line": 79,
                                  "column": 43
                                },
                                "end": {
                                  "line": 79,
                                  "column": 52
                                }
                              },
                              "extra": {
                                "rawValue": "{shift}",
                                "raw": "\"{shift}\""
                              },
                              "value": "{shift}"
                            }
                          },
                          "leadingComments": null
                        },
                        "consequent": {
                          "type": "ExpressionStatement",
                          "start": 1860,
                          "end": 1885,
                          "loc": {
                            "start": {
                              "line": 80,
                              "column": 8
                            },
                            "end": {
                              "line": 80,
                              "column": 33
                            }
                          },
                          "expression": {
                            "type": "CallExpression",
                            "start": 1860,
                            "end": 1884,
                            "loc": {
                              "start": {
                                "line": 80,
                                "column": 8
                              },
                              "end": {
                                "line": 80,
                                "column": 32
                              }
                            },
                            "callee": {
                              "type": "MemberExpression",
                              "start": 1860,
                              "end": 1882,
                              "loc": {
                                "start": {
                                  "line": 80,
                                  "column": 8
                                },
                                "end": {
                                  "line": 80,
                                  "column": 30
                                }
                              },
                              "object": {
                                "type": "ThisExpression",
                                "start": 1860,
                                "end": 1864,
                                "loc": {
                                  "start": {
                                    "line": 80,
                                    "column": 8
                                  },
                                  "end": {
                                    "line": 80,
                                    "column": 12
                                  }
                                }
                              },
                              "property": {
                                "type": "Identifier",
                                "start": 1865,
                                "end": 1882,
                                "loc": {
                                  "start": {
                                    "line": 80,
                                    "column": 13
                                  },
                                  "end": {
                                    "line": 80,
                                    "column": 30
                                  },
                                  "identifierName": "handleShiftButton"
                                },
                                "name": "handleShiftButton"
                              },
                              "computed": false
                            },
                            "arguments": []
                          }
                        },
                        "alternate": null,
                        "leadingComments": [
                          {
                            "type": "CommentBlock",
                            "value": "*\r\n       * Shift functionality\r\n       ",
                            "start": 1751,
                            "end": 1795,
                            "loc": {
                              "start": {
                                "line": 76,
                                "column": 6
                              },
                              "end": {
                                "line": 78,
                                "column": 9
                              }
                            }
                          }
                        ]
                      }
                    ],
                    "directives": []
                  }
                },
                "leadingComments": [
                  {
                    "type": "CommentBlock",
                    "value": "*\r\n   * Called when a simple-keyboard key is pressed\r\n   ",
                    "start": 1606,
                    "end": 1667,
                    "loc": {
                      "start": {
                        "line": 70,
                        "column": 2
                      },
                      "end": {
                        "line": 72,
                        "column": 5
                      }
                    }
                  }
                ]
              }
            ]
          },
          "leadingComments": [
            {
              "type": "CommentBlock",
              "value": "*\r\n * simple-keyboard demo\r\n ",
              "start": 59,
              "end": 92,
              "loc": {
                "start": {
                  "line": 4,
                  "column": 0
                },
                "end": {
                  "line": 6,
                  "column": 3
                }
              }
            }
          ],
          "__PseudoExport__": false,
          "trailingComments": []
        },
        "leadingComments": null
      }
    ],
    "directives": []
  },
  "comments": [
    {
      "type": "CommentBlock",
      "value": "*\r\n * simple-keyboard demo\r\n ",
      "start": 59,
      "end": 92,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 6,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Instantiates the demo class\r\n   ",
      "start": 109,
      "end": 153,
      "loc": {
        "start": {
          "line": 8,
          "column": 2
        },
        "end": {
          "line": 10,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n     * Default input name\r\n     * @type {string}\r\n     ",
      "start": 249,
      "end": 311,
      "loc": {
        "start": {
          "line": 14,
          "column": 4
        },
        "end": {
          "line": 17,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Executed when the DOM is ready\r\n   ",
      "start": 356,
      "end": 403,
      "loc": {
        "start": {
          "line": 21,
          "column": 2
        },
        "end": {
          "line": 23,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n     * Creates a new simple-keyboard instance\r\n     ",
      "start": 434,
      "end": 493,
      "loc": {
        "start": {
          "line": 25,
          "column": 4
        },
        "end": {
          "line": 27,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n     * Adding preview (demo only)\r\n     ",
      "start": 775,
      "end": 822,
      "loc": {
        "start": {
          "line": 37,
          "column": 4
        },
        "end": {
          "line": 39,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Handles shift functionality\r\n   ",
      "start": 1165,
      "end": 1209,
      "loc": {
        "start": {
          "line": 51,
          "column": 2
        },
        "end": {
          "line": 53,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Called when simple-keyboard input has changed\r\n   ",
      "start": 1455,
      "end": 1517,
      "loc": {
        "start": {
          "line": 63,
          "column": 2
        },
        "end": {
          "line": 65,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Called when a simple-keyboard key is pressed\r\n   ",
      "start": 1606,
      "end": 1667,
      "loc": {
        "start": {
          "line": 70,
          "column": 2
        },
        "end": {
          "line": 72,
          "column": 5
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n       * Shift functionality\r\n       ",
      "start": 1751,
      "end": 1795,
      "loc": {
        "start": {
          "line": 76,
          "column": 6
        },
        "end": {
          "line": 78,
          "column": 9
        }
      }
    }
  ],
  "tokens": [
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 0,
      "end": 6,
      "loc": {
        "start": {
          "line": 1,
          "column": 0
        },
        "end": {
          "line": 1,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Keyboard",
      "start": 7,
      "end": 15,
      "loc": {
        "start": {
          "line": 1,
          "column": 7
        },
        "end": {
          "line": 1,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "from",
      "start": 16,
      "end": 20,
      "loc": {
        "start": {
          "line": 1,
          "column": 16
        },
        "end": {
          "line": 1,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "../lib",
      "start": 21,
      "end": 29,
      "loc": {
        "start": {
          "line": 1,
          "column": 21
        },
        "end": {
          "line": 1,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 29,
      "end": 30,
      "loc": {
        "start": {
          "line": 1,
          "column": 29
        },
        "end": {
          "line": 1,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "import",
        "keyword": "import",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "import",
      "start": 32,
      "end": 38,
      "loc": {
        "start": {
          "line": 2,
          "column": 0
        },
        "end": {
          "line": 2,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "./css/App.css",
      "start": 39,
      "end": 54,
      "loc": {
        "start": {
          "line": 2,
          "column": 7
        },
        "end": {
          "line": 2,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 54,
      "end": 55,
      "loc": {
        "start": {
          "line": 2,
          "column": 22
        },
        "end": {
          "line": 2,
          "column": 23
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n * simple-keyboard demo\r\n ",
      "start": 59,
      "end": 92,
      "loc": {
        "start": {
          "line": 4,
          "column": 0
        },
        "end": {
          "line": 6,
          "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": 94,
      "end": 99,
      "loc": {
        "start": {
          "line": 7,
          "column": 0
        },
        "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": "App",
      "start": 100,
      "end": 103,
      "loc": {
        "start": {
          "line": 7,
          "column": 6
        },
        "end": {
          "line": 7,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 104,
      "end": 105,
      "loc": {
        "start": {
          "line": 7,
          "column": 10
        },
        "end": {
          "line": 7,
          "column": 11
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Instantiates the demo class\r\n   ",
      "start": 109,
      "end": 153,
      "loc": {
        "start": {
          "line": 8,
          "column": 2
        },
        "end": {
          "line": 10,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "constructor",
      "start": 157,
      "end": 168,
      "loc": {
        "start": {
          "line": 11,
          "column": 2
        },
        "end": {
          "line": 11,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 168,
      "end": 169,
      "loc": {
        "start": {
          "line": 11,
          "column": 13
        },
        "end": {
          "line": 11,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 169,
      "end": 170,
      "loc": {
        "start": {
          "line": 11,
          "column": 14
        },
        "end": {
          "line": 11,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 170,
      "end": 171,
      "loc": {
        "start": {
          "line": 11,
          "column": 15
        },
        "end": {
          "line": 11,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "document",
      "start": 177,
      "end": 185,
      "loc": {
        "start": {
          "line": 12,
          "column": 4
        },
        "end": {
          "line": 12,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 185,
      "end": 186,
      "loc": {
        "start": {
          "line": 12,
          "column": 12
        },
        "end": {
          "line": 12,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addEventListener",
      "start": 186,
      "end": 202,
      "loc": {
        "start": {
          "line": 12,
          "column": 13
        },
        "end": {
          "line": 12,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 202,
      "end": 203,
      "loc": {
        "start": {
          "line": 12,
          "column": 29
        },
        "end": {
          "line": 12,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "DOMContentLoaded",
      "start": 203,
      "end": 221,
      "loc": {
        "start": {
          "line": 12,
          "column": 30
        },
        "end": {
          "line": 12,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 221,
      "end": 222,
      "loc": {
        "start": {
          "line": 12,
          "column": 48
        },
        "end": {
          "line": 12,
          "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": 223,
      "end": 227,
      "loc": {
        "start": {
          "line": 12,
          "column": 50
        },
        "end": {
          "line": 12,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 227,
      "end": 228,
      "loc": {
        "start": {
          "line": 12,
          "column": 54
        },
        "end": {
          "line": 12,
          "column": 55
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onDOMLoaded",
      "start": 228,
      "end": 239,
      "loc": {
        "start": {
          "line": 12,
          "column": 55
        },
        "end": {
          "line": 12,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 239,
      "end": 240,
      "loc": {
        "start": {
          "line": 12,
          "column": 66
        },
        "end": {
          "line": 12,
          "column": 67
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 240,
      "end": 241,
      "loc": {
        "start": {
          "line": 12,
          "column": 67
        },
        "end": {
          "line": 12,
          "column": 68
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n     * Default input name\r\n     * @type {string}\r\n     ",
      "start": 249,
      "end": 311,
      "loc": {
        "start": {
          "line": 14,
          "column": 4
        },
        "end": {
          "line": 17,
          "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": 317,
      "end": 321,
      "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": 321,
      "end": 322,
      "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": "layoutName",
      "start": 322,
      "end": 332,
      "loc": {
        "start": {
          "line": 18,
          "column": 9
        },
        "end": {
          "line": 18,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 333,
      "end": 334,
      "loc": {
        "start": {
          "line": 18,
          "column": 20
        },
        "end": {
          "line": 18,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "default",
      "start": 335,
      "end": 344,
      "loc": {
        "start": {
          "line": 18,
          "column": 22
        },
        "end": {
          "line": 18,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 344,
      "end": 345,
      "loc": {
        "start": {
          "line": 18,
          "column": 31
        },
        "end": {
          "line": 18,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 349,
      "end": 350,
      "loc": {
        "start": {
          "line": 19,
          "column": 2
        },
        "end": {
          "line": 19,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Executed when the DOM is ready\r\n   ",
      "start": 356,
      "end": 403,
      "loc": {
        "start": {
          "line": 21,
          "column": 2
        },
        "end": {
          "line": 23,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onDOMLoaded",
      "start": 407,
      "end": 418,
      "loc": {
        "start": {
          "line": 24,
          "column": 2
        },
        "end": {
          "line": 24,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 419,
      "end": 420,
      "loc": {
        "start": {
          "line": 24,
          "column": 14
        },
        "end": {
          "line": 24,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 421,
      "end": 422,
      "loc": {
        "start": {
          "line": 24,
          "column": 16
        },
        "end": {
          "line": 24,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 422,
      "end": 423,
      "loc": {
        "start": {
          "line": 24,
          "column": 17
        },
        "end": {
          "line": 24,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 424,
      "end": 426,
      "loc": {
        "start": {
          "line": 24,
          "column": 19
        },
        "end": {
          "line": 24,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 427,
      "end": 428,
      "loc": {
        "start": {
          "line": 24,
          "column": 22
        },
        "end": {
          "line": 24,
          "column": 23
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n     * Creates a new simple-keyboard instance\r\n     ",
      "start": 434,
      "end": 493,
      "loc": {
        "start": {
          "line": 25,
          "column": 4
        },
        "end": {
          "line": 27,
          "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": 499,
      "end": 503,
      "loc": {
        "start": {
          "line": 28,
          "column": 4
        },
        "end": {
          "line": 28,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 503,
      "end": 504,
      "loc": {
        "start": {
          "line": 28,
          "column": 8
        },
        "end": {
          "line": 28,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "keyboard",
      "start": 504,
      "end": 512,
      "loc": {
        "start": {
          "line": 28,
          "column": 9
        },
        "end": {
          "line": 28,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 513,
      "end": 514,
      "loc": {
        "start": {
          "line": 28,
          "column": 18
        },
        "end": {
          "line": 28,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "new",
        "keyword": "new",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "new",
      "start": 515,
      "end": 518,
      "loc": {
        "start": {
          "line": 28,
          "column": 20
        },
        "end": {
          "line": 28,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "Keyboard",
      "start": 519,
      "end": 527,
      "loc": {
        "start": {
          "line": 28,
          "column": 24
        },
        "end": {
          "line": 28,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 527,
      "end": 528,
      "loc": {
        "start": {
          "line": 28,
          "column": 32
        },
        "end": {
          "line": 28,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 528,
      "end": 529,
      "loc": {
        "start": {
          "line": 28,
          "column": 33
        },
        "end": {
          "line": 28,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "debug",
      "start": 537,
      "end": 542,
      "loc": {
        "start": {
          "line": 29,
          "column": 6
        },
        "end": {
          "line": 29,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 542,
      "end": 543,
      "loc": {
        "start": {
          "line": 29,
          "column": 11
        },
        "end": {
          "line": 29,
          "column": 12
        }
      }
    },
    {
      "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": 544,
      "end": 548,
      "loc": {
        "start": {
          "line": 29,
          "column": 13
        },
        "end": {
          "line": 29,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 548,
      "end": 549,
      "loc": {
        "start": {
          "line": 29,
          "column": 17
        },
        "end": {
          "line": 29,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "layoutName",
      "start": 557,
      "end": 567,
      "loc": {
        "start": {
          "line": 30,
          "column": 6
        },
        "end": {
          "line": 30,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 567,
      "end": 568,
      "loc": {
        "start": {
          "line": 30,
          "column": 16
        },
        "end": {
          "line": 30,
          "column": 17
        }
      }
    },
    {
      "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": 569,
      "end": 573,
      "loc": {
        "start": {
          "line": 30,
          "column": 18
        },
        "end": {
          "line": 30,
          "column": 22
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 573,
      "end": 574,
      "loc": {
        "start": {
          "line": 30,
          "column": 22
        },
        "end": {
          "line": 30,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "layoutName",
      "start": 574,
      "end": 584,
      "loc": {
        "start": {
          "line": 30,
          "column": 23
        },
        "end": {
          "line": 30,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 584,
      "end": 585,
      "loc": {
        "start": {
          "line": 30,
          "column": 33
        },
        "end": {
          "line": 30,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onChange",
      "start": 593,
      "end": 601,
      "loc": {
        "start": {
          "line": 31,
          "column": 6
        },
        "end": {
          "line": 31,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 601,
      "end": 602,
      "loc": {
        "start": {
          "line": 31,
          "column": 14
        },
        "end": {
          "line": 31,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "input",
      "start": 603,
      "end": 608,
      "loc": {
        "start": {
          "line": 31,
          "column": 16
        },
        "end": {
          "line": 31,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 609,
      "end": 611,
      "loc": {
        "start": {
          "line": 31,
          "column": 22
        },
        "end": {
          "line": 31,
          "column": 24
        }
      }
    },
    {
      "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": 612,
      "end": 616,
      "loc": {
        "start": {
          "line": 31,
          "column": 25
        },
        "end": {
          "line": 31,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 616,
      "end": 617,
      "loc": {
        "start": {
          "line": 31,
          "column": 29
        },
        "end": {
          "line": 31,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onChange",
      "start": 617,
      "end": 625,
      "loc": {
        "start": {
          "line": 31,
          "column": 30
        },
        "end": {
          "line": 31,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 625,
      "end": 626,
      "loc": {
        "start": {
          "line": 31,
          "column": 38
        },
        "end": {
          "line": 31,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "input",
      "start": 626,
      "end": 631,
      "loc": {
        "start": {
          "line": 31,
          "column": 39
        },
        "end": {
          "line": 31,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 631,
      "end": 632,
      "loc": {
        "start": {
          "line": 31,
          "column": 44
        },
        "end": {
          "line": 31,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 632,
      "end": 633,
      "loc": {
        "start": {
          "line": 31,
          "column": 45
        },
        "end": {
          "line": 31,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onKeyPress",
      "start": 641,
      "end": 651,
      "loc": {
        "start": {
          "line": 32,
          "column": 6
        },
        "end": {
          "line": 32,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 651,
      "end": 652,
      "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": 653,
      "end": 659,
      "loc": {
        "start": {
          "line": 32,
          "column": 18
        },
        "end": {
          "line": 32,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 660,
      "end": 662,
      "loc": {
        "start": {
          "line": 32,
          "column": 25
        },
        "end": {
          "line": 32,
          "column": 27
        }
      }
    },
    {
      "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": 663,
      "end": 667,
      "loc": {
        "start": {
          "line": 32,
          "column": 28
        },
        "end": {
          "line": 32,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 667,
      "end": 668,
      "loc": {
        "start": {
          "line": 32,
          "column": 32
        },
        "end": {
          "line": 32,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onKeyPress",
      "start": 668,
      "end": 678,
      "loc": {
        "start": {
          "line": 32,
          "column": 33
        },
        "end": {
          "line": 32,
          "column": 43
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 678,
      "end": 679,
      "loc": {
        "start": {
          "line": 32,
          "column": 43
        },
        "end": {
          "line": 32,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 679,
      "end": 685,
      "loc": {
        "start": {
          "line": 32,
          "column": 44
        },
        "end": {
          "line": 32,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 685,
      "end": 686,
      "loc": {
        "start": {
          "line": 32,
          "column": 50
        },
        "end": {
          "line": 32,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 686,
      "end": 687,
      "loc": {
        "start": {
          "line": 32,
          "column": 51
        },
        "end": {
          "line": 32,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "newLineOnEnter",
      "start": 695,
      "end": 709,
      "loc": {
        "start": {
          "line": 33,
          "column": 6
        },
        "end": {
          "line": 33,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 709,
      "end": 710,
      "loc": {
        "start": {
          "line": 33,
          "column": 20
        },
        "end": {
          "line": 33,
          "column": 21
        }
      }
    },
    {
      "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": 711,
      "end": 715,
      "loc": {
        "start": {
          "line": 33,
          "column": 22
        },
        "end": {
          "line": 33,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 715,
      "end": 716,
      "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": "physicalKeyboardHighlight",
      "start": 724,
      "end": 749,
      "loc": {
        "start": {
          "line": 34,
          "column": 6
        },
        "end": {
          "line": 34,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 749,
      "end": 750,
      "loc": {
        "start": {
          "line": 34,
          "column": 31
        },
        "end": {
          "line": 34,
          "column": 32
        }
      }
    },
    {
      "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": 751,
      "end": 755,
      "loc": {
        "start": {
          "line": 34,
          "column": 33
        },
        "end": {
          "line": 34,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 755,
      "end": 756,
      "loc": {
        "start": {
          "line": 34,
          "column": 37
        },
        "end": {
          "line": 34,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 762,
      "end": 763,
      "loc": {
        "start": {
          "line": 35,
          "column": 4
        },
        "end": {
          "line": 35,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 763,
      "end": 764,
      "loc": {
        "start": {
          "line": 35,
          "column": 5
        },
        "end": {
          "line": 35,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 764,
      "end": 765,
      "loc": {
        "start": {
          "line": 35,
          "column": 6
        },
        "end": {
          "line": 35,
          "column": 7
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n     * Adding preview (demo only)\r\n     ",
      "start": 775,
      "end": 822,
      "loc": {
        "start": {
          "line": 37,
          "column": 4
        },
        "end": {
          "line": 39,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "document",
      "start": 828,
      "end": 836,
      "loc": {
        "start": {
          "line": 40,
          "column": 4
        },
        "end": {
          "line": 40,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 836,
      "end": 837,
      "loc": {
        "start": {
          "line": 40,
          "column": 12
        },
        "end": {
          "line": 40,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "querySelector",
      "start": 837,
      "end": 850,
      "loc": {
        "start": {
          "line": 40,
          "column": 13
        },
        "end": {
          "line": 40,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 850,
      "end": 851,
      "loc": {
        "start": {
          "line": 40,
          "column": 26
        },
        "end": {
          "line": 40,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": ".simple-keyboard",
      "start": 851,
      "end": 869,
      "loc": {
        "start": {
          "line": 40,
          "column": 27
        },
        "end": {
          "line": 40,
          "column": 45
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 869,
      "end": 870,
      "loc": {
        "start": {
          "line": 40,
          "column": 45
        },
        "end": {
          "line": 40,
          "column": 46
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 870,
      "end": 871,
      "loc": {
        "start": {
          "line": 40,
          "column": 46
        },
        "end": {
          "line": 40,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "insertAdjacentHTML",
      "start": 871,
      "end": 889,
      "loc": {
        "start": {
          "line": 40,
          "column": 47
        },
        "end": {
          "line": 40,
          "column": 65
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 889,
      "end": 890,
      "loc": {
        "start": {
          "line": 40,
          "column": 65
        },
        "end": {
          "line": 40,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "beforebegin",
      "start": 890,
      "end": 903,
      "loc": {
        "start": {
          "line": 40,
          "column": 66
        },
        "end": {
          "line": 40,
          "column": 79
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 903,
      "end": 904,
      "loc": {
        "start": {
          "line": 40,
          "column": 79
        },
        "end": {
          "line": 40,
          "column": 80
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 905,
      "end": 906,
      "loc": {
        "start": {
          "line": 40,
          "column": 81
        },
        "end": {
          "line": 40,
          "column": 82
        }
      }
    },
    {
      "type": {
        "label": "template",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "\n    <div class=\"simple-keyboard-preview\">\n      <textarea class=\"input\"></textarea>\n    </div>\n    ",
      "start": 906,
      "end": 1010,
      "loc": {
        "start": {
          "line": 40,
          "column": 82
        },
        "end": {
          "line": 44,
          "column": 4
        }
      }
    },
    {
      "type": {
        "label": "`",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1010,
      "end": 1011,
      "loc": {
        "start": {
          "line": 44,
          "column": 4
        },
        "end": {
          "line": 44,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1011,
      "end": 1012,
      "loc": {
        "start": {
          "line": 44,
          "column": 5
        },
        "end": {
          "line": 44,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1012,
      "end": 1013,
      "loc": {
        "start": {
          "line": 44,
          "column": 6
        },
        "end": {
          "line": 44,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "document",
      "start": 1023,
      "end": 1031,
      "loc": {
        "start": {
          "line": 46,
          "column": 4
        },
        "end": {
          "line": 46,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1031,
      "end": 1032,
      "loc": {
        "start": {
          "line": 46,
          "column": 12
        },
        "end": {
          "line": 46,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "querySelector",
      "start": 1032,
      "end": 1045,
      "loc": {
        "start": {
          "line": 46,
          "column": 13
        },
        "end": {
          "line": 46,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1045,
      "end": 1046,
      "loc": {
        "start": {
          "line": 46,
          "column": 26
        },
        "end": {
          "line": 46,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": ".input",
      "start": 1046,
      "end": 1054,
      "loc": {
        "start": {
          "line": 46,
          "column": 27
        },
        "end": {
          "line": 46,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1054,
      "end": 1055,
      "loc": {
        "start": {
          "line": 46,
          "column": 35
        },
        "end": {
          "line": 46,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1055,
      "end": 1056,
      "loc": {
        "start": {
          "line": 46,
          "column": 36
        },
        "end": {
          "line": 46,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "addEventListener",
      "start": 1056,
      "end": 1072,
      "loc": {
        "start": {
          "line": 46,
          "column": 37
        },
        "end": {
          "line": 46,
          "column": 53
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1072,
      "end": 1073,
      "loc": {
        "start": {
          "line": 46,
          "column": 53
        },
        "end": {
          "line": 46,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "input",
      "start": 1073,
      "end": 1080,
      "loc": {
        "start": {
          "line": 46,
          "column": 54
        },
        "end": {
          "line": 46,
          "column": 61
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1080,
      "end": 1081,
      "loc": {
        "start": {
          "line": 46,
          "column": 61
        },
        "end": {
          "line": 46,
          "column": 62
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1082,
      "end": 1083,
      "loc": {
        "start": {
          "line": 46,
          "column": 63
        },
        "end": {
          "line": 46,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 1083,
      "end": 1088,
      "loc": {
        "start": {
          "line": 46,
          "column": 64
        },
        "end": {
          "line": 46,
          "column": 69
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1088,
      "end": 1089,
      "loc": {
        "start": {
          "line": 46,
          "column": 69
        },
        "end": {
          "line": 46,
          "column": 70
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1090,
      "end": 1092,
      "loc": {
        "start": {
          "line": 46,
          "column": 71
        },
        "end": {
          "line": 46,
          "column": 73
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1093,
      "end": 1094,
      "loc": {
        "start": {
          "line": 46,
          "column": 74
        },
        "end": {
          "line": 46,
          "column": 75
        }
      }
    },
    {
      "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": 1102,
      "end": 1106,
      "loc": {
        "start": {
          "line": 47,
          "column": 6
        },
        "end": {
          "line": 47,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1106,
      "end": 1107,
      "loc": {
        "start": {
          "line": 47,
          "column": 10
        },
        "end": {
          "line": 47,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "keyboard",
      "start": 1107,
      "end": 1115,
      "loc": {
        "start": {
          "line": 47,
          "column": 11
        },
        "end": {
          "line": 47,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1115,
      "end": 1116,
      "loc": {
        "start": {
          "line": 47,
          "column": 19
        },
        "end": {
          "line": 47,
          "column": 20
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "setInput",
      "start": 1116,
      "end": 1124,
      "loc": {
        "start": {
          "line": 47,
          "column": 20
        },
        "end": {
          "line": 47,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1124,
      "end": 1125,
      "loc": {
        "start": {
          "line": 47,
          "column": 28
        },
        "end": {
          "line": 47,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "event",
      "start": 1125,
      "end": 1130,
      "loc": {
        "start": {
          "line": 47,
          "column": 29
        },
        "end": {
          "line": 47,
          "column": 34
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1130,
      "end": 1131,
      "loc": {
        "start": {
          "line": 47,
          "column": 34
        },
        "end": {
          "line": 47,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "target",
      "start": 1131,
      "end": 1137,
      "loc": {
        "start": {
          "line": 47,
          "column": 35
        },
        "end": {
          "line": 47,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1137,
      "end": 1138,
      "loc": {
        "start": {
          "line": 47,
          "column": 41
        },
        "end": {
          "line": 47,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "value",
      "start": 1138,
      "end": 1143,
      "loc": {
        "start": {
          "line": 47,
          "column": 42
        },
        "end": {
          "line": 47,
          "column": 47
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1143,
      "end": 1144,
      "loc": {
        "start": {
          "line": 47,
          "column": 47
        },
        "end": {
          "line": 47,
          "column": 48
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1144,
      "end": 1145,
      "loc": {
        "start": {
          "line": 47,
          "column": 48
        },
        "end": {
          "line": 47,
          "column": 49
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1151,
      "end": 1152,
      "loc": {
        "start": {
          "line": 48,
          "column": 4
        },
        "end": {
          "line": 48,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1152,
      "end": 1153,
      "loc": {
        "start": {
          "line": 48,
          "column": 5
        },
        "end": {
          "line": 48,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1153,
      "end": 1154,
      "loc": {
        "start": {
          "line": 48,
          "column": 6
        },
        "end": {
          "line": 48,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1158,
      "end": 1159,
      "loc": {
        "start": {
          "line": 49,
          "column": 2
        },
        "end": {
          "line": 49,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Handles shift functionality\r\n   ",
      "start": 1165,
      "end": 1209,
      "loc": {
        "start": {
          "line": 51,
          "column": 2
        },
        "end": {
          "line": 53,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handleShiftButton",
      "start": 1213,
      "end": 1230,
      "loc": {
        "start": {
          "line": 54,
          "column": 2
        },
        "end": {
          "line": 54,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1231,
      "end": 1232,
      "loc": {
        "start": {
          "line": 54,
          "column": 20
        },
        "end": {
          "line": 54,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1233,
      "end": 1234,
      "loc": {
        "start": {
          "line": 54,
          "column": 22
        },
        "end": {
          "line": 54,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1234,
      "end": 1235,
      "loc": {
        "start": {
          "line": 54,
          "column": 23
        },
        "end": {
          "line": 54,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1236,
      "end": 1238,
      "loc": {
        "start": {
          "line": 54,
          "column": 25
        },
        "end": {
          "line": 54,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1239,
      "end": 1240,
      "loc": {
        "start": {
          "line": 54,
          "column": 28
        },
        "end": {
          "line": 54,
          "column": 29
        }
      }
    },
    {
      "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": 1246,
      "end": 1249,
      "loc": {
        "start": {
          "line": 55,
          "column": 4
        },
        "end": {
          "line": 55,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "layoutName",
      "start": 1250,
      "end": 1260,
      "loc": {
        "start": {
          "line": 55,
          "column": 8
        },
        "end": {
          "line": 55,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1261,
      "end": 1262,
      "loc": {
        "start": {
          "line": 55,
          "column": 19
        },
        "end": {
          "line": 55,
          "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": 1263,
      "end": 1267,
      "loc": {
        "start": {
          "line": 55,
          "column": 21
        },
        "end": {
          "line": 55,
          "column": 25
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1267,
      "end": 1268,
      "loc": {
        "start": {
          "line": 55,
          "column": 25
        },
        "end": {
          "line": 55,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "layoutName",
      "start": 1268,
      "end": 1278,
      "loc": {
        "start": {
          "line": 55,
          "column": 26
        },
        "end": {
          "line": 55,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1278,
      "end": 1279,
      "loc": {
        "start": {
          "line": 55,
          "column": 36
        },
        "end": {
          "line": 55,
          "column": 37
        }
      }
    },
    {
      "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": 1285,
      "end": 1288,
      "loc": {
        "start": {
          "line": 56,
          "column": 4
        },
        "end": {
          "line": 56,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "shiftToggle",
      "start": 1289,
      "end": 1300,
      "loc": {
        "start": {
          "line": 56,
          "column": 8
        },
        "end": {
          "line": 56,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1301,
      "end": 1302,
      "loc": {
        "start": {
          "line": 56,
          "column": 20
        },
        "end": {
          "line": 56,
          "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": 1303,
      "end": 1307,
      "loc": {
        "start": {
          "line": 56,
          "column": 22
        },
        "end": {
          "line": 56,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1307,
      "end": 1308,
      "loc": {
        "start": {
          "line": 56,
          "column": 26
        },
        "end": {
          "line": 56,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "layoutName",
      "start": 1308,
      "end": 1318,
      "loc": {
        "start": {
          "line": 56,
          "column": 27
        },
        "end": {
          "line": 56,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1319,
      "end": 1320,
      "loc": {
        "start": {
          "line": 56,
          "column": 38
        },
        "end": {
          "line": 56,
          "column": 39
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "layoutName",
      "start": 1321,
      "end": 1331,
      "loc": {
        "start": {
          "line": 56,
          "column": 40
        },
        "end": {
          "line": 56,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 1332,
      "end": 1335,
      "loc": {
        "start": {
          "line": 56,
          "column": 51
        },
        "end": {
          "line": 56,
          "column": 54
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "default",
      "start": 1336,
      "end": 1345,
      "loc": {
        "start": {
          "line": 56,
          "column": 55
        },
        "end": {
          "line": 56,
          "column": 64
        }
      }
    },
    {
      "type": {
        "label": "?",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1346,
      "end": 1347,
      "loc": {
        "start": {
          "line": 56,
          "column": 65
        },
        "end": {
          "line": 56,
          "column": 66
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "shift",
      "start": 1348,
      "end": 1355,
      "loc": {
        "start": {
          "line": 56,
          "column": 67
        },
        "end": {
          "line": 56,
          "column": 74
        }
      }
    },
    {
      "type": {
        "label": ":",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1356,
      "end": 1357,
      "loc": {
        "start": {
          "line": 56,
          "column": 75
        },
        "end": {
          "line": 56,
          "column": 76
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "default",
      "start": 1358,
      "end": 1367,
      "loc": {
        "start": {
          "line": 56,
          "column": 77
        },
        "end": {
          "line": 56,
          "column": 86
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1367,
      "end": 1368,
      "loc": {
        "start": {
          "line": 56,
          "column": 86
        },
        "end": {
          "line": 56,
          "column": 87
        }
      }
    },
    {
      "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": 1378,
      "end": 1382,
      "loc": {
        "start": {
          "line": 58,
          "column": 4
        },
        "end": {
          "line": 58,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1382,
      "end": 1383,
      "loc": {
        "start": {
          "line": 58,
          "column": 8
        },
        "end": {
          "line": 58,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "keyboard",
      "start": 1383,
      "end": 1391,
      "loc": {
        "start": {
          "line": 58,
          "column": 9
        },
        "end": {
          "line": 58,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1391,
      "end": 1392,
      "loc": {
        "start": {
          "line": 58,
          "column": 17
        },
        "end": {
          "line": 58,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "setOptions",
      "start": 1392,
      "end": 1402,
      "loc": {
        "start": {
          "line": 58,
          "column": 18
        },
        "end": {
          "line": 58,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1402,
      "end": 1403,
      "loc": {
        "start": {
          "line": 58,
          "column": 28
        },
        "end": {
          "line": 58,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1403,
      "end": 1404,
      "loc": {
        "start": {
          "line": 58,
          "column": 29
        },
        "end": {
          "line": 58,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "layoutName",
      "start": 1412,
      "end": 1422,
      "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": 1422,
      "end": 1423,
      "loc": {
        "start": {
          "line": 59,
          "column": 16
        },
        "end": {
          "line": 59,
          "column": 17
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "shiftToggle",
      "start": 1424,
      "end": 1435,
      "loc": {
        "start": {
          "line": 59,
          "column": 18
        },
        "end": {
          "line": 59,
          "column": 29
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1441,
      "end": 1442,
      "loc": {
        "start": {
          "line": 60,
          "column": 4
        },
        "end": {
          "line": 60,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1442,
      "end": 1443,
      "loc": {
        "start": {
          "line": 60,
          "column": 5
        },
        "end": {
          "line": 60,
          "column": 6
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1443,
      "end": 1444,
      "loc": {
        "start": {
          "line": 60,
          "column": 6
        },
        "end": {
          "line": 60,
          "column": 7
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1448,
      "end": 1449,
      "loc": {
        "start": {
          "line": 61,
          "column": 2
        },
        "end": {
          "line": 61,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Called when simple-keyboard input has changed\r\n   ",
      "start": 1455,
      "end": 1517,
      "loc": {
        "start": {
          "line": 63,
          "column": 2
        },
        "end": {
          "line": 65,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onChange",
      "start": 1521,
      "end": 1529,
      "loc": {
        "start": {
          "line": 66,
          "column": 2
        },
        "end": {
          "line": 66,
          "column": 10
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1530,
      "end": 1531,
      "loc": {
        "start": {
          "line": 66,
          "column": 11
        },
        "end": {
          "line": 66,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "input",
      "start": 1532,
      "end": 1537,
      "loc": {
        "start": {
          "line": 66,
          "column": 13
        },
        "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": 1538,
      "end": 1540,
      "loc": {
        "start": {
          "line": 66,
          "column": 19
        },
        "end": {
          "line": 66,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1541,
      "end": 1542,
      "loc": {
        "start": {
          "line": 66,
          "column": 22
        },
        "end": {
          "line": 66,
          "column": 23
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "document",
      "start": 1548,
      "end": 1556,
      "loc": {
        "start": {
          "line": 67,
          "column": 4
        },
        "end": {
          "line": 67,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1556,
      "end": 1557,
      "loc": {
        "start": {
          "line": 67,
          "column": 12
        },
        "end": {
          "line": 67,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "querySelector",
      "start": 1557,
      "end": 1570,
      "loc": {
        "start": {
          "line": 67,
          "column": 13
        },
        "end": {
          "line": 67,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1570,
      "end": 1571,
      "loc": {
        "start": {
          "line": 67,
          "column": 26
        },
        "end": {
          "line": 67,
          "column": 27
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": ".input",
      "start": 1571,
      "end": 1579,
      "loc": {
        "start": {
          "line": 67,
          "column": 27
        },
        "end": {
          "line": 67,
          "column": 35
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1579,
      "end": 1580,
      "loc": {
        "start": {
          "line": 67,
          "column": 35
        },
        "end": {
          "line": 67,
          "column": 36
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1580,
      "end": 1581,
      "loc": {
        "start": {
          "line": 67,
          "column": 36
        },
        "end": {
          "line": 67,
          "column": 37
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "value",
      "start": 1581,
      "end": 1586,
      "loc": {
        "start": {
          "line": 67,
          "column": 37
        },
        "end": {
          "line": 67,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1587,
      "end": 1588,
      "loc": {
        "start": {
          "line": 67,
          "column": 43
        },
        "end": {
          "line": 67,
          "column": 44
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "input",
      "start": 1589,
      "end": 1594,
      "loc": {
        "start": {
          "line": 67,
          "column": 45
        },
        "end": {
          "line": 67,
          "column": 50
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1594,
      "end": 1595,
      "loc": {
        "start": {
          "line": 67,
          "column": 50
        },
        "end": {
          "line": 67,
          "column": 51
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1599,
      "end": 1600,
      "loc": {
        "start": {
          "line": 68,
          "column": 2
        },
        "end": {
          "line": 68,
          "column": 3
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n   * Called when a simple-keyboard key is pressed\r\n   ",
      "start": 1606,
      "end": 1667,
      "loc": {
        "start": {
          "line": 70,
          "column": 2
        },
        "end": {
          "line": 72,
          "column": 5
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "onKeyPress",
      "start": 1671,
      "end": 1681,
      "loc": {
        "start": {
          "line": 73,
          "column": 2
        },
        "end": {
          "line": 73,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": true,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "=",
      "start": 1682,
      "end": 1683,
      "loc": {
        "start": {
          "line": 73,
          "column": 13
        },
        "end": {
          "line": 73,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 1684,
      "end": 1690,
      "loc": {
        "start": {
          "line": 73,
          "column": 15
        },
        "end": {
          "line": 73,
          "column": 21
        }
      }
    },
    {
      "type": {
        "label": "=>",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1691,
      "end": 1693,
      "loc": {
        "start": {
          "line": 73,
          "column": 22
        },
        "end": {
          "line": 73,
          "column": 24
        }
      }
    },
    {
      "type": {
        "label": "{",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1694,
      "end": 1695,
      "loc": {
        "start": {
          "line": 73,
          "column": 25
        },
        "end": {
          "line": 73,
          "column": 26
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "console",
      "start": 1701,
      "end": 1708,
      "loc": {
        "start": {
          "line": 74,
          "column": 4
        },
        "end": {
          "line": 74,
          "column": 11
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1708,
      "end": 1709,
      "loc": {
        "start": {
          "line": 74,
          "column": 11
        },
        "end": {
          "line": 74,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "log",
      "start": 1709,
      "end": 1712,
      "loc": {
        "start": {
          "line": 74,
          "column": 12
        },
        "end": {
          "line": 74,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1712,
      "end": 1713,
      "loc": {
        "start": {
          "line": 74,
          "column": 15
        },
        "end": {
          "line": 74,
          "column": 16
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "Button pressed",
      "start": 1713,
      "end": 1729,
      "loc": {
        "start": {
          "line": 74,
          "column": 16
        },
        "end": {
          "line": 74,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ",",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1729,
      "end": 1730,
      "loc": {
        "start": {
          "line": 74,
          "column": 32
        },
        "end": {
          "line": 74,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 1731,
      "end": 1737,
      "loc": {
        "start": {
          "line": 74,
          "column": 34
        },
        "end": {
          "line": 74,
          "column": 40
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1737,
      "end": 1738,
      "loc": {
        "start": {
          "line": 74,
          "column": 40
        },
        "end": {
          "line": 74,
          "column": 41
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1738,
      "end": 1739,
      "loc": {
        "start": {
          "line": 74,
          "column": 41
        },
        "end": {
          "line": 74,
          "column": 42
        }
      }
    },
    {
      "type": "CommentBlock",
      "value": "*\r\n       * Shift functionality\r\n       ",
      "start": 1751,
      "end": 1795,
      "loc": {
        "start": {
          "line": 76,
          "column": 6
        },
        "end": {
          "line": 78,
          "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": 1803,
      "end": 1805,
      "loc": {
        "start": {
          "line": 79,
          "column": 6
        },
        "end": {
          "line": 79,
          "column": 8
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1805,
      "end": 1806,
      "loc": {
        "start": {
          "line": 79,
          "column": 8
        },
        "end": {
          "line": 79,
          "column": 9
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 1806,
      "end": 1812,
      "loc": {
        "start": {
          "line": 79,
          "column": 9
        },
        "end": {
          "line": 79,
          "column": 15
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 1813,
      "end": 1816,
      "loc": {
        "start": {
          "line": 79,
          "column": 16
        },
        "end": {
          "line": 79,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{lock}",
      "start": 1817,
      "end": 1825,
      "loc": {
        "start": {
          "line": 79,
          "column": 20
        },
        "end": {
          "line": 79,
          "column": 28
        }
      }
    },
    {
      "type": {
        "label": "||",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 1,
        "updateContext": null
      },
      "value": "||",
      "start": 1826,
      "end": 1828,
      "loc": {
        "start": {
          "line": 79,
          "column": 29
        },
        "end": {
          "line": 79,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "button",
      "start": 1829,
      "end": 1835,
      "loc": {
        "start": {
          "line": 79,
          "column": 32
        },
        "end": {
          "line": 79,
          "column": 38
        }
      }
    },
    {
      "type": {
        "label": "==/!=",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": 6,
        "updateContext": null
      },
      "value": "===",
      "start": 1836,
      "end": 1839,
      "loc": {
        "start": {
          "line": 79,
          "column": 39
        },
        "end": {
          "line": 79,
          "column": 42
        }
      }
    },
    {
      "type": {
        "label": "string",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "value": "{shift}",
      "start": 1840,
      "end": 1849,
      "loc": {
        "start": {
          "line": 79,
          "column": 43
        },
        "end": {
          "line": 79,
          "column": 52
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1849,
      "end": 1850,
      "loc": {
        "start": {
          "line": 79,
          "column": 52
        },
        "end": {
          "line": 79,
          "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": 1860,
      "end": 1864,
      "loc": {
        "start": {
          "line": 80,
          "column": 8
        },
        "end": {
          "line": 80,
          "column": 12
        }
      }
    },
    {
      "type": {
        "label": ".",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1864,
      "end": 1865,
      "loc": {
        "start": {
          "line": 80,
          "column": 12
        },
        "end": {
          "line": 80,
          "column": 13
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "handleShiftButton",
      "start": 1865,
      "end": 1882,
      "loc": {
        "start": {
          "line": 80,
          "column": 13
        },
        "end": {
          "line": 80,
          "column": 30
        }
      }
    },
    {
      "type": {
        "label": "(",
        "beforeExpr": true,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1882,
      "end": 1883,
      "loc": {
        "start": {
          "line": 80,
          "column": 30
        },
        "end": {
          "line": 80,
          "column": 31
        }
      }
    },
    {
      "type": {
        "label": ")",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1883,
      "end": 1884,
      "loc": {
        "start": {
          "line": 80,
          "column": 31
        },
        "end": {
          "line": 80,
          "column": 32
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1884,
      "end": 1885,
      "loc": {
        "start": {
          "line": 80,
          "column": 32
        },
        "end": {
          "line": 80,
          "column": 33
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1889,
      "end": 1890,
      "loc": {
        "start": {
          "line": 81,
          "column": 2
        },
        "end": {
          "line": 81,
          "column": 3
        }
      }
    },
    {
      "type": {
        "label": "}",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "start": 1894,
      "end": 1895,
      "loc": {
        "start": {
          "line": 83,
          "column": 0
        },
        "end": {
          "line": 83,
          "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": 1899,
      "end": 1905,
      "loc": {
        "start": {
          "line": 85,
          "column": 0
        },
        "end": {
          "line": 85,
          "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": 1906,
      "end": 1913,
      "loc": {
        "start": {
          "line": 85,
          "column": 7
        },
        "end": {
          "line": 85,
          "column": 14
        }
      }
    },
    {
      "type": {
        "label": "name",
        "beforeExpr": false,
        "startsExpr": true,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null
      },
      "value": "App",
      "start": 1914,
      "end": 1917,
      "loc": {
        "start": {
          "line": 85,
          "column": 15
        },
        "end": {
          "line": 85,
          "column": 18
        }
      }
    },
    {
      "type": {
        "label": ";",
        "beforeExpr": true,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1917,
      "end": 1918,
      "loc": {
        "start": {
          "line": 85,
          "column": 18
        },
        "end": {
          "line": 85,
          "column": 19
        }
      }
    },
    {
      "type": {
        "label": "eof",
        "beforeExpr": false,
        "startsExpr": false,
        "rightAssociative": false,
        "isLoop": false,
        "isAssign": false,
        "prefix": false,
        "postfix": false,
        "binop": null,
        "updateContext": null
      },
      "start": 1918,
      "end": 1918,
      "loc": {
        "start": {
          "line": 85,
          "column": 19
        },
        "end": {
          "line": 85,
          "column": 19
        }
      }
    }
  ]
}