13af6ab5fSopenharmony_ci{
23af6ab5fSopenharmony_ci  "type": "Program",
33af6ab5fSopenharmony_ci  "statements": [
43af6ab5fSopenharmony_ci    {
53af6ab5fSopenharmony_ci      "type": "FunctionDeclaration",
63af6ab5fSopenharmony_ci      "function": {
73af6ab5fSopenharmony_ci        "type": "ScriptFunction",
83af6ab5fSopenharmony_ci        "id": {
93af6ab5fSopenharmony_ci          "type": "Identifier",
103af6ab5fSopenharmony_ci          "name": "func1",
113af6ab5fSopenharmony_ci          "decorators": [],
123af6ab5fSopenharmony_ci          "loc": {
133af6ab5fSopenharmony_ci            "start": {
143af6ab5fSopenharmony_ci              "line": 17,
153af6ab5fSopenharmony_ci              "column": 10
163af6ab5fSopenharmony_ci            },
173af6ab5fSopenharmony_ci            "end": {
183af6ab5fSopenharmony_ci              "line": 17,
193af6ab5fSopenharmony_ci              "column": 15
203af6ab5fSopenharmony_ci            }
213af6ab5fSopenharmony_ci          }
223af6ab5fSopenharmony_ci        },
233af6ab5fSopenharmony_ci        "generator": false,
243af6ab5fSopenharmony_ci        "async": false,
253af6ab5fSopenharmony_ci        "expression": false,
263af6ab5fSopenharmony_ci        "params": [
273af6ab5fSopenharmony_ci          {
283af6ab5fSopenharmony_ci            "type": "Identifier",
293af6ab5fSopenharmony_ci            "name": "arg",
303af6ab5fSopenharmony_ci            "typeAnnotation": {
313af6ab5fSopenharmony_ci              "type": "TSTypeReference",
323af6ab5fSopenharmony_ci              "typeName": {
333af6ab5fSopenharmony_ci                "type": "Identifier",
343af6ab5fSopenharmony_ci                "name": "Type",
353af6ab5fSopenharmony_ci                "decorators": [],
363af6ab5fSopenharmony_ci                "loc": {
373af6ab5fSopenharmony_ci                  "start": {
383af6ab5fSopenharmony_ci                    "line": 17,
393af6ab5fSopenharmony_ci                    "column": 59
403af6ab5fSopenharmony_ci                  },
413af6ab5fSopenharmony_ci                  "end": {
423af6ab5fSopenharmony_ci                    "line": 17,
433af6ab5fSopenharmony_ci                    "column": 63
443af6ab5fSopenharmony_ci                  }
453af6ab5fSopenharmony_ci                }
463af6ab5fSopenharmony_ci              },
473af6ab5fSopenharmony_ci              "loc": {
483af6ab5fSopenharmony_ci                "start": {
493af6ab5fSopenharmony_ci                  "line": 17,
503af6ab5fSopenharmony_ci                  "column": 59
513af6ab5fSopenharmony_ci                },
523af6ab5fSopenharmony_ci                "end": {
533af6ab5fSopenharmony_ci                  "line": 17,
543af6ab5fSopenharmony_ci                  "column": 63
553af6ab5fSopenharmony_ci                }
563af6ab5fSopenharmony_ci              }
573af6ab5fSopenharmony_ci            },
583af6ab5fSopenharmony_ci            "decorators": [],
593af6ab5fSopenharmony_ci            "loc": {
603af6ab5fSopenharmony_ci              "start": {
613af6ab5fSopenharmony_ci                "line": 17,
623af6ab5fSopenharmony_ci                "column": 54
633af6ab5fSopenharmony_ci              },
643af6ab5fSopenharmony_ci              "end": {
653af6ab5fSopenharmony_ci                "line": 17,
663af6ab5fSopenharmony_ci                "column": 57
673af6ab5fSopenharmony_ci              }
683af6ab5fSopenharmony_ci            }
693af6ab5fSopenharmony_ci          }
703af6ab5fSopenharmony_ci        ],
713af6ab5fSopenharmony_ci        "returnType": {
723af6ab5fSopenharmony_ci          "type": "TSTypeReference",
733af6ab5fSopenharmony_ci          "typeName": {
743af6ab5fSopenharmony_ci            "type": "Identifier",
753af6ab5fSopenharmony_ci            "name": "Type",
763af6ab5fSopenharmony_ci            "decorators": [],
773af6ab5fSopenharmony_ci            "loc": {
783af6ab5fSopenharmony_ci              "start": {
793af6ab5fSopenharmony_ci                "line": 17,
803af6ab5fSopenharmony_ci                "column": 66
813af6ab5fSopenharmony_ci              },
823af6ab5fSopenharmony_ci              "end": {
833af6ab5fSopenharmony_ci                "line": 17,
843af6ab5fSopenharmony_ci                "column": 70
853af6ab5fSopenharmony_ci              }
863af6ab5fSopenharmony_ci            }
873af6ab5fSopenharmony_ci          },
883af6ab5fSopenharmony_ci          "loc": {
893af6ab5fSopenharmony_ci            "start": {
903af6ab5fSopenharmony_ci              "line": 17,
913af6ab5fSopenharmony_ci              "column": 66
923af6ab5fSopenharmony_ci            },
933af6ab5fSopenharmony_ci            "end": {
943af6ab5fSopenharmony_ci              "line": 17,
953af6ab5fSopenharmony_ci              "column": 70
963af6ab5fSopenharmony_ci            }
973af6ab5fSopenharmony_ci          }
983af6ab5fSopenharmony_ci        },
993af6ab5fSopenharmony_ci        "typeParameters": {
1003af6ab5fSopenharmony_ci          "type": "TSTypeParameterDeclaration",
1013af6ab5fSopenharmony_ci          "params": [
1023af6ab5fSopenharmony_ci            {
1033af6ab5fSopenharmony_ci              "type": "TSTypeParameter",
1043af6ab5fSopenharmony_ci              "name": {
1053af6ab5fSopenharmony_ci                "type": "Identifier",
1063af6ab5fSopenharmony_ci                "name": "Type",
1073af6ab5fSopenharmony_ci                "decorators": [],
1083af6ab5fSopenharmony_ci                "loc": {
1093af6ab5fSopenharmony_ci                  "start": {
1103af6ab5fSopenharmony_ci                    "line": 17,
1113af6ab5fSopenharmony_ci                    "column": 16
1123af6ab5fSopenharmony_ci                  },
1133af6ab5fSopenharmony_ci                  "end": {
1143af6ab5fSopenharmony_ci                    "line": 17,
1153af6ab5fSopenharmony_ci                    "column": 20
1163af6ab5fSopenharmony_ci                  }
1173af6ab5fSopenharmony_ci                }
1183af6ab5fSopenharmony_ci              },
1193af6ab5fSopenharmony_ci              "loc": {
1203af6ab5fSopenharmony_ci                "start": {
1213af6ab5fSopenharmony_ci                  "line": 17,
1223af6ab5fSopenharmony_ci                  "column": 16
1233af6ab5fSopenharmony_ci                },
1243af6ab5fSopenharmony_ci                "end": {
1253af6ab5fSopenharmony_ci                  "line": 17,
1263af6ab5fSopenharmony_ci                  "column": 21
1273af6ab5fSopenharmony_ci                }
1283af6ab5fSopenharmony_ci              }
1293af6ab5fSopenharmony_ci            },
1303af6ab5fSopenharmony_ci            {
1313af6ab5fSopenharmony_ci              "type": "TSTypeParameter",
1323af6ab5fSopenharmony_ci              "name": {
1333af6ab5fSopenharmony_ci                "type": "Identifier",
1343af6ab5fSopenharmony_ci                "name": "A",
1353af6ab5fSopenharmony_ci                "decorators": [],
1363af6ab5fSopenharmony_ci                "loc": {
1373af6ab5fSopenharmony_ci                  "start": {
1383af6ab5fSopenharmony_ci                    "line": 17,
1393af6ab5fSopenharmony_ci                    "column": 22
1403af6ab5fSopenharmony_ci                  },
1413af6ab5fSopenharmony_ci                  "end": {
1423af6ab5fSopenharmony_ci                    "line": 17,
1433af6ab5fSopenharmony_ci                    "column": 23
1443af6ab5fSopenharmony_ci                  }
1453af6ab5fSopenharmony_ci                }
1463af6ab5fSopenharmony_ci              },
1473af6ab5fSopenharmony_ci              "loc": {
1483af6ab5fSopenharmony_ci                "start": {
1493af6ab5fSopenharmony_ci                  "line": 17,
1503af6ab5fSopenharmony_ci                  "column": 22
1513af6ab5fSopenharmony_ci                },
1523af6ab5fSopenharmony_ci                "end": {
1533af6ab5fSopenharmony_ci                  "line": 17,
1543af6ab5fSopenharmony_ci                  "column": 24
1553af6ab5fSopenharmony_ci                }
1563af6ab5fSopenharmony_ci              }
1573af6ab5fSopenharmony_ci            },
1583af6ab5fSopenharmony_ci            {
1593af6ab5fSopenharmony_ci              "type": "TSTypeParameter",
1603af6ab5fSopenharmony_ci              "name": {
1613af6ab5fSopenharmony_ci                "type": "Identifier",
1623af6ab5fSopenharmony_ci                "name": "B",
1633af6ab5fSopenharmony_ci                "decorators": [],
1643af6ab5fSopenharmony_ci                "loc": {
1653af6ab5fSopenharmony_ci                  "start": {
1663af6ab5fSopenharmony_ci                    "line": 17,
1673af6ab5fSopenharmony_ci                    "column": 25
1683af6ab5fSopenharmony_ci                  },
1693af6ab5fSopenharmony_ci                  "end": {
1703af6ab5fSopenharmony_ci                    "line": 17,
1713af6ab5fSopenharmony_ci                    "column": 26
1723af6ab5fSopenharmony_ci                  }
1733af6ab5fSopenharmony_ci                }
1743af6ab5fSopenharmony_ci              },
1753af6ab5fSopenharmony_ci              "constraint": {
1763af6ab5fSopenharmony_ci                "type": "TSTypeOperator",
1773af6ab5fSopenharmony_ci                "operator": "readonly",
1783af6ab5fSopenharmony_ci                "typeAnnotation": {
1793af6ab5fSopenharmony_ci                  "type": "TSArrayType",
1803af6ab5fSopenharmony_ci                  "elementType": {
1813af6ab5fSopenharmony_ci                    "type": "TSNumberKeyword",
1823af6ab5fSopenharmony_ci                    "loc": {
1833af6ab5fSopenharmony_ci                      "start": {
1843af6ab5fSopenharmony_ci                        "line": 17,
1853af6ab5fSopenharmony_ci                        "column": 44
1863af6ab5fSopenharmony_ci                      },
1873af6ab5fSopenharmony_ci                      "end": {
1883af6ab5fSopenharmony_ci                        "line": 17,
1893af6ab5fSopenharmony_ci                        "column": 50
1903af6ab5fSopenharmony_ci                      }
1913af6ab5fSopenharmony_ci                    }
1923af6ab5fSopenharmony_ci                  },
1933af6ab5fSopenharmony_ci                  "loc": {
1943af6ab5fSopenharmony_ci                    "start": {
1953af6ab5fSopenharmony_ci                      "line": 17,
1963af6ab5fSopenharmony_ci                      "column": 44
1973af6ab5fSopenharmony_ci                    },
1983af6ab5fSopenharmony_ci                    "end": {
1993af6ab5fSopenharmony_ci                      "line": 17,
2003af6ab5fSopenharmony_ci                      "column": 52
2013af6ab5fSopenharmony_ci                    }
2023af6ab5fSopenharmony_ci                  }
2033af6ab5fSopenharmony_ci                },
2043af6ab5fSopenharmony_ci                "loc": {
2053af6ab5fSopenharmony_ci                  "start": {
2063af6ab5fSopenharmony_ci                    "line": 17,
2073af6ab5fSopenharmony_ci                    "column": 35
2083af6ab5fSopenharmony_ci                  },
2093af6ab5fSopenharmony_ci                  "end": {
2103af6ab5fSopenharmony_ci                    "line": 17,
2113af6ab5fSopenharmony_ci                    "column": 52
2123af6ab5fSopenharmony_ci                  }
2133af6ab5fSopenharmony_ci                }
2143af6ab5fSopenharmony_ci              },
2153af6ab5fSopenharmony_ci              "loc": {
2163af6ab5fSopenharmony_ci                "start": {
2173af6ab5fSopenharmony_ci                  "line": 17,
2183af6ab5fSopenharmony_ci                  "column": 25
2193af6ab5fSopenharmony_ci                },
2203af6ab5fSopenharmony_ci                "end": {
2213af6ab5fSopenharmony_ci                  "line": 17,
2223af6ab5fSopenharmony_ci                  "column": 53
2233af6ab5fSopenharmony_ci                }
2243af6ab5fSopenharmony_ci              }
2253af6ab5fSopenharmony_ci            }
2263af6ab5fSopenharmony_ci          ],
2273af6ab5fSopenharmony_ci          "loc": {
2283af6ab5fSopenharmony_ci            "start": {
2293af6ab5fSopenharmony_ci              "line": 17,
2303af6ab5fSopenharmony_ci              "column": 15
2313af6ab5fSopenharmony_ci            },
2323af6ab5fSopenharmony_ci            "end": {
2333af6ab5fSopenharmony_ci              "line": 17,
2343af6ab5fSopenharmony_ci              "column": 53
2353af6ab5fSopenharmony_ci            }
2363af6ab5fSopenharmony_ci          }
2373af6ab5fSopenharmony_ci        },
2383af6ab5fSopenharmony_ci        "body": {
2393af6ab5fSopenharmony_ci          "type": "BlockStatement",
2403af6ab5fSopenharmony_ci          "statements": [
2413af6ab5fSopenharmony_ci            {
2423af6ab5fSopenharmony_ci              "type": "ReturnStatement",
2433af6ab5fSopenharmony_ci              "argument": {
2443af6ab5fSopenharmony_ci                "type": "Identifier",
2453af6ab5fSopenharmony_ci                "name": "arg",
2463af6ab5fSopenharmony_ci                "decorators": [],
2473af6ab5fSopenharmony_ci                "loc": {
2483af6ab5fSopenharmony_ci                  "start": {
2493af6ab5fSopenharmony_ci                    "line": 18,
2503af6ab5fSopenharmony_ci                    "column": 12
2513af6ab5fSopenharmony_ci                  },
2523af6ab5fSopenharmony_ci                  "end": {
2533af6ab5fSopenharmony_ci                    "line": 18,
2543af6ab5fSopenharmony_ci                    "column": 15
2553af6ab5fSopenharmony_ci                  }
2563af6ab5fSopenharmony_ci                }
2573af6ab5fSopenharmony_ci              },
2583af6ab5fSopenharmony_ci              "loc": {
2593af6ab5fSopenharmony_ci                "start": {
2603af6ab5fSopenharmony_ci                  "line": 18,
2613af6ab5fSopenharmony_ci                  "column": 5
2623af6ab5fSopenharmony_ci                },
2633af6ab5fSopenharmony_ci                "end": {
2643af6ab5fSopenharmony_ci                  "line": 18,
2653af6ab5fSopenharmony_ci                  "column": 16
2663af6ab5fSopenharmony_ci                }
2673af6ab5fSopenharmony_ci              }
2683af6ab5fSopenharmony_ci            }
2693af6ab5fSopenharmony_ci          ],
2703af6ab5fSopenharmony_ci          "loc": {
2713af6ab5fSopenharmony_ci            "start": {
2723af6ab5fSopenharmony_ci              "line": 17,
2733af6ab5fSopenharmony_ci              "column": 71
2743af6ab5fSopenharmony_ci            },
2753af6ab5fSopenharmony_ci            "end": {
2763af6ab5fSopenharmony_ci              "line": 19,
2773af6ab5fSopenharmony_ci              "column": 2
2783af6ab5fSopenharmony_ci            }
2793af6ab5fSopenharmony_ci          }
2803af6ab5fSopenharmony_ci        },
2813af6ab5fSopenharmony_ci        "loc": {
2823af6ab5fSopenharmony_ci          "start": {
2833af6ab5fSopenharmony_ci            "line": 17,
2843af6ab5fSopenharmony_ci            "column": 1
2853af6ab5fSopenharmony_ci          },
2863af6ab5fSopenharmony_ci          "end": {
2873af6ab5fSopenharmony_ci            "line": 19,
2883af6ab5fSopenharmony_ci            "column": 2
2893af6ab5fSopenharmony_ci          }
2903af6ab5fSopenharmony_ci        }
2913af6ab5fSopenharmony_ci      },
2923af6ab5fSopenharmony_ci      "loc": {
2933af6ab5fSopenharmony_ci        "start": {
2943af6ab5fSopenharmony_ci          "line": 17,
2953af6ab5fSopenharmony_ci          "column": 1
2963af6ab5fSopenharmony_ci        },
2973af6ab5fSopenharmony_ci        "end": {
2983af6ab5fSopenharmony_ci          "line": 19,
2993af6ab5fSopenharmony_ci          "column": 2
3003af6ab5fSopenharmony_ci        }
3013af6ab5fSopenharmony_ci      }
3023af6ab5fSopenharmony_ci    },
3033af6ab5fSopenharmony_ci    {
3043af6ab5fSopenharmony_ci      "type": "FunctionDeclaration",
3053af6ab5fSopenharmony_ci      "function": {
3063af6ab5fSopenharmony_ci        "type": "ScriptFunction",
3073af6ab5fSopenharmony_ci        "id": {
3083af6ab5fSopenharmony_ci          "type": "Identifier",
3093af6ab5fSopenharmony_ci          "name": "func2",
3103af6ab5fSopenharmony_ci          "decorators": [],
3113af6ab5fSopenharmony_ci          "loc": {
3123af6ab5fSopenharmony_ci            "start": {
3133af6ab5fSopenharmony_ci              "line": 21,
3143af6ab5fSopenharmony_ci              "column": 10
3153af6ab5fSopenharmony_ci            },
3163af6ab5fSopenharmony_ci            "end": {
3173af6ab5fSopenharmony_ci              "line": 21,
3183af6ab5fSopenharmony_ci              "column": 15
3193af6ab5fSopenharmony_ci            }
3203af6ab5fSopenharmony_ci          }
3213af6ab5fSopenharmony_ci        },
3223af6ab5fSopenharmony_ci        "generator": false,
3233af6ab5fSopenharmony_ci        "async": false,
3243af6ab5fSopenharmony_ci        "expression": false,
3253af6ab5fSopenharmony_ci        "params": [],
3263af6ab5fSopenharmony_ci        "typeParameters": {
3273af6ab5fSopenharmony_ci          "type": "TSTypeParameterDeclaration",
3283af6ab5fSopenharmony_ci          "params": [
3293af6ab5fSopenharmony_ci            {
3303af6ab5fSopenharmony_ci              "type": "TSTypeParameter",
3313af6ab5fSopenharmony_ci              "name": {
3323af6ab5fSopenharmony_ci                "type": "Identifier",
3333af6ab5fSopenharmony_ci                "name": "A",
3343af6ab5fSopenharmony_ci                "decorators": [],
3353af6ab5fSopenharmony_ci                "loc": {
3363af6ab5fSopenharmony_ci                  "start": {
3373af6ab5fSopenharmony_ci                    "line": 21,
3383af6ab5fSopenharmony_ci                    "column": 16
3393af6ab5fSopenharmony_ci                  },
3403af6ab5fSopenharmony_ci                  "end": {
3413af6ab5fSopenharmony_ci                    "line": 21,
3423af6ab5fSopenharmony_ci                    "column": 17
3433af6ab5fSopenharmony_ci                  }
3443af6ab5fSopenharmony_ci                }
3453af6ab5fSopenharmony_ci              },
3463af6ab5fSopenharmony_ci              "constraint": {
3473af6ab5fSopenharmony_ci                "type": "TSTypeLiteral",
3483af6ab5fSopenharmony_ci                "members": [
3493af6ab5fSopenharmony_ci                  {
3503af6ab5fSopenharmony_ci                    "type": "TSPropertySignature",
3513af6ab5fSopenharmony_ci                    "computed": false,
3523af6ab5fSopenharmony_ci                    "optional": false,
3533af6ab5fSopenharmony_ci                    "readonly": false,
3543af6ab5fSopenharmony_ci                    "key": {
3553af6ab5fSopenharmony_ci                      "type": "Identifier",
3563af6ab5fSopenharmony_ci                      "name": "a",
3573af6ab5fSopenharmony_ci                      "decorators": [],
3583af6ab5fSopenharmony_ci                      "loc": {
3593af6ab5fSopenharmony_ci                        "start": {
3603af6ab5fSopenharmony_ci                          "line": 21,
3613af6ab5fSopenharmony_ci                          "column": 28
3623af6ab5fSopenharmony_ci                        },
3633af6ab5fSopenharmony_ci                        "end": {
3643af6ab5fSopenharmony_ci                          "line": 21,
3653af6ab5fSopenharmony_ci                          "column": 29
3663af6ab5fSopenharmony_ci                        }
3673af6ab5fSopenharmony_ci                      }
3683af6ab5fSopenharmony_ci                    },
3693af6ab5fSopenharmony_ci                    "typeAnnotation": {
3703af6ab5fSopenharmony_ci                      "type": "TSNumberKeyword",
3713af6ab5fSopenharmony_ci                      "loc": {
3723af6ab5fSopenharmony_ci                        "start": {
3733af6ab5fSopenharmony_ci                          "line": 21,
3743af6ab5fSopenharmony_ci                          "column": 31
3753af6ab5fSopenharmony_ci                        },
3763af6ab5fSopenharmony_ci                        "end": {
3773af6ab5fSopenharmony_ci                          "line": 21,
3783af6ab5fSopenharmony_ci                          "column": 37
3793af6ab5fSopenharmony_ci                        }
3803af6ab5fSopenharmony_ci                      }
3813af6ab5fSopenharmony_ci                    },
3823af6ab5fSopenharmony_ci                    "loc": {
3833af6ab5fSopenharmony_ci                      "start": {
3843af6ab5fSopenharmony_ci                        "line": 21,
3853af6ab5fSopenharmony_ci                        "column": 28
3863af6ab5fSopenharmony_ci                      },
3873af6ab5fSopenharmony_ci                      "end": {
3883af6ab5fSopenharmony_ci                        "line": 21,
3893af6ab5fSopenharmony_ci                        "column": 38
3903af6ab5fSopenharmony_ci                      }
3913af6ab5fSopenharmony_ci                    }
3923af6ab5fSopenharmony_ci                  },
3933af6ab5fSopenharmony_ci                  {
3943af6ab5fSopenharmony_ci                    "type": "TSPropertySignature",
3953af6ab5fSopenharmony_ci                    "computed": false,
3963af6ab5fSopenharmony_ci                    "optional": false,
3973af6ab5fSopenharmony_ci                    "readonly": false,
3983af6ab5fSopenharmony_ci                    "key": {
3993af6ab5fSopenharmony_ci                      "type": "Identifier",
4003af6ab5fSopenharmony_ci                      "name": "b",
4013af6ab5fSopenharmony_ci                      "decorators": [],
4023af6ab5fSopenharmony_ci                      "loc": {
4033af6ab5fSopenharmony_ci                        "start": {
4043af6ab5fSopenharmony_ci                          "line": 21,
4053af6ab5fSopenharmony_ci                          "column": 39
4063af6ab5fSopenharmony_ci                        },
4073af6ab5fSopenharmony_ci                        "end": {
4083af6ab5fSopenharmony_ci                          "line": 21,
4093af6ab5fSopenharmony_ci                          "column": 40
4103af6ab5fSopenharmony_ci                        }
4113af6ab5fSopenharmony_ci                      }
4123af6ab5fSopenharmony_ci                    },
4133af6ab5fSopenharmony_ci                    "typeAnnotation": {
4143af6ab5fSopenharmony_ci                      "type": "TSStringKeyword",
4153af6ab5fSopenharmony_ci                      "loc": {
4163af6ab5fSopenharmony_ci                        "start": {
4173af6ab5fSopenharmony_ci                          "line": 21,
4183af6ab5fSopenharmony_ci                          "column": 42
4193af6ab5fSopenharmony_ci                        },
4203af6ab5fSopenharmony_ci                        "end": {
4213af6ab5fSopenharmony_ci                          "line": 21,
4223af6ab5fSopenharmony_ci                          "column": 48
4233af6ab5fSopenharmony_ci                        }
4243af6ab5fSopenharmony_ci                      }
4253af6ab5fSopenharmony_ci                    },
4263af6ab5fSopenharmony_ci                    "loc": {
4273af6ab5fSopenharmony_ci                      "start": {
4283af6ab5fSopenharmony_ci                        "line": 21,
4293af6ab5fSopenharmony_ci                        "column": 39
4303af6ab5fSopenharmony_ci                      },
4313af6ab5fSopenharmony_ci                      "end": {
4323af6ab5fSopenharmony_ci                        "line": 21,
4333af6ab5fSopenharmony_ci                        "column": 50
4343af6ab5fSopenharmony_ci                      }
4353af6ab5fSopenharmony_ci                    }
4363af6ab5fSopenharmony_ci                  }
4373af6ab5fSopenharmony_ci                ],
4383af6ab5fSopenharmony_ci                "loc": {
4393af6ab5fSopenharmony_ci                  "start": {
4403af6ab5fSopenharmony_ci                    "line": 21,
4413af6ab5fSopenharmony_ci                    "column": 26
4423af6ab5fSopenharmony_ci                  },
4433af6ab5fSopenharmony_ci                  "end": {
4443af6ab5fSopenharmony_ci                    "line": 21,
4453af6ab5fSopenharmony_ci                    "column": 50
4463af6ab5fSopenharmony_ci                  }
4473af6ab5fSopenharmony_ci                }
4483af6ab5fSopenharmony_ci              },
4493af6ab5fSopenharmony_ci              "loc": {
4503af6ab5fSopenharmony_ci                "start": {
4513af6ab5fSopenharmony_ci                  "line": 21,
4523af6ab5fSopenharmony_ci                  "column": 16
4533af6ab5fSopenharmony_ci                },
4543af6ab5fSopenharmony_ci                "end": {
4553af6ab5fSopenharmony_ci                  "line": 21,
4563af6ab5fSopenharmony_ci                  "column": 51
4573af6ab5fSopenharmony_ci                }
4583af6ab5fSopenharmony_ci              }
4593af6ab5fSopenharmony_ci            }
4603af6ab5fSopenharmony_ci          ],
4613af6ab5fSopenharmony_ci          "loc": {
4623af6ab5fSopenharmony_ci            "start": {
4633af6ab5fSopenharmony_ci              "line": 21,
4643af6ab5fSopenharmony_ci              "column": 15
4653af6ab5fSopenharmony_ci            },
4663af6ab5fSopenharmony_ci            "end": {
4673af6ab5fSopenharmony_ci              "line": 21,
4683af6ab5fSopenharmony_ci              "column": 51
4693af6ab5fSopenharmony_ci            }
4703af6ab5fSopenharmony_ci          }
4713af6ab5fSopenharmony_ci        },
4723af6ab5fSopenharmony_ci        "body": {
4733af6ab5fSopenharmony_ci          "type": "BlockStatement",
4743af6ab5fSopenharmony_ci          "statements": [],
4753af6ab5fSopenharmony_ci          "loc": {
4763af6ab5fSopenharmony_ci            "start": {
4773af6ab5fSopenharmony_ci              "line": 21,
4783af6ab5fSopenharmony_ci              "column": 54
4793af6ab5fSopenharmony_ci            },
4803af6ab5fSopenharmony_ci            "end": {
4813af6ab5fSopenharmony_ci              "line": 21,
4823af6ab5fSopenharmony_ci              "column": 57
4833af6ab5fSopenharmony_ci            }
4843af6ab5fSopenharmony_ci          }
4853af6ab5fSopenharmony_ci        },
4863af6ab5fSopenharmony_ci        "loc": {
4873af6ab5fSopenharmony_ci          "start": {
4883af6ab5fSopenharmony_ci            "line": 21,
4893af6ab5fSopenharmony_ci            "column": 1
4903af6ab5fSopenharmony_ci          },
4913af6ab5fSopenharmony_ci          "end": {
4923af6ab5fSopenharmony_ci            "line": 21,
4933af6ab5fSopenharmony_ci            "column": 57
4943af6ab5fSopenharmony_ci          }
4953af6ab5fSopenharmony_ci        }
4963af6ab5fSopenharmony_ci      },
4973af6ab5fSopenharmony_ci      "loc": {
4983af6ab5fSopenharmony_ci        "start": {
4993af6ab5fSopenharmony_ci          "line": 21,
5003af6ab5fSopenharmony_ci          "column": 1
5013af6ab5fSopenharmony_ci        },
5023af6ab5fSopenharmony_ci        "end": {
5033af6ab5fSopenharmony_ci          "line": 21,
5043af6ab5fSopenharmony_ci          "column": 57
5053af6ab5fSopenharmony_ci        }
5063af6ab5fSopenharmony_ci      }
5073af6ab5fSopenharmony_ci    },
5083af6ab5fSopenharmony_ci    {
5093af6ab5fSopenharmony_ci      "type": "FunctionDeclaration",
5103af6ab5fSopenharmony_ci      "function": {
5113af6ab5fSopenharmony_ci        "type": "ScriptFunction",
5123af6ab5fSopenharmony_ci        "id": {
5133af6ab5fSopenharmony_ci          "type": "Identifier",
5143af6ab5fSopenharmony_ci          "name": "func3",
5153af6ab5fSopenharmony_ci          "decorators": [],
5163af6ab5fSopenharmony_ci          "loc": {
5173af6ab5fSopenharmony_ci            "start": {
5183af6ab5fSopenharmony_ci              "line": 23,
5193af6ab5fSopenharmony_ci              "column": 10
5203af6ab5fSopenharmony_ci            },
5213af6ab5fSopenharmony_ci            "end": {
5223af6ab5fSopenharmony_ci              "line": 23,
5233af6ab5fSopenharmony_ci              "column": 15
5243af6ab5fSopenharmony_ci            }
5253af6ab5fSopenharmony_ci          }
5263af6ab5fSopenharmony_ci        },
5273af6ab5fSopenharmony_ci        "generator": false,
5283af6ab5fSopenharmony_ci        "async": false,
5293af6ab5fSopenharmony_ci        "expression": false,
5303af6ab5fSopenharmony_ci        "params": [
5313af6ab5fSopenharmony_ci          {
5323af6ab5fSopenharmony_ci            "type": "Identifier",
5333af6ab5fSopenharmony_ci            "name": "a",
5343af6ab5fSopenharmony_ci            "typeAnnotation": {
5353af6ab5fSopenharmony_ci              "type": "TSTypeReference",
5363af6ab5fSopenharmony_ci              "typeName": {
5373af6ab5fSopenharmony_ci                "type": "Identifier",
5383af6ab5fSopenharmony_ci                "name": "A",
5393af6ab5fSopenharmony_ci                "decorators": [],
5403af6ab5fSopenharmony_ci                "loc": {
5413af6ab5fSopenharmony_ci                  "start": {
5423af6ab5fSopenharmony_ci                    "line": 23,
5433af6ab5fSopenharmony_ci                    "column": 90
5443af6ab5fSopenharmony_ci                  },
5453af6ab5fSopenharmony_ci                  "end": {
5463af6ab5fSopenharmony_ci                    "line": 23,
5473af6ab5fSopenharmony_ci                    "column": 91
5483af6ab5fSopenharmony_ci                  }
5493af6ab5fSopenharmony_ci                }
5503af6ab5fSopenharmony_ci              },
5513af6ab5fSopenharmony_ci              "loc": {
5523af6ab5fSopenharmony_ci                "start": {
5533af6ab5fSopenharmony_ci                  "line": 23,
5543af6ab5fSopenharmony_ci                  "column": 90
5553af6ab5fSopenharmony_ci                },
5563af6ab5fSopenharmony_ci                "end": {
5573af6ab5fSopenharmony_ci                  "line": 23,
5583af6ab5fSopenharmony_ci                  "column": 91
5593af6ab5fSopenharmony_ci                }
5603af6ab5fSopenharmony_ci              }
5613af6ab5fSopenharmony_ci            },
5623af6ab5fSopenharmony_ci            "decorators": [],
5633af6ab5fSopenharmony_ci            "loc": {
5643af6ab5fSopenharmony_ci              "start": {
5653af6ab5fSopenharmony_ci                "line": 23,
5663af6ab5fSopenharmony_ci                "column": 87
5673af6ab5fSopenharmony_ci              },
5683af6ab5fSopenharmony_ci              "end": {
5693af6ab5fSopenharmony_ci                "line": 23,
5703af6ab5fSopenharmony_ci                "column": 88
5713af6ab5fSopenharmony_ci              }
5723af6ab5fSopenharmony_ci            }
5733af6ab5fSopenharmony_ci          },
5743af6ab5fSopenharmony_ci          {
5753af6ab5fSopenharmony_ci            "type": "Identifier",
5763af6ab5fSopenharmony_ci            "name": "b",
5773af6ab5fSopenharmony_ci            "typeAnnotation": {
5783af6ab5fSopenharmony_ci              "type": "TSStringKeyword",
5793af6ab5fSopenharmony_ci              "loc": {
5803af6ab5fSopenharmony_ci                "start": {
5813af6ab5fSopenharmony_ci                  "line": 23,
5823af6ab5fSopenharmony_ci                  "column": 96
5833af6ab5fSopenharmony_ci                },
5843af6ab5fSopenharmony_ci                "end": {
5853af6ab5fSopenharmony_ci                  "line": 23,
5863af6ab5fSopenharmony_ci                  "column": 102
5873af6ab5fSopenharmony_ci                }
5883af6ab5fSopenharmony_ci              }
5893af6ab5fSopenharmony_ci            },
5903af6ab5fSopenharmony_ci            "decorators": [],
5913af6ab5fSopenharmony_ci            "loc": {
5923af6ab5fSopenharmony_ci              "start": {
5933af6ab5fSopenharmony_ci                "line": 23,
5943af6ab5fSopenharmony_ci                "column": 93
5953af6ab5fSopenharmony_ci              },
5963af6ab5fSopenharmony_ci              "end": {
5973af6ab5fSopenharmony_ci                "line": 23,
5983af6ab5fSopenharmony_ci                "column": 94
5993af6ab5fSopenharmony_ci              }
6003af6ab5fSopenharmony_ci            }
6013af6ab5fSopenharmony_ci          }
6023af6ab5fSopenharmony_ci        ],
6033af6ab5fSopenharmony_ci        "returnType": {
6043af6ab5fSopenharmony_ci          "type": "TSUnionType",
6053af6ab5fSopenharmony_ci          "types": [
6063af6ab5fSopenharmony_ci            {
6073af6ab5fSopenharmony_ci              "type": "TSNumberKeyword",
6083af6ab5fSopenharmony_ci              "loc": {
6093af6ab5fSopenharmony_ci                "start": {
6103af6ab5fSopenharmony_ci                  "line": 23,
6113af6ab5fSopenharmony_ci                  "column": 105
6123af6ab5fSopenharmony_ci                },
6133af6ab5fSopenharmony_ci                "end": {
6143af6ab5fSopenharmony_ci                  "line": 23,
6153af6ab5fSopenharmony_ci                  "column": 111
6163af6ab5fSopenharmony_ci                }
6173af6ab5fSopenharmony_ci              }
6183af6ab5fSopenharmony_ci            },
6193af6ab5fSopenharmony_ci            {
6203af6ab5fSopenharmony_ci              "type": "TSBooleanKeyword",
6213af6ab5fSopenharmony_ci              "loc": {
6223af6ab5fSopenharmony_ci                "start": {
6233af6ab5fSopenharmony_ci                  "line": 23,
6243af6ab5fSopenharmony_ci                  "column": 114
6253af6ab5fSopenharmony_ci                },
6263af6ab5fSopenharmony_ci                "end": {
6273af6ab5fSopenharmony_ci                  "line": 23,
6283af6ab5fSopenharmony_ci                  "column": 121
6293af6ab5fSopenharmony_ci                }
6303af6ab5fSopenharmony_ci              }
6313af6ab5fSopenharmony_ci            }
6323af6ab5fSopenharmony_ci          ],
6333af6ab5fSopenharmony_ci          "loc": {
6343af6ab5fSopenharmony_ci            "start": {
6353af6ab5fSopenharmony_ci              "line": 23,
6363af6ab5fSopenharmony_ci              "column": 105
6373af6ab5fSopenharmony_ci            },
6383af6ab5fSopenharmony_ci            "end": {
6393af6ab5fSopenharmony_ci              "line": 23,
6403af6ab5fSopenharmony_ci              "column": 121
6413af6ab5fSopenharmony_ci            }
6423af6ab5fSopenharmony_ci          }
6433af6ab5fSopenharmony_ci        },
6443af6ab5fSopenharmony_ci        "typeParameters": {
6453af6ab5fSopenharmony_ci          "type": "TSTypeParameterDeclaration",
6463af6ab5fSopenharmony_ci          "params": [
6473af6ab5fSopenharmony_ci            {
6483af6ab5fSopenharmony_ci              "type": "TSTypeParameter",
6493af6ab5fSopenharmony_ci              "name": {
6503af6ab5fSopenharmony_ci                "type": "Identifier",
6513af6ab5fSopenharmony_ci                "name": "A",
6523af6ab5fSopenharmony_ci                "decorators": [],
6533af6ab5fSopenharmony_ci                "loc": {
6543af6ab5fSopenharmony_ci                  "start": {
6553af6ab5fSopenharmony_ci                    "line": 23,
6563af6ab5fSopenharmony_ci                    "column": 16
6573af6ab5fSopenharmony_ci                  },
6583af6ab5fSopenharmony_ci                  "end": {
6593af6ab5fSopenharmony_ci                    "line": 23,
6603af6ab5fSopenharmony_ci                    "column": 17
6613af6ab5fSopenharmony_ci                  }
6623af6ab5fSopenharmony_ci                }
6633af6ab5fSopenharmony_ci              },
6643af6ab5fSopenharmony_ci              "constraint": {
6653af6ab5fSopenharmony_ci                "type": "TSTypeOperator",
6663af6ab5fSopenharmony_ci                "operator": "keyof",
6673af6ab5fSopenharmony_ci                "typeAnnotation": {
6683af6ab5fSopenharmony_ci                  "type": "TSTypeLiteral",
6693af6ab5fSopenharmony_ci                  "members": [
6703af6ab5fSopenharmony_ci                    {
6713af6ab5fSopenharmony_ci                      "type": "TSPropertySignature",
6723af6ab5fSopenharmony_ci                      "computed": false,
6733af6ab5fSopenharmony_ci                      "optional": false,
6743af6ab5fSopenharmony_ci                      "readonly": false,
6753af6ab5fSopenharmony_ci                      "key": {
6763af6ab5fSopenharmony_ci                        "type": "Identifier",
6773af6ab5fSopenharmony_ci                        "name": "a",
6783af6ab5fSopenharmony_ci                        "decorators": [],
6793af6ab5fSopenharmony_ci                        "loc": {
6803af6ab5fSopenharmony_ci                          "start": {
6813af6ab5fSopenharmony_ci                            "line": 23,
6823af6ab5fSopenharmony_ci                            "column": 34
6833af6ab5fSopenharmony_ci                          },
6843af6ab5fSopenharmony_ci                          "end": {
6853af6ab5fSopenharmony_ci                            "line": 23,
6863af6ab5fSopenharmony_ci                            "column": 35
6873af6ab5fSopenharmony_ci                          }
6883af6ab5fSopenharmony_ci                        }
6893af6ab5fSopenharmony_ci                      },
6903af6ab5fSopenharmony_ci                      "typeAnnotation": {
6913af6ab5fSopenharmony_ci                        "type": "TSTypeLiteral",
6923af6ab5fSopenharmony_ci                        "members": [
6933af6ab5fSopenharmony_ci                          {
6943af6ab5fSopenharmony_ci                            "type": "TSPropertySignature",
6953af6ab5fSopenharmony_ci                            "computed": false,
6963af6ab5fSopenharmony_ci                            "optional": false,
6973af6ab5fSopenharmony_ci                            "readonly": false,
6983af6ab5fSopenharmony_ci                            "key": {
6993af6ab5fSopenharmony_ci                              "type": "Identifier",
7003af6ab5fSopenharmony_ci                              "name": "b",
7013af6ab5fSopenharmony_ci                              "decorators": [],
7023af6ab5fSopenharmony_ci                              "loc": {
7033af6ab5fSopenharmony_ci                                "start": {
7043af6ab5fSopenharmony_ci                                  "line": 23,
7053af6ab5fSopenharmony_ci                                  "column": 39
7063af6ab5fSopenharmony_ci                                },
7073af6ab5fSopenharmony_ci                                "end": {
7083af6ab5fSopenharmony_ci                                  "line": 23,
7093af6ab5fSopenharmony_ci                                  "column": 40
7103af6ab5fSopenharmony_ci                                }
7113af6ab5fSopenharmony_ci                              }
7123af6ab5fSopenharmony_ci                            },
7133af6ab5fSopenharmony_ci                            "typeAnnotation": {
7143af6ab5fSopenharmony_ci                              "type": "TSNumberKeyword",
7153af6ab5fSopenharmony_ci                              "loc": {
7163af6ab5fSopenharmony_ci                                "start": {
7173af6ab5fSopenharmony_ci                                  "line": 23,
7183af6ab5fSopenharmony_ci                                  "column": 42
7193af6ab5fSopenharmony_ci                                },
7203af6ab5fSopenharmony_ci                                "end": {
7213af6ab5fSopenharmony_ci                                  "line": 23,
7223af6ab5fSopenharmony_ci                                  "column": 48
7233af6ab5fSopenharmony_ci                                }
7243af6ab5fSopenharmony_ci                              }
7253af6ab5fSopenharmony_ci                            },
7263af6ab5fSopenharmony_ci                            "loc": {
7273af6ab5fSopenharmony_ci                              "start": {
7283af6ab5fSopenharmony_ci                                "line": 23,
7293af6ab5fSopenharmony_ci                                "column": 39
7303af6ab5fSopenharmony_ci                              },
7313af6ab5fSopenharmony_ci                              "end": {
7323af6ab5fSopenharmony_ci                                "line": 23,
7333af6ab5fSopenharmony_ci                                "column": 49
7343af6ab5fSopenharmony_ci                              }
7353af6ab5fSopenharmony_ci                            }
7363af6ab5fSopenharmony_ci                          },
7373af6ab5fSopenharmony_ci                          {
7383af6ab5fSopenharmony_ci                            "type": "TSPropertySignature",
7393af6ab5fSopenharmony_ci                            "computed": false,
7403af6ab5fSopenharmony_ci                            "optional": false,
7413af6ab5fSopenharmony_ci                            "readonly": false,
7423af6ab5fSopenharmony_ci                            "key": {
7433af6ab5fSopenharmony_ci                              "type": "Identifier",
7443af6ab5fSopenharmony_ci                              "name": "c",
7453af6ab5fSopenharmony_ci                              "decorators": [],
7463af6ab5fSopenharmony_ci                              "loc": {
7473af6ab5fSopenharmony_ci                                "start": {
7483af6ab5fSopenharmony_ci                                  "line": 23,
7493af6ab5fSopenharmony_ci                                  "column": 50
7503af6ab5fSopenharmony_ci                                },
7513af6ab5fSopenharmony_ci                                "end": {
7523af6ab5fSopenharmony_ci                                  "line": 23,
7533af6ab5fSopenharmony_ci                                  "column": 51
7543af6ab5fSopenharmony_ci                                }
7553af6ab5fSopenharmony_ci                              }
7563af6ab5fSopenharmony_ci                            },
7573af6ab5fSopenharmony_ci                            "typeAnnotation": {
7583af6ab5fSopenharmony_ci                              "type": "TSBooleanKeyword",
7593af6ab5fSopenharmony_ci                              "loc": {
7603af6ab5fSopenharmony_ci                                "start": {
7613af6ab5fSopenharmony_ci                                  "line": 23,
7623af6ab5fSopenharmony_ci                                  "column": 53
7633af6ab5fSopenharmony_ci                                },
7643af6ab5fSopenharmony_ci                                "end": {
7653af6ab5fSopenharmony_ci                                  "line": 23,
7663af6ab5fSopenharmony_ci                                  "column": 60
7673af6ab5fSopenharmony_ci                                }
7683af6ab5fSopenharmony_ci                              }
7693af6ab5fSopenharmony_ci                            },
7703af6ab5fSopenharmony_ci                            "loc": {
7713af6ab5fSopenharmony_ci                              "start": {
7723af6ab5fSopenharmony_ci                                "line": 23,
7733af6ab5fSopenharmony_ci                                "column": 50
7743af6ab5fSopenharmony_ci                              },
7753af6ab5fSopenharmony_ci                              "end": {
7763af6ab5fSopenharmony_ci                                "line": 23,
7773af6ab5fSopenharmony_ci                                "column": 62
7783af6ab5fSopenharmony_ci                              }
7793af6ab5fSopenharmony_ci                            }
7803af6ab5fSopenharmony_ci                          }
7813af6ab5fSopenharmony_ci                        ],
7823af6ab5fSopenharmony_ci                        "loc": {
7833af6ab5fSopenharmony_ci                          "start": {
7843af6ab5fSopenharmony_ci                            "line": 23,
7853af6ab5fSopenharmony_ci                            "column": 37
7863af6ab5fSopenharmony_ci                          },
7873af6ab5fSopenharmony_ci                          "end": {
7883af6ab5fSopenharmony_ci                            "line": 23,
7893af6ab5fSopenharmony_ci                            "column": 62
7903af6ab5fSopenharmony_ci                          }
7913af6ab5fSopenharmony_ci                        }
7923af6ab5fSopenharmony_ci                      },
7933af6ab5fSopenharmony_ci                      "loc": {
7943af6ab5fSopenharmony_ci                        "start": {
7953af6ab5fSopenharmony_ci                          "line": 23,
7963af6ab5fSopenharmony_ci                          "column": 34
7973af6ab5fSopenharmony_ci                        },
7983af6ab5fSopenharmony_ci                        "end": {
7993af6ab5fSopenharmony_ci                          "line": 23,
8003af6ab5fSopenharmony_ci                          "column": 63
8013af6ab5fSopenharmony_ci                        }
8023af6ab5fSopenharmony_ci                      }
8033af6ab5fSopenharmony_ci                    },
8043af6ab5fSopenharmony_ci                    {
8053af6ab5fSopenharmony_ci                      "type": "TSPropertySignature",
8063af6ab5fSopenharmony_ci                      "computed": false,
8073af6ab5fSopenharmony_ci                      "optional": false,
8083af6ab5fSopenharmony_ci                      "readonly": false,
8093af6ab5fSopenharmony_ci                      "key": {
8103af6ab5fSopenharmony_ci                        "type": "Identifier",
8113af6ab5fSopenharmony_ci                        "name": "b",
8123af6ab5fSopenharmony_ci                        "decorators": [],
8133af6ab5fSopenharmony_ci                        "loc": {
8143af6ab5fSopenharmony_ci                          "start": {
8153af6ab5fSopenharmony_ci                            "line": 23,
8163af6ab5fSopenharmony_ci                            "column": 64
8173af6ab5fSopenharmony_ci                          },
8183af6ab5fSopenharmony_ci                          "end": {
8193af6ab5fSopenharmony_ci                            "line": 23,
8203af6ab5fSopenharmony_ci                            "column": 65
8213af6ab5fSopenharmony_ci                          }
8223af6ab5fSopenharmony_ci                        }
8233af6ab5fSopenharmony_ci                      },
8243af6ab5fSopenharmony_ci                      "typeAnnotation": {
8253af6ab5fSopenharmony_ci                        "type": "TSTupleType",
8263af6ab5fSopenharmony_ci                        "elementTypes": [
8273af6ab5fSopenharmony_ci                          {
8283af6ab5fSopenharmony_ci                            "type": "TSNumberKeyword",
8293af6ab5fSopenharmony_ci                            "loc": {
8303af6ab5fSopenharmony_ci                              "start": {
8313af6ab5fSopenharmony_ci                                "line": 23,
8323af6ab5fSopenharmony_ci                                "column": 68
8333af6ab5fSopenharmony_ci                              },
8343af6ab5fSopenharmony_ci                              "end": {
8353af6ab5fSopenharmony_ci                                "line": 23,
8363af6ab5fSopenharmony_ci                                "column": 75
8373af6ab5fSopenharmony_ci                              }
8383af6ab5fSopenharmony_ci                            }
8393af6ab5fSopenharmony_ci                          },
8403af6ab5fSopenharmony_ci                          {
8413af6ab5fSopenharmony_ci                            "type": "TSStringKeyword",
8423af6ab5fSopenharmony_ci                            "loc": {
8433af6ab5fSopenharmony_ci                              "start": {
8443af6ab5fSopenharmony_ci                                "line": 23,
8453af6ab5fSopenharmony_ci                                "column": 76
8463af6ab5fSopenharmony_ci                              },
8473af6ab5fSopenharmony_ci                              "end": {
8483af6ab5fSopenharmony_ci                                "line": 23,
8493af6ab5fSopenharmony_ci                                "column": 83
8503af6ab5fSopenharmony_ci                              }
8513af6ab5fSopenharmony_ci                            }
8523af6ab5fSopenharmony_ci                          }
8533af6ab5fSopenharmony_ci                        ],
8543af6ab5fSopenharmony_ci                        "loc": {
8553af6ab5fSopenharmony_ci                          "start": {
8563af6ab5fSopenharmony_ci                            "line": 23,
8573af6ab5fSopenharmony_ci                            "column": 67
8583af6ab5fSopenharmony_ci                          },
8593af6ab5fSopenharmony_ci                          "end": {
8603af6ab5fSopenharmony_ci                            "line": 23,
8613af6ab5fSopenharmony_ci                            "column": 83
8623af6ab5fSopenharmony_ci                          }
8633af6ab5fSopenharmony_ci                        }
8643af6ab5fSopenharmony_ci                      },
8653af6ab5fSopenharmony_ci                      "loc": {
8663af6ab5fSopenharmony_ci                        "start": {
8673af6ab5fSopenharmony_ci                          "line": 23,
8683af6ab5fSopenharmony_ci                          "column": 64
8693af6ab5fSopenharmony_ci                        },
8703af6ab5fSopenharmony_ci                        "end": {
8713af6ab5fSopenharmony_ci                          "line": 23,
8723af6ab5fSopenharmony_ci                          "column": 85
8733af6ab5fSopenharmony_ci                        }
8743af6ab5fSopenharmony_ci                      }
8753af6ab5fSopenharmony_ci                    }
8763af6ab5fSopenharmony_ci                  ],
8773af6ab5fSopenharmony_ci                  "loc": {
8783af6ab5fSopenharmony_ci                    "start": {
8793af6ab5fSopenharmony_ci                      "line": 23,
8803af6ab5fSopenharmony_ci                      "column": 32
8813af6ab5fSopenharmony_ci                    },
8823af6ab5fSopenharmony_ci                    "end": {
8833af6ab5fSopenharmony_ci                      "line": 23,
8843af6ab5fSopenharmony_ci                      "column": 85
8853af6ab5fSopenharmony_ci                    }
8863af6ab5fSopenharmony_ci                  }
8873af6ab5fSopenharmony_ci                },
8883af6ab5fSopenharmony_ci                "loc": {
8893af6ab5fSopenharmony_ci                  "start": {
8903af6ab5fSopenharmony_ci                    "line": 23,
8913af6ab5fSopenharmony_ci                    "column": 26
8923af6ab5fSopenharmony_ci                  },
8933af6ab5fSopenharmony_ci                  "end": {
8943af6ab5fSopenharmony_ci                    "line": 23,
8953af6ab5fSopenharmony_ci                    "column": 85
8963af6ab5fSopenharmony_ci                  }
8973af6ab5fSopenharmony_ci                }
8983af6ab5fSopenharmony_ci              },
8993af6ab5fSopenharmony_ci              "loc": {
9003af6ab5fSopenharmony_ci                "start": {
9013af6ab5fSopenharmony_ci                  "line": 23,
9023af6ab5fSopenharmony_ci                  "column": 16
9033af6ab5fSopenharmony_ci                },
9043af6ab5fSopenharmony_ci                "end": {
9053af6ab5fSopenharmony_ci                  "line": 23,
9063af6ab5fSopenharmony_ci                  "column": 86
9073af6ab5fSopenharmony_ci                }
9083af6ab5fSopenharmony_ci              }
9093af6ab5fSopenharmony_ci            }
9103af6ab5fSopenharmony_ci          ],
9113af6ab5fSopenharmony_ci          "loc": {
9123af6ab5fSopenharmony_ci            "start": {
9133af6ab5fSopenharmony_ci              "line": 23,
9143af6ab5fSopenharmony_ci              "column": 15
9153af6ab5fSopenharmony_ci            },
9163af6ab5fSopenharmony_ci            "end": {
9173af6ab5fSopenharmony_ci              "line": 23,
9183af6ab5fSopenharmony_ci              "column": 86
9193af6ab5fSopenharmony_ci            }
9203af6ab5fSopenharmony_ci          }
9213af6ab5fSopenharmony_ci        },
9223af6ab5fSopenharmony_ci        "body": {
9233af6ab5fSopenharmony_ci          "type": "BlockStatement",
9243af6ab5fSopenharmony_ci          "statements": [
9253af6ab5fSopenharmony_ci            {
9263af6ab5fSopenharmony_ci              "type": "ReturnStatement",
9273af6ab5fSopenharmony_ci              "argument": {
9283af6ab5fSopenharmony_ci                "type": "BooleanLiteral",
9293af6ab5fSopenharmony_ci                "value": true,
9303af6ab5fSopenharmony_ci                "loc": {
9313af6ab5fSopenharmony_ci                  "start": {
9323af6ab5fSopenharmony_ci                    "line": 24,
9333af6ab5fSopenharmony_ci                    "column": 12
9343af6ab5fSopenharmony_ci                  },
9353af6ab5fSopenharmony_ci                  "end": {
9363af6ab5fSopenharmony_ci                    "line": 24,
9373af6ab5fSopenharmony_ci                    "column": 16
9383af6ab5fSopenharmony_ci                  }
9393af6ab5fSopenharmony_ci                }
9403af6ab5fSopenharmony_ci              },
9413af6ab5fSopenharmony_ci              "loc": {
9423af6ab5fSopenharmony_ci                "start": {
9433af6ab5fSopenharmony_ci                  "line": 24,
9443af6ab5fSopenharmony_ci                  "column": 5
9453af6ab5fSopenharmony_ci                },
9463af6ab5fSopenharmony_ci                "end": {
9473af6ab5fSopenharmony_ci                  "line": 24,
9483af6ab5fSopenharmony_ci                  "column": 17
9493af6ab5fSopenharmony_ci                }
9503af6ab5fSopenharmony_ci              }
9513af6ab5fSopenharmony_ci            }
9523af6ab5fSopenharmony_ci          ],
9533af6ab5fSopenharmony_ci          "loc": {
9543af6ab5fSopenharmony_ci            "start": {
9553af6ab5fSopenharmony_ci              "line": 23,
9563af6ab5fSopenharmony_ci              "column": 122
9573af6ab5fSopenharmony_ci            },
9583af6ab5fSopenharmony_ci            "end": {
9593af6ab5fSopenharmony_ci              "line": 25,
9603af6ab5fSopenharmony_ci              "column": 2
9613af6ab5fSopenharmony_ci            }
9623af6ab5fSopenharmony_ci          }
9633af6ab5fSopenharmony_ci        },
9643af6ab5fSopenharmony_ci        "loc": {
9653af6ab5fSopenharmony_ci          "start": {
9663af6ab5fSopenharmony_ci            "line": 23,
9673af6ab5fSopenharmony_ci            "column": 1
9683af6ab5fSopenharmony_ci          },
9693af6ab5fSopenharmony_ci          "end": {
9703af6ab5fSopenharmony_ci            "line": 25,
9713af6ab5fSopenharmony_ci            "column": 2
9723af6ab5fSopenharmony_ci          }
9733af6ab5fSopenharmony_ci        }
9743af6ab5fSopenharmony_ci      },
9753af6ab5fSopenharmony_ci      "loc": {
9763af6ab5fSopenharmony_ci        "start": {
9773af6ab5fSopenharmony_ci          "line": 23,
9783af6ab5fSopenharmony_ci          "column": 1
9793af6ab5fSopenharmony_ci        },
9803af6ab5fSopenharmony_ci        "end": {
9813af6ab5fSopenharmony_ci          "line": 25,
9823af6ab5fSopenharmony_ci          "column": 2
9833af6ab5fSopenharmony_ci        }
9843af6ab5fSopenharmony_ci      }
9853af6ab5fSopenharmony_ci    },
9863af6ab5fSopenharmony_ci    {
9873af6ab5fSopenharmony_ci      "type": "TSTypeAliasDeclaration",
9883af6ab5fSopenharmony_ci      "id": {
9893af6ab5fSopenharmony_ci        "type": "Identifier",
9903af6ab5fSopenharmony_ci        "name": "PromiseConstructorLike",
9913af6ab5fSopenharmony_ci        "decorators": [],
9923af6ab5fSopenharmony_ci        "loc": {
9933af6ab5fSopenharmony_ci          "start": {
9943af6ab5fSopenharmony_ci            "line": 27,
9953af6ab5fSopenharmony_ci            "column": 14
9963af6ab5fSopenharmony_ci          },
9973af6ab5fSopenharmony_ci          "end": {
9983af6ab5fSopenharmony_ci            "line": 27,
9993af6ab5fSopenharmony_ci            "column": 36
10003af6ab5fSopenharmony_ci          }
10013af6ab5fSopenharmony_ci        }
10023af6ab5fSopenharmony_ci      },
10033af6ab5fSopenharmony_ci      "typeAnnotation": {
10043af6ab5fSopenharmony_ci        "type": "TSConstructorType",
10053af6ab5fSopenharmony_ci        "params": [
10063af6ab5fSopenharmony_ci          {
10073af6ab5fSopenharmony_ci            "type": "Identifier",
10083af6ab5fSopenharmony_ci            "name": "executor",
10093af6ab5fSopenharmony_ci            "typeAnnotation": {
10103af6ab5fSopenharmony_ci              "type": "TSFunctionType",
10113af6ab5fSopenharmony_ci              "params": [
10123af6ab5fSopenharmony_ci                {
10133af6ab5fSopenharmony_ci                  "type": "Identifier",
10143af6ab5fSopenharmony_ci                  "name": "resolve",
10153af6ab5fSopenharmony_ci                  "typeAnnotation": {
10163af6ab5fSopenharmony_ci                    "type": "TSFunctionType",
10173af6ab5fSopenharmony_ci                    "params": [
10183af6ab5fSopenharmony_ci                      {
10193af6ab5fSopenharmony_ci                        "type": "Identifier",
10203af6ab5fSopenharmony_ci                        "name": "value",
10213af6ab5fSopenharmony_ci                        "typeAnnotation": {
10223af6ab5fSopenharmony_ci                          "type": "TSUnionType",
10233af6ab5fSopenharmony_ci                          "types": [
10243af6ab5fSopenharmony_ci                            {
10253af6ab5fSopenharmony_ci                              "type": "TSTypeReference",
10263af6ab5fSopenharmony_ci                              "typeName": {
10273af6ab5fSopenharmony_ci                                "type": "Identifier",
10283af6ab5fSopenharmony_ci                                "name": "T",
10293af6ab5fSopenharmony_ci                                "decorators": [],
10303af6ab5fSopenharmony_ci                                "loc": {
10313af6ab5fSopenharmony_ci                                  "start": {
10323af6ab5fSopenharmony_ci                                    "line": 27,
10333af6ab5fSopenharmony_ci                                    "column": 75
10343af6ab5fSopenharmony_ci                                  },
10353af6ab5fSopenharmony_ci                                  "end": {
10363af6ab5fSopenharmony_ci                                    "line": 27,
10373af6ab5fSopenharmony_ci                                    "column": 76
10383af6ab5fSopenharmony_ci                                  }
10393af6ab5fSopenharmony_ci                                }
10403af6ab5fSopenharmony_ci                              },
10413af6ab5fSopenharmony_ci                              "loc": {
10423af6ab5fSopenharmony_ci                                "start": {
10433af6ab5fSopenharmony_ci                                  "line": 27,
10443af6ab5fSopenharmony_ci                                  "column": 75
10453af6ab5fSopenharmony_ci                                },
10463af6ab5fSopenharmony_ci                                "end": {
10473af6ab5fSopenharmony_ci                                  "line": 27,
10483af6ab5fSopenharmony_ci                                  "column": 76
10493af6ab5fSopenharmony_ci                                }
10503af6ab5fSopenharmony_ci                              }
10513af6ab5fSopenharmony_ci                            },
10523af6ab5fSopenharmony_ci                            {
10533af6ab5fSopenharmony_ci                              "type": "TSTypeReference",
10543af6ab5fSopenharmony_ci                              "typeName": {
10553af6ab5fSopenharmony_ci                                "type": "Identifier",
10563af6ab5fSopenharmony_ci                                "name": "PromiseLike",
10573af6ab5fSopenharmony_ci                                "decorators": [],
10583af6ab5fSopenharmony_ci                                "loc": {
10593af6ab5fSopenharmony_ci                                  "start": {
10603af6ab5fSopenharmony_ci                                    "line": 27,
10613af6ab5fSopenharmony_ci                                    "column": 79
10623af6ab5fSopenharmony_ci                                  },
10633af6ab5fSopenharmony_ci                                  "end": {
10643af6ab5fSopenharmony_ci                                    "line": 27,
10653af6ab5fSopenharmony_ci                                    "column": 90
10663af6ab5fSopenharmony_ci                                  }
10673af6ab5fSopenharmony_ci                                }
10683af6ab5fSopenharmony_ci                              },
10693af6ab5fSopenharmony_ci                              "typeParameters": {
10703af6ab5fSopenharmony_ci                                "type": "TSTypeParameterInstantiation",
10713af6ab5fSopenharmony_ci                                "params": [
10723af6ab5fSopenharmony_ci                                  {
10733af6ab5fSopenharmony_ci                                    "type": "TSTypeReference",
10743af6ab5fSopenharmony_ci                                    "typeName": {
10753af6ab5fSopenharmony_ci                                      "type": "Identifier",
10763af6ab5fSopenharmony_ci                                      "name": "T",
10773af6ab5fSopenharmony_ci                                      "decorators": [],
10783af6ab5fSopenharmony_ci                                      "loc": {
10793af6ab5fSopenharmony_ci                                        "start": {
10803af6ab5fSopenharmony_ci                                          "line": 27,
10813af6ab5fSopenharmony_ci                                          "column": 91
10823af6ab5fSopenharmony_ci                                        },
10833af6ab5fSopenharmony_ci                                        "end": {
10843af6ab5fSopenharmony_ci                                          "line": 27,
10853af6ab5fSopenharmony_ci                                          "column": 92
10863af6ab5fSopenharmony_ci                                        }
10873af6ab5fSopenharmony_ci                                      }
10883af6ab5fSopenharmony_ci                                    },
10893af6ab5fSopenharmony_ci                                    "loc": {
10903af6ab5fSopenharmony_ci                                      "start": {
10913af6ab5fSopenharmony_ci                                        "line": 27,
10923af6ab5fSopenharmony_ci                                        "column": 91
10933af6ab5fSopenharmony_ci                                      },
10943af6ab5fSopenharmony_ci                                      "end": {
10953af6ab5fSopenharmony_ci                                        "line": 27,
10963af6ab5fSopenharmony_ci                                        "column": 92
10973af6ab5fSopenharmony_ci                                      }
10983af6ab5fSopenharmony_ci                                    }
10993af6ab5fSopenharmony_ci                                  }
11003af6ab5fSopenharmony_ci                                ],
11013af6ab5fSopenharmony_ci                                "loc": {
11023af6ab5fSopenharmony_ci                                  "start": {
11033af6ab5fSopenharmony_ci                                    "line": 27,
11043af6ab5fSopenharmony_ci                                    "column": 79
11053af6ab5fSopenharmony_ci                                  },
11063af6ab5fSopenharmony_ci                                  "end": {
11073af6ab5fSopenharmony_ci                                    "line": 27,
11083af6ab5fSopenharmony_ci                                    "column": 93
11093af6ab5fSopenharmony_ci                                  }
11103af6ab5fSopenharmony_ci                                }
11113af6ab5fSopenharmony_ci                              },
11123af6ab5fSopenharmony_ci                              "loc": {
11133af6ab5fSopenharmony_ci                                "start": {
11143af6ab5fSopenharmony_ci                                  "line": 27,
11153af6ab5fSopenharmony_ci                                  "column": 79
11163af6ab5fSopenharmony_ci                                },
11173af6ab5fSopenharmony_ci                                "end": {
11183af6ab5fSopenharmony_ci                                  "line": 27,
11193af6ab5fSopenharmony_ci                                  "column": 90
11203af6ab5fSopenharmony_ci                                }
11213af6ab5fSopenharmony_ci                              }
11223af6ab5fSopenharmony_ci                            }
11233af6ab5fSopenharmony_ci                          ],
11243af6ab5fSopenharmony_ci                          "loc": {
11253af6ab5fSopenharmony_ci                            "start": {
11263af6ab5fSopenharmony_ci                              "line": 27,
11273af6ab5fSopenharmony_ci                              "column": 75
11283af6ab5fSopenharmony_ci                            },
11293af6ab5fSopenharmony_ci                            "end": {
11303af6ab5fSopenharmony_ci                              "line": 27,
11313af6ab5fSopenharmony_ci                              "column": 90
11323af6ab5fSopenharmony_ci                            }
11333af6ab5fSopenharmony_ci                          }
11343af6ab5fSopenharmony_ci                        },
11353af6ab5fSopenharmony_ci                        "decorators": [],
11363af6ab5fSopenharmony_ci                        "loc": {
11373af6ab5fSopenharmony_ci                          "start": {
11383af6ab5fSopenharmony_ci                            "line": 27,
11393af6ab5fSopenharmony_ci                            "column": 68
11403af6ab5fSopenharmony_ci                          },
11413af6ab5fSopenharmony_ci                          "end": {
11423af6ab5fSopenharmony_ci                            "line": 27,
11433af6ab5fSopenharmony_ci                            "column": 73
11443af6ab5fSopenharmony_ci                          }
11453af6ab5fSopenharmony_ci                        }
11463af6ab5fSopenharmony_ci                      }
11473af6ab5fSopenharmony_ci                    ],
11483af6ab5fSopenharmony_ci                    "returnType": {
11493af6ab5fSopenharmony_ci                      "type": "TSVoidKeyword",
11503af6ab5fSopenharmony_ci                      "loc": {
11513af6ab5fSopenharmony_ci                        "start": {
11523af6ab5fSopenharmony_ci                          "line": 27,
11533af6ab5fSopenharmony_ci                          "column": 98
11543af6ab5fSopenharmony_ci                        },
11553af6ab5fSopenharmony_ci                        "end": {
11563af6ab5fSopenharmony_ci                          "line": 27,
11573af6ab5fSopenharmony_ci                          "column": 102
11583af6ab5fSopenharmony_ci                        }
11593af6ab5fSopenharmony_ci                      }
11603af6ab5fSopenharmony_ci                    },
11613af6ab5fSopenharmony_ci                    "loc": {
11623af6ab5fSopenharmony_ci                      "start": {
11633af6ab5fSopenharmony_ci                        "line": 27,
11643af6ab5fSopenharmony_ci                        "column": 67
11653af6ab5fSopenharmony_ci                      },
11663af6ab5fSopenharmony_ci                      "end": {
11673af6ab5fSopenharmony_ci                        "line": 27,
11683af6ab5fSopenharmony_ci                        "column": 102
11693af6ab5fSopenharmony_ci                      }
11703af6ab5fSopenharmony_ci                    }
11713af6ab5fSopenharmony_ci                  },
11723af6ab5fSopenharmony_ci                  "decorators": [],
11733af6ab5fSopenharmony_ci                  "loc": {
11743af6ab5fSopenharmony_ci                    "start": {
11753af6ab5fSopenharmony_ci                      "line": 27,
11763af6ab5fSopenharmony_ci                      "column": 58
11773af6ab5fSopenharmony_ci                    },
11783af6ab5fSopenharmony_ci                    "end": {
11793af6ab5fSopenharmony_ci                      "line": 27,
11803af6ab5fSopenharmony_ci                      "column": 65
11813af6ab5fSopenharmony_ci                    }
11823af6ab5fSopenharmony_ci                  }
11833af6ab5fSopenharmony_ci                },
11843af6ab5fSopenharmony_ci                {
11853af6ab5fSopenharmony_ci                  "type": "Identifier",
11863af6ab5fSopenharmony_ci                  "name": "reject",
11873af6ab5fSopenharmony_ci                  "typeAnnotation": {
11883af6ab5fSopenharmony_ci                    "type": "TSFunctionType",
11893af6ab5fSopenharmony_ci                    "params": [
11903af6ab5fSopenharmony_ci                      {
11913af6ab5fSopenharmony_ci                        "type": "Identifier",
11923af6ab5fSopenharmony_ci                        "name": "reason",
11933af6ab5fSopenharmony_ci                        "typeAnnotation": {
11943af6ab5fSopenharmony_ci                          "type": "TSAnyKeyword",
11953af6ab5fSopenharmony_ci                          "loc": {
11963af6ab5fSopenharmony_ci                            "start": {
11973af6ab5fSopenharmony_ci                              "line": 27,
11983af6ab5fSopenharmony_ci                              "column": 122
11993af6ab5fSopenharmony_ci                            },
12003af6ab5fSopenharmony_ci                            "end": {
12013af6ab5fSopenharmony_ci                              "line": 27,
12023af6ab5fSopenharmony_ci                              "column": 125
12033af6ab5fSopenharmony_ci                            }
12043af6ab5fSopenharmony_ci                          }
12053af6ab5fSopenharmony_ci                        },
12063af6ab5fSopenharmony_ci                        "optional": true,
12073af6ab5fSopenharmony_ci                        "decorators": [],
12083af6ab5fSopenharmony_ci                        "loc": {
12093af6ab5fSopenharmony_ci                          "start": {
12103af6ab5fSopenharmony_ci                            "line": 27,
12113af6ab5fSopenharmony_ci                            "column": 113
12123af6ab5fSopenharmony_ci                          },
12133af6ab5fSopenharmony_ci                          "end": {
12143af6ab5fSopenharmony_ci                            "line": 27,
12153af6ab5fSopenharmony_ci                            "column": 119
12163af6ab5fSopenharmony_ci                          }
12173af6ab5fSopenharmony_ci                        }
12183af6ab5fSopenharmony_ci                      }
12193af6ab5fSopenharmony_ci                    ],
12203af6ab5fSopenharmony_ci                    "returnType": {
12213af6ab5fSopenharmony_ci                      "type": "TSVoidKeyword",
12223af6ab5fSopenharmony_ci                      "loc": {
12233af6ab5fSopenharmony_ci                        "start": {
12243af6ab5fSopenharmony_ci                          "line": 27,
12253af6ab5fSopenharmony_ci                          "column": 130
12263af6ab5fSopenharmony_ci                        },
12273af6ab5fSopenharmony_ci                        "end": {
12283af6ab5fSopenharmony_ci                          "line": 27,
12293af6ab5fSopenharmony_ci                          "column": 134
12303af6ab5fSopenharmony_ci                        }
12313af6ab5fSopenharmony_ci                      }
12323af6ab5fSopenharmony_ci                    },
12333af6ab5fSopenharmony_ci                    "loc": {
12343af6ab5fSopenharmony_ci                      "start": {
12353af6ab5fSopenharmony_ci                        "line": 27,
12363af6ab5fSopenharmony_ci                        "column": 112
12373af6ab5fSopenharmony_ci                      },
12383af6ab5fSopenharmony_ci                      "end": {
12393af6ab5fSopenharmony_ci                        "line": 27,
12403af6ab5fSopenharmony_ci                        "column": 134
12413af6ab5fSopenharmony_ci                      }
12423af6ab5fSopenharmony_ci                    }
12433af6ab5fSopenharmony_ci                  },
12443af6ab5fSopenharmony_ci                  "decorators": [],
12453af6ab5fSopenharmony_ci                  "loc": {
12463af6ab5fSopenharmony_ci                    "start": {
12473af6ab5fSopenharmony_ci                      "line": 27,
12483af6ab5fSopenharmony_ci                      "column": 104
12493af6ab5fSopenharmony_ci                    },
12503af6ab5fSopenharmony_ci                    "end": {
12513af6ab5fSopenharmony_ci                      "line": 27,
12523af6ab5fSopenharmony_ci                      "column": 110
12533af6ab5fSopenharmony_ci                    }
12543af6ab5fSopenharmony_ci                  }
12553af6ab5fSopenharmony_ci                }
12563af6ab5fSopenharmony_ci              ],
12573af6ab5fSopenharmony_ci              "returnType": {
12583af6ab5fSopenharmony_ci                "type": "TSVoidKeyword",
12593af6ab5fSopenharmony_ci                "loc": {
12603af6ab5fSopenharmony_ci                  "start": {
12613af6ab5fSopenharmony_ci                    "line": 27,
12623af6ab5fSopenharmony_ci                    "column": 139
12633af6ab5fSopenharmony_ci                  },
12643af6ab5fSopenharmony_ci                  "end": {
12653af6ab5fSopenharmony_ci                    "line": 27,
12663af6ab5fSopenharmony_ci                    "column": 143
12673af6ab5fSopenharmony_ci                  }
12683af6ab5fSopenharmony_ci                }
12693af6ab5fSopenharmony_ci              },
12703af6ab5fSopenharmony_ci              "loc": {
12713af6ab5fSopenharmony_ci                "start": {
12723af6ab5fSopenharmony_ci                  "line": 27,
12733af6ab5fSopenharmony_ci                  "column": 57
12743af6ab5fSopenharmony_ci                },
12753af6ab5fSopenharmony_ci                "end": {
12763af6ab5fSopenharmony_ci                  "line": 27,
12773af6ab5fSopenharmony_ci                  "column": 143
12783af6ab5fSopenharmony_ci                }
12793af6ab5fSopenharmony_ci              }
12803af6ab5fSopenharmony_ci            },
12813af6ab5fSopenharmony_ci            "decorators": [],
12823af6ab5fSopenharmony_ci            "loc": {
12833af6ab5fSopenharmony_ci              "start": {
12843af6ab5fSopenharmony_ci                "line": 27,
12853af6ab5fSopenharmony_ci                "column": 47
12863af6ab5fSopenharmony_ci              },
12873af6ab5fSopenharmony_ci              "end": {
12883af6ab5fSopenharmony_ci                "line": 27,
12893af6ab5fSopenharmony_ci                "column": 55
12903af6ab5fSopenharmony_ci              }
12913af6ab5fSopenharmony_ci            }
12923af6ab5fSopenharmony_ci          }
12933af6ab5fSopenharmony_ci        ],
12943af6ab5fSopenharmony_ci        "typeParameters": {
12953af6ab5fSopenharmony_ci          "type": "TSTypeParameterDeclaration",
12963af6ab5fSopenharmony_ci          "params": [
12973af6ab5fSopenharmony_ci            {
12983af6ab5fSopenharmony_ci              "type": "TSTypeParameter",
12993af6ab5fSopenharmony_ci              "name": {
13003af6ab5fSopenharmony_ci                "type": "Identifier",
13013af6ab5fSopenharmony_ci                "name": "T",
13023af6ab5fSopenharmony_ci                "decorators": [],
13033af6ab5fSopenharmony_ci                "loc": {
13043af6ab5fSopenharmony_ci                  "start": {
13053af6ab5fSopenharmony_ci                    "line": 27,
13063af6ab5fSopenharmony_ci                    "column": 44
13073af6ab5fSopenharmony_ci                  },
13083af6ab5fSopenharmony_ci                  "end": {
13093af6ab5fSopenharmony_ci                    "line": 27,
13103af6ab5fSopenharmony_ci                    "column": 45
13113af6ab5fSopenharmony_ci                  }
13123af6ab5fSopenharmony_ci                }
13133af6ab5fSopenharmony_ci              },
13143af6ab5fSopenharmony_ci              "loc": {
13153af6ab5fSopenharmony_ci                "start": {
13163af6ab5fSopenharmony_ci                  "line": 27,
13173af6ab5fSopenharmony_ci                  "column": 44
13183af6ab5fSopenharmony_ci                },
13193af6ab5fSopenharmony_ci                "end": {
13203af6ab5fSopenharmony_ci                  "line": 27,
13213af6ab5fSopenharmony_ci                  "column": 46
13223af6ab5fSopenharmony_ci                }
13233af6ab5fSopenharmony_ci              }
13243af6ab5fSopenharmony_ci            }
13253af6ab5fSopenharmony_ci          ],
13263af6ab5fSopenharmony_ci          "loc": {
13273af6ab5fSopenharmony_ci            "start": {
13283af6ab5fSopenharmony_ci              "line": 27,
13293af6ab5fSopenharmony_ci              "column": 43
13303af6ab5fSopenharmony_ci            },
13313af6ab5fSopenharmony_ci            "end": {
13323af6ab5fSopenharmony_ci              "line": 27,
13333af6ab5fSopenharmony_ci              "column": 46
13343af6ab5fSopenharmony_ci            }
13353af6ab5fSopenharmony_ci          }
13363af6ab5fSopenharmony_ci        },
13373af6ab5fSopenharmony_ci        "returnType": {
13383af6ab5fSopenharmony_ci          "type": "TSTypeReference",
13393af6ab5fSopenharmony_ci          "typeName": {
13403af6ab5fSopenharmony_ci            "type": "Identifier",
13413af6ab5fSopenharmony_ci            "name": "PromiseLike",
13423af6ab5fSopenharmony_ci            "decorators": [],
13433af6ab5fSopenharmony_ci            "loc": {
13443af6ab5fSopenharmony_ci              "start": {
13453af6ab5fSopenharmony_ci                "line": 27,
13463af6ab5fSopenharmony_ci                "column": 148
13473af6ab5fSopenharmony_ci              },
13483af6ab5fSopenharmony_ci              "end": {
13493af6ab5fSopenharmony_ci                "line": 27,
13503af6ab5fSopenharmony_ci                "column": 159
13513af6ab5fSopenharmony_ci              }
13523af6ab5fSopenharmony_ci            }
13533af6ab5fSopenharmony_ci          },
13543af6ab5fSopenharmony_ci          "typeParameters": {
13553af6ab5fSopenharmony_ci            "type": "TSTypeParameterInstantiation",
13563af6ab5fSopenharmony_ci            "params": [
13573af6ab5fSopenharmony_ci              {
13583af6ab5fSopenharmony_ci                "type": "TSTypeReference",
13593af6ab5fSopenharmony_ci                "typeName": {
13603af6ab5fSopenharmony_ci                  "type": "Identifier",
13613af6ab5fSopenharmony_ci                  "name": "T",
13623af6ab5fSopenharmony_ci                  "decorators": [],
13633af6ab5fSopenharmony_ci                  "loc": {
13643af6ab5fSopenharmony_ci                    "start": {
13653af6ab5fSopenharmony_ci                      "line": 27,
13663af6ab5fSopenharmony_ci                      "column": 160
13673af6ab5fSopenharmony_ci                    },
13683af6ab5fSopenharmony_ci                    "end": {
13693af6ab5fSopenharmony_ci                      "line": 27,
13703af6ab5fSopenharmony_ci                      "column": 161
13713af6ab5fSopenharmony_ci                    }
13723af6ab5fSopenharmony_ci                  }
13733af6ab5fSopenharmony_ci                },
13743af6ab5fSopenharmony_ci                "loc": {
13753af6ab5fSopenharmony_ci                  "start": {
13763af6ab5fSopenharmony_ci                    "line": 27,
13773af6ab5fSopenharmony_ci                    "column": 160
13783af6ab5fSopenharmony_ci                  },
13793af6ab5fSopenharmony_ci                  "end": {
13803af6ab5fSopenharmony_ci                    "line": 27,
13813af6ab5fSopenharmony_ci                    "column": 161
13823af6ab5fSopenharmony_ci                  }
13833af6ab5fSopenharmony_ci                }
13843af6ab5fSopenharmony_ci              }
13853af6ab5fSopenharmony_ci            ],
13863af6ab5fSopenharmony_ci            "loc": {
13873af6ab5fSopenharmony_ci              "start": {
13883af6ab5fSopenharmony_ci                "line": 27,
13893af6ab5fSopenharmony_ci                "column": 148
13903af6ab5fSopenharmony_ci              },
13913af6ab5fSopenharmony_ci              "end": {
13923af6ab5fSopenharmony_ci                "line": 27,
13933af6ab5fSopenharmony_ci                "column": 162
13943af6ab5fSopenharmony_ci              }
13953af6ab5fSopenharmony_ci            }
13963af6ab5fSopenharmony_ci          },
13973af6ab5fSopenharmony_ci          "loc": {
13983af6ab5fSopenharmony_ci            "start": {
13993af6ab5fSopenharmony_ci              "line": 27,
14003af6ab5fSopenharmony_ci              "column": 148
14013af6ab5fSopenharmony_ci            },
14023af6ab5fSopenharmony_ci            "end": {
14033af6ab5fSopenharmony_ci              "line": 27,
14043af6ab5fSopenharmony_ci              "column": 159
14053af6ab5fSopenharmony_ci            }
14063af6ab5fSopenharmony_ci          }
14073af6ab5fSopenharmony_ci        },
14083af6ab5fSopenharmony_ci        "loc": {
14093af6ab5fSopenharmony_ci          "start": {
14103af6ab5fSopenharmony_ci            "line": 27,
14113af6ab5fSopenharmony_ci            "column": 39
14123af6ab5fSopenharmony_ci          },
14133af6ab5fSopenharmony_ci          "end": {
14143af6ab5fSopenharmony_ci            "line": 27,
14153af6ab5fSopenharmony_ci            "column": 159
14163af6ab5fSopenharmony_ci          }
14173af6ab5fSopenharmony_ci        }
14183af6ab5fSopenharmony_ci      },
14193af6ab5fSopenharmony_ci      "declare": true,
14203af6ab5fSopenharmony_ci      "loc": {
14213af6ab5fSopenharmony_ci        "start": {
14223af6ab5fSopenharmony_ci          "line": 27,
14233af6ab5fSopenharmony_ci          "column": 9
14243af6ab5fSopenharmony_ci        },
14253af6ab5fSopenharmony_ci        "end": {
14263af6ab5fSopenharmony_ci          "line": 27,
14273af6ab5fSopenharmony_ci          "column": 163
14283af6ab5fSopenharmony_ci        }
14293af6ab5fSopenharmony_ci      }
14303af6ab5fSopenharmony_ci    },
14313af6ab5fSopenharmony_ci    {
14323af6ab5fSopenharmony_ci      "type": "EmptyStatement",
14333af6ab5fSopenharmony_ci      "loc": {
14343af6ab5fSopenharmony_ci        "start": {
14353af6ab5fSopenharmony_ci          "line": 27,
14363af6ab5fSopenharmony_ci          "column": 162
14373af6ab5fSopenharmony_ci        },
14383af6ab5fSopenharmony_ci        "end": {
14393af6ab5fSopenharmony_ci          "line": 27,
14403af6ab5fSopenharmony_ci          "column": 163
14413af6ab5fSopenharmony_ci        }
14423af6ab5fSopenharmony_ci      }
14433af6ab5fSopenharmony_ci    },
14443af6ab5fSopenharmony_ci    {
14453af6ab5fSopenharmony_ci      "type": "TSInterfaceDeclaration",
14463af6ab5fSopenharmony_ci      "body": {
14473af6ab5fSopenharmony_ci        "type": "TSInterfaceBody",
14483af6ab5fSopenharmony_ci        "body": [
14493af6ab5fSopenharmony_ci          {
14503af6ab5fSopenharmony_ci            "type": "TSPropertySignature",
14513af6ab5fSopenharmony_ci            "computed": false,
14523af6ab5fSopenharmony_ci            "optional": false,
14533af6ab5fSopenharmony_ci            "readonly": false,
14543af6ab5fSopenharmony_ci            "key": {
14553af6ab5fSopenharmony_ci              "type": "Identifier",
14563af6ab5fSopenharmony_ci              "name": "a",
14573af6ab5fSopenharmony_ci              "decorators": [],
14583af6ab5fSopenharmony_ci              "loc": {
14593af6ab5fSopenharmony_ci                "start": {
14603af6ab5fSopenharmony_ci                  "line": 30,
14613af6ab5fSopenharmony_ci                  "column": 5
14623af6ab5fSopenharmony_ci                },
14633af6ab5fSopenharmony_ci                "end": {
14643af6ab5fSopenharmony_ci                  "line": 30,
14653af6ab5fSopenharmony_ci                  "column": 6
14663af6ab5fSopenharmony_ci                }
14673af6ab5fSopenharmony_ci              }
14683af6ab5fSopenharmony_ci            },
14693af6ab5fSopenharmony_ci            "typeAnnotation": {
14703af6ab5fSopenharmony_ci              "type": "TSNumberKeyword",
14713af6ab5fSopenharmony_ci              "loc": {
14723af6ab5fSopenharmony_ci                "start": {
14733af6ab5fSopenharmony_ci                  "line": 30,
14743af6ab5fSopenharmony_ci                  "column": 8
14753af6ab5fSopenharmony_ci                },
14763af6ab5fSopenharmony_ci                "end": {
14773af6ab5fSopenharmony_ci                  "line": 30,
14783af6ab5fSopenharmony_ci                  "column": 14
14793af6ab5fSopenharmony_ci                }
14803af6ab5fSopenharmony_ci              }
14813af6ab5fSopenharmony_ci            },
14823af6ab5fSopenharmony_ci            "loc": {
14833af6ab5fSopenharmony_ci              "start": {
14843af6ab5fSopenharmony_ci                "line": 30,
14853af6ab5fSopenharmony_ci                "column": 5
14863af6ab5fSopenharmony_ci              },
14873af6ab5fSopenharmony_ci              "end": {
14883af6ab5fSopenharmony_ci                "line": 30,
14893af6ab5fSopenharmony_ci                "column": 15
14903af6ab5fSopenharmony_ci              }
14913af6ab5fSopenharmony_ci            }
14923af6ab5fSopenharmony_ci          },
14933af6ab5fSopenharmony_ci          {
14943af6ab5fSopenharmony_ci            "type": "TSIndexSignature",
14953af6ab5fSopenharmony_ci            "parameters": {
14963af6ab5fSopenharmony_ci              "type": "Identifier",
14973af6ab5fSopenharmony_ci              "name": "x",
14983af6ab5fSopenharmony_ci              "typeAnnotation": {
14993af6ab5fSopenharmony_ci                "type": "TSStringKeyword",
15003af6ab5fSopenharmony_ci                "loc": {
15013af6ab5fSopenharmony_ci                  "start": {
15023af6ab5fSopenharmony_ci                    "line": 31,
15033af6ab5fSopenharmony_ci                    "column": 9
15043af6ab5fSopenharmony_ci                  },
15053af6ab5fSopenharmony_ci                  "end": {
15063af6ab5fSopenharmony_ci                    "line": 31,
15073af6ab5fSopenharmony_ci                    "column": 15
15083af6ab5fSopenharmony_ci                  }
15093af6ab5fSopenharmony_ci                }
15103af6ab5fSopenharmony_ci              },
15113af6ab5fSopenharmony_ci              "decorators": [],
15123af6ab5fSopenharmony_ci              "loc": {
15133af6ab5fSopenharmony_ci                "start": {
15143af6ab5fSopenharmony_ci                  "line": 31,
15153af6ab5fSopenharmony_ci                  "column": 6
15163af6ab5fSopenharmony_ci                },
15173af6ab5fSopenharmony_ci                "end": {
15183af6ab5fSopenharmony_ci                  "line": 31,
15193af6ab5fSopenharmony_ci                  "column": 7
15203af6ab5fSopenharmony_ci                }
15213af6ab5fSopenharmony_ci              }
15223af6ab5fSopenharmony_ci            },
15233af6ab5fSopenharmony_ci            "typeAnnotation": {
15243af6ab5fSopenharmony_ci              "type": "TSUnionType",
15253af6ab5fSopenharmony_ci              "types": [
15263af6ab5fSopenharmony_ci                {
15273af6ab5fSopenharmony_ci                  "type": "TSBooleanKeyword",
15283af6ab5fSopenharmony_ci                  "loc": {
15293af6ab5fSopenharmony_ci                    "start": {
15303af6ab5fSopenharmony_ci                      "line": 31,
15313af6ab5fSopenharmony_ci                      "column": 18
15323af6ab5fSopenharmony_ci                    },
15333af6ab5fSopenharmony_ci                    "end": {
15343af6ab5fSopenharmony_ci                      "line": 31,
15353af6ab5fSopenharmony_ci                      "column": 25
15363af6ab5fSopenharmony_ci                    }
15373af6ab5fSopenharmony_ci                  }
15383af6ab5fSopenharmony_ci                },
15393af6ab5fSopenharmony_ci                {
15403af6ab5fSopenharmony_ci                  "type": "TSNumberKeyword",
15413af6ab5fSopenharmony_ci                  "loc": {
15423af6ab5fSopenharmony_ci                    "start": {
15433af6ab5fSopenharmony_ci                      "line": 31,
15443af6ab5fSopenharmony_ci                      "column": 28
15453af6ab5fSopenharmony_ci                    },
15463af6ab5fSopenharmony_ci                    "end": {
15473af6ab5fSopenharmony_ci                      "line": 31,
15483af6ab5fSopenharmony_ci                      "column": 34
15493af6ab5fSopenharmony_ci                    }
15503af6ab5fSopenharmony_ci                  }
15513af6ab5fSopenharmony_ci                }
15523af6ab5fSopenharmony_ci              ],
15533af6ab5fSopenharmony_ci              "loc": {
15543af6ab5fSopenharmony_ci                "start": {
15553af6ab5fSopenharmony_ci                  "line": 31,
15563af6ab5fSopenharmony_ci                  "column": 18
15573af6ab5fSopenharmony_ci                },
15583af6ab5fSopenharmony_ci                "end": {
15593af6ab5fSopenharmony_ci                  "line": 31,
15603af6ab5fSopenharmony_ci                  "column": 34
15613af6ab5fSopenharmony_ci                }
15623af6ab5fSopenharmony_ci              }
15633af6ab5fSopenharmony_ci            },
15643af6ab5fSopenharmony_ci            "readonly": false,
15653af6ab5fSopenharmony_ci            "loc": {
15663af6ab5fSopenharmony_ci              "start": {
15673af6ab5fSopenharmony_ci                "line": 31,
15683af6ab5fSopenharmony_ci                "column": 5
15693af6ab5fSopenharmony_ci              },
15703af6ab5fSopenharmony_ci              "end": {
15713af6ab5fSopenharmony_ci                "line": 31,
15723af6ab5fSopenharmony_ci                "column": 35
15733af6ab5fSopenharmony_ci              }
15743af6ab5fSopenharmony_ci            }
15753af6ab5fSopenharmony_ci          }
15763af6ab5fSopenharmony_ci        ],
15773af6ab5fSopenharmony_ci        "loc": {
15783af6ab5fSopenharmony_ci          "start": {
15793af6ab5fSopenharmony_ci            "line": 29,
15803af6ab5fSopenharmony_ci            "column": 53
15813af6ab5fSopenharmony_ci          },
15823af6ab5fSopenharmony_ci          "end": {
15833af6ab5fSopenharmony_ci            "line": 32,
15843af6ab5fSopenharmony_ci            "column": 2
15853af6ab5fSopenharmony_ci          }
15863af6ab5fSopenharmony_ci        }
15873af6ab5fSopenharmony_ci      },
15883af6ab5fSopenharmony_ci      "id": {
15893af6ab5fSopenharmony_ci        "type": "Identifier",
15903af6ab5fSopenharmony_ci        "name": "R",
15913af6ab5fSopenharmony_ci        "decorators": [],
15923af6ab5fSopenharmony_ci        "loc": {
15933af6ab5fSopenharmony_ci          "start": {
15943af6ab5fSopenharmony_ci            "line": 29,
15953af6ab5fSopenharmony_ci            "column": 11
15963af6ab5fSopenharmony_ci          },
15973af6ab5fSopenharmony_ci          "end": {
15983af6ab5fSopenharmony_ci            "line": 29,
15993af6ab5fSopenharmony_ci            "column": 12
16003af6ab5fSopenharmony_ci          }
16013af6ab5fSopenharmony_ci        }
16023af6ab5fSopenharmony_ci      },
16033af6ab5fSopenharmony_ci      "extends": [],
16043af6ab5fSopenharmony_ci      "typeParameters": {
16053af6ab5fSopenharmony_ci        "type": "TSTypeParameterDeclaration",
16063af6ab5fSopenharmony_ci        "params": [
16073af6ab5fSopenharmony_ci          {
16083af6ab5fSopenharmony_ci            "type": "TSTypeParameter",
16093af6ab5fSopenharmony_ci            "name": {
16103af6ab5fSopenharmony_ci              "type": "Identifier",
16113af6ab5fSopenharmony_ci              "name": "K",
16123af6ab5fSopenharmony_ci              "decorators": [],
16133af6ab5fSopenharmony_ci              "loc": {
16143af6ab5fSopenharmony_ci                "start": {
16153af6ab5fSopenharmony_ci                  "line": 29,
16163af6ab5fSopenharmony_ci                  "column": 13
16173af6ab5fSopenharmony_ci                },
16183af6ab5fSopenharmony_ci                "end": {
16193af6ab5fSopenharmony_ci                  "line": 29,
16203af6ab5fSopenharmony_ci                  "column": 14
16213af6ab5fSopenharmony_ci                }
16223af6ab5fSopenharmony_ci              }
16233af6ab5fSopenharmony_ci            },
16243af6ab5fSopenharmony_ci            "constraint": {
16253af6ab5fSopenharmony_ci              "type": "TSTupleType",
16263af6ab5fSopenharmony_ci              "elementTypes": [
16273af6ab5fSopenharmony_ci                {
16283af6ab5fSopenharmony_ci                  "type": "TSNumberKeyword",
16293af6ab5fSopenharmony_ci                  "loc": {
16303af6ab5fSopenharmony_ci                    "start": {
16313af6ab5fSopenharmony_ci                      "line": 29,
16323af6ab5fSopenharmony_ci                      "column": 24
16333af6ab5fSopenharmony_ci                    },
16343af6ab5fSopenharmony_ci                    "end": {
16353af6ab5fSopenharmony_ci                      "line": 29,
16363af6ab5fSopenharmony_ci                      "column": 31
16373af6ab5fSopenharmony_ci                    }
16383af6ab5fSopenharmony_ci                  }
16393af6ab5fSopenharmony_ci                },
16403af6ab5fSopenharmony_ci                {
16413af6ab5fSopenharmony_ci                  "type": "TSStringKeyword",
16423af6ab5fSopenharmony_ci                  "loc": {
16433af6ab5fSopenharmony_ci                    "start": {
16443af6ab5fSopenharmony_ci                      "line": 29,
16453af6ab5fSopenharmony_ci                      "column": 32
16463af6ab5fSopenharmony_ci                    },
16473af6ab5fSopenharmony_ci                    "end": {
16483af6ab5fSopenharmony_ci                      "line": 29,
16493af6ab5fSopenharmony_ci                      "column": 39
16503af6ab5fSopenharmony_ci                    }
16513af6ab5fSopenharmony_ci                  }
16523af6ab5fSopenharmony_ci                }
16533af6ab5fSopenharmony_ci              ],
16543af6ab5fSopenharmony_ci              "loc": {
16553af6ab5fSopenharmony_ci                "start": {
16563af6ab5fSopenharmony_ci                  "line": 29,
16573af6ab5fSopenharmony_ci                  "column": 23
16583af6ab5fSopenharmony_ci                },
16593af6ab5fSopenharmony_ci                "end": {
16603af6ab5fSopenharmony_ci                  "line": 29,
16613af6ab5fSopenharmony_ci                  "column": 39
16623af6ab5fSopenharmony_ci                }
16633af6ab5fSopenharmony_ci              }
16643af6ab5fSopenharmony_ci            },
16653af6ab5fSopenharmony_ci            "loc": {
16663af6ab5fSopenharmony_ci              "start": {
16673af6ab5fSopenharmony_ci                "line": 29,
16683af6ab5fSopenharmony_ci                "column": 13
16693af6ab5fSopenharmony_ci              },
16703af6ab5fSopenharmony_ci              "end": {
16713af6ab5fSopenharmony_ci                "line": 29,
16723af6ab5fSopenharmony_ci                "column": 40
16733af6ab5fSopenharmony_ci              }
16743af6ab5fSopenharmony_ci            }
16753af6ab5fSopenharmony_ci          },
16763af6ab5fSopenharmony_ci          {
16773af6ab5fSopenharmony_ci            "type": "TSTypeParameter",
16783af6ab5fSopenharmony_ci            "name": {
16793af6ab5fSopenharmony_ci              "type": "Identifier",
16803af6ab5fSopenharmony_ci              "name": "T",
16813af6ab5fSopenharmony_ci              "decorators": [],
16823af6ab5fSopenharmony_ci              "loc": {
16833af6ab5fSopenharmony_ci                "start": {
16843af6ab5fSopenharmony_ci                  "line": 29,
16853af6ab5fSopenharmony_ci                  "column": 41
16863af6ab5fSopenharmony_ci                },
16873af6ab5fSopenharmony_ci                "end": {
16883af6ab5fSopenharmony_ci                  "line": 29,
16893af6ab5fSopenharmony_ci                  "column": 42
16903af6ab5fSopenharmony_ci                }
16913af6ab5fSopenharmony_ci              }
16923af6ab5fSopenharmony_ci            },
16933af6ab5fSopenharmony_ci            "default": {
16943af6ab5fSopenharmony_ci              "type": "TSStringKeyword",
16953af6ab5fSopenharmony_ci              "loc": {
16963af6ab5fSopenharmony_ci                "start": {
16973af6ab5fSopenharmony_ci                  "line": 29,
16983af6ab5fSopenharmony_ci                  "column": 45
16993af6ab5fSopenharmony_ci                },
17003af6ab5fSopenharmony_ci                "end": {
17013af6ab5fSopenharmony_ci                  "line": 29,
17023af6ab5fSopenharmony_ci                  "column": 51
17033af6ab5fSopenharmony_ci                }
17043af6ab5fSopenharmony_ci              }
17053af6ab5fSopenharmony_ci            },
17063af6ab5fSopenharmony_ci            "loc": {
17073af6ab5fSopenharmony_ci              "start": {
17083af6ab5fSopenharmony_ci                "line": 29,
17093af6ab5fSopenharmony_ci                "column": 41
17103af6ab5fSopenharmony_ci              },
17113af6ab5fSopenharmony_ci              "end": {
17123af6ab5fSopenharmony_ci                "line": 29,
17133af6ab5fSopenharmony_ci                "column": 52
17143af6ab5fSopenharmony_ci              }
17153af6ab5fSopenharmony_ci            }
17163af6ab5fSopenharmony_ci          }
17173af6ab5fSopenharmony_ci        ],
17183af6ab5fSopenharmony_ci        "loc": {
17193af6ab5fSopenharmony_ci          "start": {
17203af6ab5fSopenharmony_ci            "line": 29,
17213af6ab5fSopenharmony_ci            "column": 12
17223af6ab5fSopenharmony_ci          },
17233af6ab5fSopenharmony_ci          "end": {
17243af6ab5fSopenharmony_ci            "line": 29,
17253af6ab5fSopenharmony_ci            "column": 52
17263af6ab5fSopenharmony_ci          }
17273af6ab5fSopenharmony_ci        }
17283af6ab5fSopenharmony_ci      },
17293af6ab5fSopenharmony_ci      "loc": {
17303af6ab5fSopenharmony_ci        "start": {
17313af6ab5fSopenharmony_ci          "line": 29,
17323af6ab5fSopenharmony_ci          "column": 1
17333af6ab5fSopenharmony_ci        },
17343af6ab5fSopenharmony_ci        "end": {
17353af6ab5fSopenharmony_ci          "line": 32,
17363af6ab5fSopenharmony_ci          "column": 2
17373af6ab5fSopenharmony_ci        }
17383af6ab5fSopenharmony_ci      }
17393af6ab5fSopenharmony_ci    },
17403af6ab5fSopenharmony_ci    {
17413af6ab5fSopenharmony_ci      "type": "TSInterfaceDeclaration",
17423af6ab5fSopenharmony_ci      "body": {
17433af6ab5fSopenharmony_ci        "type": "TSInterfaceBody",
17443af6ab5fSopenharmony_ci        "body": [
17453af6ab5fSopenharmony_ci          {
17463af6ab5fSopenharmony_ci            "type": "TSCallSignatureDeclaration",
17473af6ab5fSopenharmony_ci            "params": [],
17483af6ab5fSopenharmony_ci            "typeParameters": {
17493af6ab5fSopenharmony_ci              "type": "TSTypeParameterDeclaration",
17503af6ab5fSopenharmony_ci              "params": [
17513af6ab5fSopenharmony_ci                {
17523af6ab5fSopenharmony_ci                  "type": "TSTypeParameter",
17533af6ab5fSopenharmony_ci                  "name": {
17543af6ab5fSopenharmony_ci                    "type": "Identifier",
17553af6ab5fSopenharmony_ci                    "name": "A",
17563af6ab5fSopenharmony_ci                    "decorators": [],
17573af6ab5fSopenharmony_ci                    "loc": {
17583af6ab5fSopenharmony_ci                      "start": {
17593af6ab5fSopenharmony_ci                        "line": 35,
17603af6ab5fSopenharmony_ci                        "column": 6
17613af6ab5fSopenharmony_ci                      },
17623af6ab5fSopenharmony_ci                      "end": {
17633af6ab5fSopenharmony_ci                        "line": 35,
17643af6ab5fSopenharmony_ci                        "column": 7
17653af6ab5fSopenharmony_ci                      }
17663af6ab5fSopenharmony_ci                    }
17673af6ab5fSopenharmony_ci                  },
17683af6ab5fSopenharmony_ci                  "loc": {
17693af6ab5fSopenharmony_ci                    "start": {
17703af6ab5fSopenharmony_ci                      "line": 35,
17713af6ab5fSopenharmony_ci                      "column": 6
17723af6ab5fSopenharmony_ci                    },
17733af6ab5fSopenharmony_ci                    "end": {
17743af6ab5fSopenharmony_ci                      "line": 35,
17753af6ab5fSopenharmony_ci                      "column": 8
17763af6ab5fSopenharmony_ci                    }
17773af6ab5fSopenharmony_ci                  }
17783af6ab5fSopenharmony_ci                }
17793af6ab5fSopenharmony_ci              ],
17803af6ab5fSopenharmony_ci              "loc": {
17813af6ab5fSopenharmony_ci                "start": {
17823af6ab5fSopenharmony_ci                  "line": 35,
17833af6ab5fSopenharmony_ci                  "column": 5
17843af6ab5fSopenharmony_ci                },
17853af6ab5fSopenharmony_ci                "end": {
17863af6ab5fSopenharmony_ci                  "line": 35,
17873af6ab5fSopenharmony_ci                  "column": 8
17883af6ab5fSopenharmony_ci                }
17893af6ab5fSopenharmony_ci              }
17903af6ab5fSopenharmony_ci            },
17913af6ab5fSopenharmony_ci            "returnType": {
17923af6ab5fSopenharmony_ci              "type": "TSNumberKeyword",
17933af6ab5fSopenharmony_ci              "loc": {
17943af6ab5fSopenharmony_ci                "start": {
17953af6ab5fSopenharmony_ci                  "line": 35,
17963af6ab5fSopenharmony_ci                  "column": 12
17973af6ab5fSopenharmony_ci                },
17983af6ab5fSopenharmony_ci                "end": {
17993af6ab5fSopenharmony_ci                  "line": 35,
18003af6ab5fSopenharmony_ci                  "column": 18
18013af6ab5fSopenharmony_ci                }
18023af6ab5fSopenharmony_ci              }
18033af6ab5fSopenharmony_ci            },
18043af6ab5fSopenharmony_ci            "loc": {
18053af6ab5fSopenharmony_ci              "start": {
18063af6ab5fSopenharmony_ci                "line": 35,
18073af6ab5fSopenharmony_ci                "column": 5
18083af6ab5fSopenharmony_ci              },
18093af6ab5fSopenharmony_ci              "end": {
18103af6ab5fSopenharmony_ci                "line": 35,
18113af6ab5fSopenharmony_ci                "column": 19
18123af6ab5fSopenharmony_ci              }
18133af6ab5fSopenharmony_ci            }
18143af6ab5fSopenharmony_ci          },
18153af6ab5fSopenharmony_ci          {
18163af6ab5fSopenharmony_ci            "type": "TSMethodSignature",
18173af6ab5fSopenharmony_ci            "computed": false,
18183af6ab5fSopenharmony_ci            "optional": false,
18193af6ab5fSopenharmony_ci            "key": {
18203af6ab5fSopenharmony_ci              "type": "Identifier",
18213af6ab5fSopenharmony_ci              "name": "o",
18223af6ab5fSopenharmony_ci              "decorators": [],
18233af6ab5fSopenharmony_ci              "loc": {
18243af6ab5fSopenharmony_ci                "start": {
18253af6ab5fSopenharmony_ci                  "line": 36,
18263af6ab5fSopenharmony_ci                  "column": 5
18273af6ab5fSopenharmony_ci                },
18283af6ab5fSopenharmony_ci                "end": {
18293af6ab5fSopenharmony_ci                  "line": 36,
18303af6ab5fSopenharmony_ci                  "column": 6
18313af6ab5fSopenharmony_ci                }
18323af6ab5fSopenharmony_ci              }
18333af6ab5fSopenharmony_ci            },
18343af6ab5fSopenharmony_ci            "params": [],
18353af6ab5fSopenharmony_ci            "typeParameters": {
18363af6ab5fSopenharmony_ci              "type": "TSTypeParameterDeclaration",
18373af6ab5fSopenharmony_ci              "params": [
18383af6ab5fSopenharmony_ci                {
18393af6ab5fSopenharmony_ci                  "type": "TSTypeParameter",
18403af6ab5fSopenharmony_ci                  "name": {
18413af6ab5fSopenharmony_ci                    "type": "Identifier",
18423af6ab5fSopenharmony_ci                    "name": "A",
18433af6ab5fSopenharmony_ci                    "decorators": [],
18443af6ab5fSopenharmony_ci                    "loc": {
18453af6ab5fSopenharmony_ci                      "start": {
18463af6ab5fSopenharmony_ci                        "line": 36,
18473af6ab5fSopenharmony_ci                        "column": 7
18483af6ab5fSopenharmony_ci                      },
18493af6ab5fSopenharmony_ci                      "end": {
18503af6ab5fSopenharmony_ci                        "line": 36,
18513af6ab5fSopenharmony_ci                        "column": 8
18523af6ab5fSopenharmony_ci                      }
18533af6ab5fSopenharmony_ci                    }
18543af6ab5fSopenharmony_ci                  },
18553af6ab5fSopenharmony_ci                  "constraint": {
18563af6ab5fSopenharmony_ci                    "type": "TSNumberKeyword",
18573af6ab5fSopenharmony_ci                    "loc": {
18583af6ab5fSopenharmony_ci                      "start": {
18593af6ab5fSopenharmony_ci                        "line": 36,
18603af6ab5fSopenharmony_ci                        "column": 17
18613af6ab5fSopenharmony_ci                      },
18623af6ab5fSopenharmony_ci                      "end": {
18633af6ab5fSopenharmony_ci                        "line": 36,
18643af6ab5fSopenharmony_ci                        "column": 23
18653af6ab5fSopenharmony_ci                      }
18663af6ab5fSopenharmony_ci                    }
18673af6ab5fSopenharmony_ci                  },
18683af6ab5fSopenharmony_ci                  "loc": {
18693af6ab5fSopenharmony_ci                    "start": {
18703af6ab5fSopenharmony_ci                      "line": 36,
18713af6ab5fSopenharmony_ci                      "column": 7
18723af6ab5fSopenharmony_ci                    },
18733af6ab5fSopenharmony_ci                    "end": {
18743af6ab5fSopenharmony_ci                      "line": 36,
18753af6ab5fSopenharmony_ci                      "column": 24
18763af6ab5fSopenharmony_ci                    }
18773af6ab5fSopenharmony_ci                  }
18783af6ab5fSopenharmony_ci                }
18793af6ab5fSopenharmony_ci              ],
18803af6ab5fSopenharmony_ci              "loc": {
18813af6ab5fSopenharmony_ci                "start": {
18823af6ab5fSopenharmony_ci                  "line": 36,
18833af6ab5fSopenharmony_ci                  "column": 6
18843af6ab5fSopenharmony_ci                },
18853af6ab5fSopenharmony_ci                "end": {
18863af6ab5fSopenharmony_ci                  "line": 36,
18873af6ab5fSopenharmony_ci                  "column": 24
18883af6ab5fSopenharmony_ci                }
18893af6ab5fSopenharmony_ci              }
18903af6ab5fSopenharmony_ci            },
18913af6ab5fSopenharmony_ci            "typeAnnotation": {
18923af6ab5fSopenharmony_ci              "type": "TSTupleType",
18933af6ab5fSopenharmony_ci              "elementTypes": [
18943af6ab5fSopenharmony_ci                {
18953af6ab5fSopenharmony_ci                  "type": "TSBooleanKeyword",
18963af6ab5fSopenharmony_ci                  "loc": {
18973af6ab5fSopenharmony_ci                    "start": {
18983af6ab5fSopenharmony_ci                      "line": 36,
18993af6ab5fSopenharmony_ci                      "column": 29
19003af6ab5fSopenharmony_ci                    },
19013af6ab5fSopenharmony_ci                    "end": {
19023af6ab5fSopenharmony_ci                      "line": 36,
19033af6ab5fSopenharmony_ci                      "column": 37
19043af6ab5fSopenharmony_ci                    }
19053af6ab5fSopenharmony_ci                  }
19063af6ab5fSopenharmony_ci                },
19073af6ab5fSopenharmony_ci                {
19083af6ab5fSopenharmony_ci                  "type": "TSArrayType",
19093af6ab5fSopenharmony_ci                  "elementType": {
19103af6ab5fSopenharmony_ci                    "type": "TSNumberKeyword",
19113af6ab5fSopenharmony_ci                    "loc": {
19123af6ab5fSopenharmony_ci                      "start": {
19133af6ab5fSopenharmony_ci                        "line": 36,
19143af6ab5fSopenharmony_ci                        "column": 38
19153af6ab5fSopenharmony_ci                      },
19163af6ab5fSopenharmony_ci                      "end": {
19173af6ab5fSopenharmony_ci                        "line": 36,
19183af6ab5fSopenharmony_ci                        "column": 44
19193af6ab5fSopenharmony_ci                      }
19203af6ab5fSopenharmony_ci                    }
19213af6ab5fSopenharmony_ci                  },
19223af6ab5fSopenharmony_ci                  "loc": {
19233af6ab5fSopenharmony_ci                    "start": {
19243af6ab5fSopenharmony_ci                      "line": 36,
19253af6ab5fSopenharmony_ci                      "column": 38
19263af6ab5fSopenharmony_ci                    },
19273af6ab5fSopenharmony_ci                    "end": {
19283af6ab5fSopenharmony_ci                      "line": 36,
19293af6ab5fSopenharmony_ci                      "column": 47
19303af6ab5fSopenharmony_ci                    }
19313af6ab5fSopenharmony_ci                  }
19323af6ab5fSopenharmony_ci                }
19333af6ab5fSopenharmony_ci              ],
19343af6ab5fSopenharmony_ci              "loc": {
19353af6ab5fSopenharmony_ci                "start": {
19363af6ab5fSopenharmony_ci                  "line": 36,
19373af6ab5fSopenharmony_ci                  "column": 28
19383af6ab5fSopenharmony_ci                },
19393af6ab5fSopenharmony_ci                "end": {
19403af6ab5fSopenharmony_ci                  "line": 36,
19413af6ab5fSopenharmony_ci                  "column": 47
19423af6ab5fSopenharmony_ci                }
19433af6ab5fSopenharmony_ci              }
19443af6ab5fSopenharmony_ci            },
19453af6ab5fSopenharmony_ci            "loc": {
19463af6ab5fSopenharmony_ci              "start": {
19473af6ab5fSopenharmony_ci                "line": 36,
19483af6ab5fSopenharmony_ci                "column": 5
19493af6ab5fSopenharmony_ci              },
19503af6ab5fSopenharmony_ci              "end": {
19513af6ab5fSopenharmony_ci                "line": 36,
19523af6ab5fSopenharmony_ci                "column": 48
19533af6ab5fSopenharmony_ci              }
19543af6ab5fSopenharmony_ci            }
19553af6ab5fSopenharmony_ci          }
19563af6ab5fSopenharmony_ci        ],
19573af6ab5fSopenharmony_ci        "loc": {
19583af6ab5fSopenharmony_ci          "start": {
19593af6ab5fSopenharmony_ci            "line": 34,
19603af6ab5fSopenharmony_ci            "column": 117
19613af6ab5fSopenharmony_ci          },
19623af6ab5fSopenharmony_ci          "end": {
19633af6ab5fSopenharmony_ci            "line": 37,
19643af6ab5fSopenharmony_ci            "column": 2
19653af6ab5fSopenharmony_ci          }
19663af6ab5fSopenharmony_ci        }
19673af6ab5fSopenharmony_ci      },
19683af6ab5fSopenharmony_ci      "id": {
19693af6ab5fSopenharmony_ci        "type": "Identifier",
19703af6ab5fSopenharmony_ci        "name": "U",
19713af6ab5fSopenharmony_ci        "decorators": [],
19723af6ab5fSopenharmony_ci        "loc": {
19733af6ab5fSopenharmony_ci          "start": {
19743af6ab5fSopenharmony_ci            "line": 34,
19753af6ab5fSopenharmony_ci            "column": 11
19763af6ab5fSopenharmony_ci          },
19773af6ab5fSopenharmony_ci          "end": {
19783af6ab5fSopenharmony_ci            "line": 34,
19793af6ab5fSopenharmony_ci            "column": 12
19803af6ab5fSopenharmony_ci          }
19813af6ab5fSopenharmony_ci        }
19823af6ab5fSopenharmony_ci      },
19833af6ab5fSopenharmony_ci      "extends": [
19843af6ab5fSopenharmony_ci        {
19853af6ab5fSopenharmony_ci          "type": "TSInterfaceHeritage",
19863af6ab5fSopenharmony_ci          "expression": {
19873af6ab5fSopenharmony_ci            "type": "TSTypeReference",
19883af6ab5fSopenharmony_ci            "typeName": {
19893af6ab5fSopenharmony_ci              "type": "Identifier",
19903af6ab5fSopenharmony_ci              "name": "R",
19913af6ab5fSopenharmony_ci              "decorators": [],
19923af6ab5fSopenharmony_ci              "loc": {
19933af6ab5fSopenharmony_ci                "start": {
19943af6ab5fSopenharmony_ci                  "line": 34,
19953af6ab5fSopenharmony_ci                  "column": 97
19963af6ab5fSopenharmony_ci                },
19973af6ab5fSopenharmony_ci                "end": {
19983af6ab5fSopenharmony_ci                  "line": 34,
19993af6ab5fSopenharmony_ci                  "column": 98
20003af6ab5fSopenharmony_ci                }
20013af6ab5fSopenharmony_ci              }
20023af6ab5fSopenharmony_ci            },
20033af6ab5fSopenharmony_ci            "typeParameters": {
20043af6ab5fSopenharmony_ci              "type": "TSTypeParameterInstantiation",
20053af6ab5fSopenharmony_ci              "params": [
20063af6ab5fSopenharmony_ci                {
20073af6ab5fSopenharmony_ci                  "type": "TSTupleType",
20083af6ab5fSopenharmony_ci                  "elementTypes": [
20093af6ab5fSopenharmony_ci                    {
20103af6ab5fSopenharmony_ci                      "type": "TSNumberKeyword",
20113af6ab5fSopenharmony_ci                      "loc": {
20123af6ab5fSopenharmony_ci                        "start": {
20133af6ab5fSopenharmony_ci                          "line": 34,
20143af6ab5fSopenharmony_ci                          "column": 100
20153af6ab5fSopenharmony_ci                        },
20163af6ab5fSopenharmony_ci                        "end": {
20173af6ab5fSopenharmony_ci                          "line": 34,
20183af6ab5fSopenharmony_ci                          "column": 107
20193af6ab5fSopenharmony_ci                        }
20203af6ab5fSopenharmony_ci                      }
20213af6ab5fSopenharmony_ci                    },
20223af6ab5fSopenharmony_ci                    {
20233af6ab5fSopenharmony_ci                      "type": "TSStringKeyword",
20243af6ab5fSopenharmony_ci                      "loc": {
20253af6ab5fSopenharmony_ci                        "start": {
20263af6ab5fSopenharmony_ci                          "line": 34,
20273af6ab5fSopenharmony_ci                          "column": 108
20283af6ab5fSopenharmony_ci                        },
20293af6ab5fSopenharmony_ci                        "end": {
20303af6ab5fSopenharmony_ci                          "line": 34,
20313af6ab5fSopenharmony_ci                          "column": 115
20323af6ab5fSopenharmony_ci                        }
20333af6ab5fSopenharmony_ci                      }
20343af6ab5fSopenharmony_ci                    }
20353af6ab5fSopenharmony_ci                  ],
20363af6ab5fSopenharmony_ci                  "loc": {
20373af6ab5fSopenharmony_ci                    "start": {
20383af6ab5fSopenharmony_ci                      "line": 34,
20393af6ab5fSopenharmony_ci                      "column": 99
20403af6ab5fSopenharmony_ci                    },
20413af6ab5fSopenharmony_ci                    "end": {
20423af6ab5fSopenharmony_ci                      "line": 34,
20433af6ab5fSopenharmony_ci                      "column": 115
20443af6ab5fSopenharmony_ci                    }
20453af6ab5fSopenharmony_ci                  }
20463af6ab5fSopenharmony_ci                }
20473af6ab5fSopenharmony_ci              ],
20483af6ab5fSopenharmony_ci              "loc": {
20493af6ab5fSopenharmony_ci                "start": {
20503af6ab5fSopenharmony_ci                  "line": 34,
20513af6ab5fSopenharmony_ci                  "column": 98
20523af6ab5fSopenharmony_ci                },
20533af6ab5fSopenharmony_ci                "end": {
20543af6ab5fSopenharmony_ci                  "line": 34,
20553af6ab5fSopenharmony_ci                  "column": 116
20563af6ab5fSopenharmony_ci                }
20573af6ab5fSopenharmony_ci              }
20583af6ab5fSopenharmony_ci            },
20593af6ab5fSopenharmony_ci            "loc": {
20603af6ab5fSopenharmony_ci              "start": {
20613af6ab5fSopenharmony_ci                "line": 34,
20623af6ab5fSopenharmony_ci                "column": 117
20633af6ab5fSopenharmony_ci              },
20643af6ab5fSopenharmony_ci              "end": {
20653af6ab5fSopenharmony_ci                "line": 34,
20663af6ab5fSopenharmony_ci                "column": 116
20673af6ab5fSopenharmony_ci              }
20683af6ab5fSopenharmony_ci            }
20693af6ab5fSopenharmony_ci          },
20703af6ab5fSopenharmony_ci          "loc": {
20713af6ab5fSopenharmony_ci            "start": {
20723af6ab5fSopenharmony_ci              "line": 34,
20733af6ab5fSopenharmony_ci              "column": 117
20743af6ab5fSopenharmony_ci            },
20753af6ab5fSopenharmony_ci            "end": {
20763af6ab5fSopenharmony_ci              "line": 34,
20773af6ab5fSopenharmony_ci              "column": 116
20783af6ab5fSopenharmony_ci            }
20793af6ab5fSopenharmony_ci          }
20803af6ab5fSopenharmony_ci        }
20813af6ab5fSopenharmony_ci      ],
20823af6ab5fSopenharmony_ci      "typeParameters": {
20833af6ab5fSopenharmony_ci        "type": "TSTypeParameterDeclaration",
20843af6ab5fSopenharmony_ci        "params": [
20853af6ab5fSopenharmony_ci          {
20863af6ab5fSopenharmony_ci            "type": "TSTypeParameter",
20873af6ab5fSopenharmony_ci            "name": {
20883af6ab5fSopenharmony_ci              "type": "Identifier",
20893af6ab5fSopenharmony_ci              "name": "A",
20903af6ab5fSopenharmony_ci              "decorators": [],
20913af6ab5fSopenharmony_ci              "loc": {
20923af6ab5fSopenharmony_ci                "start": {
20933af6ab5fSopenharmony_ci                  "line": 34,
20943af6ab5fSopenharmony_ci                  "column": 13
20953af6ab5fSopenharmony_ci                },
20963af6ab5fSopenharmony_ci                "end": {
20973af6ab5fSopenharmony_ci                  "line": 34,
20983af6ab5fSopenharmony_ci                  "column": 14
20993af6ab5fSopenharmony_ci                }
21003af6ab5fSopenharmony_ci              }
21013af6ab5fSopenharmony_ci            },
21023af6ab5fSopenharmony_ci            "constraint": {
21033af6ab5fSopenharmony_ci              "type": "TSTypeOperator",
21043af6ab5fSopenharmony_ci              "operator": "readonly",
21053af6ab5fSopenharmony_ci              "typeAnnotation": {
21063af6ab5fSopenharmony_ci                "type": "TSTupleType",
21073af6ab5fSopenharmony_ci                "elementTypes": [
21083af6ab5fSopenharmony_ci                  {
21093af6ab5fSopenharmony_ci                    "type": "TSNumberKeyword",
21103af6ab5fSopenharmony_ci                    "loc": {
21113af6ab5fSopenharmony_ci                      "start": {
21123af6ab5fSopenharmony_ci                        "line": 34,
21133af6ab5fSopenharmony_ci                        "column": 33
21143af6ab5fSopenharmony_ci                      },
21153af6ab5fSopenharmony_ci                      "end": {
21163af6ab5fSopenharmony_ci                        "line": 34,
21173af6ab5fSopenharmony_ci                        "column": 40
21183af6ab5fSopenharmony_ci                      }
21193af6ab5fSopenharmony_ci                    }
21203af6ab5fSopenharmony_ci                  },
21213af6ab5fSopenharmony_ci                  {
21223af6ab5fSopenharmony_ci                    "type": "TSNumberKeyword",
21233af6ab5fSopenharmony_ci                    "loc": {
21243af6ab5fSopenharmony_ci                      "start": {
21253af6ab5fSopenharmony_ci                        "line": 34,
21263af6ab5fSopenharmony_ci                        "column": 41
21273af6ab5fSopenharmony_ci                      },
21283af6ab5fSopenharmony_ci                      "end": {
21293af6ab5fSopenharmony_ci                        "line": 34,
21303af6ab5fSopenharmony_ci                        "column": 48
21313af6ab5fSopenharmony_ci                      }
21323af6ab5fSopenharmony_ci                    }
21333af6ab5fSopenharmony_ci                  },
21343af6ab5fSopenharmony_ci                  {
21353af6ab5fSopenharmony_ci                    "type": "TSTypeLiteral",
21363af6ab5fSopenharmony_ci                    "members": [
21373af6ab5fSopenharmony_ci                      {
21383af6ab5fSopenharmony_ci                        "type": "TSPropertySignature",
21393af6ab5fSopenharmony_ci                        "computed": false,
21403af6ab5fSopenharmony_ci                        "optional": false,
21413af6ab5fSopenharmony_ci                        "readonly": false,
21423af6ab5fSopenharmony_ci                        "key": {
21433af6ab5fSopenharmony_ci                          "type": "Identifier",
21443af6ab5fSopenharmony_ci                          "name": "a",
21453af6ab5fSopenharmony_ci                          "decorators": [],
21463af6ab5fSopenharmony_ci                          "loc": {
21473af6ab5fSopenharmony_ci                            "start": {
21483af6ab5fSopenharmony_ci                              "line": 34,
21493af6ab5fSopenharmony_ci                              "column": 51
21503af6ab5fSopenharmony_ci                            },
21513af6ab5fSopenharmony_ci                            "end": {
21523af6ab5fSopenharmony_ci                              "line": 34,
21533af6ab5fSopenharmony_ci                              "column": 52
21543af6ab5fSopenharmony_ci                            }
21553af6ab5fSopenharmony_ci                          }
21563af6ab5fSopenharmony_ci                        },
21573af6ab5fSopenharmony_ci                        "typeAnnotation": {
21583af6ab5fSopenharmony_ci                          "type": "TSNumberKeyword",
21593af6ab5fSopenharmony_ci                          "loc": {
21603af6ab5fSopenharmony_ci                            "start": {
21613af6ab5fSopenharmony_ci                              "line": 34,
21623af6ab5fSopenharmony_ci                              "column": 54
21633af6ab5fSopenharmony_ci                            },
21643af6ab5fSopenharmony_ci                            "end": {
21653af6ab5fSopenharmony_ci                              "line": 34,
21663af6ab5fSopenharmony_ci                              "column": 60
21673af6ab5fSopenharmony_ci                            }
21683af6ab5fSopenharmony_ci                          }
21693af6ab5fSopenharmony_ci                        },
21703af6ab5fSopenharmony_ci                        "loc": {
21713af6ab5fSopenharmony_ci                          "start": {
21723af6ab5fSopenharmony_ci                            "line": 34,
21733af6ab5fSopenharmony_ci                            "column": 51
21743af6ab5fSopenharmony_ci                          },
21753af6ab5fSopenharmony_ci                          "end": {
21763af6ab5fSopenharmony_ci                            "line": 34,
21773af6ab5fSopenharmony_ci                            "column": 61
21783af6ab5fSopenharmony_ci                          }
21793af6ab5fSopenharmony_ci                        }
21803af6ab5fSopenharmony_ci                      },
21813af6ab5fSopenharmony_ci                      {
21823af6ab5fSopenharmony_ci                        "type": "TSPropertySignature",
21833af6ab5fSopenharmony_ci                        "computed": false,
21843af6ab5fSopenharmony_ci                        "optional": false,
21853af6ab5fSopenharmony_ci                        "readonly": false,
21863af6ab5fSopenharmony_ci                        "key": {
21873af6ab5fSopenharmony_ci                          "type": "Identifier",
21883af6ab5fSopenharmony_ci                          "name": "b",
21893af6ab5fSopenharmony_ci                          "decorators": [],
21903af6ab5fSopenharmony_ci                          "loc": {
21913af6ab5fSopenharmony_ci                            "start": {
21923af6ab5fSopenharmony_ci                              "line": 34,
21933af6ab5fSopenharmony_ci                              "column": 62
21943af6ab5fSopenharmony_ci                            },
21953af6ab5fSopenharmony_ci                            "end": {
21963af6ab5fSopenharmony_ci                              "line": 34,
21973af6ab5fSopenharmony_ci                              "column": 63
21983af6ab5fSopenharmony_ci                            }
21993af6ab5fSopenharmony_ci                          }
22003af6ab5fSopenharmony_ci                        },
22013af6ab5fSopenharmony_ci                        "typeAnnotation": {
22023af6ab5fSopenharmony_ci                          "type": "TSStringKeyword",
22033af6ab5fSopenharmony_ci                          "loc": {
22043af6ab5fSopenharmony_ci                            "start": {
22053af6ab5fSopenharmony_ci                              "line": 34,
22063af6ab5fSopenharmony_ci                              "column": 65
22073af6ab5fSopenharmony_ci                            },
22083af6ab5fSopenharmony_ci                            "end": {
22093af6ab5fSopenharmony_ci                              "line": 34,
22103af6ab5fSopenharmony_ci                              "column": 71
22113af6ab5fSopenharmony_ci                            }
22123af6ab5fSopenharmony_ci                          }
22133af6ab5fSopenharmony_ci                        },
22143af6ab5fSopenharmony_ci                        "loc": {
22153af6ab5fSopenharmony_ci                          "start": {
22163af6ab5fSopenharmony_ci                            "line": 34,
22173af6ab5fSopenharmony_ci                            "column": 62
22183af6ab5fSopenharmony_ci                          },
22193af6ab5fSopenharmony_ci                          "end": {
22203af6ab5fSopenharmony_ci                            "line": 34,
22213af6ab5fSopenharmony_ci                            "column": 73
22223af6ab5fSopenharmony_ci                          }
22233af6ab5fSopenharmony_ci                        }
22243af6ab5fSopenharmony_ci                      }
22253af6ab5fSopenharmony_ci                    ],
22263af6ab5fSopenharmony_ci                    "loc": {
22273af6ab5fSopenharmony_ci                      "start": {
22283af6ab5fSopenharmony_ci                        "line": 34,
22293af6ab5fSopenharmony_ci                        "column": 49
22303af6ab5fSopenharmony_ci                      },
22313af6ab5fSopenharmony_ci                      "end": {
22323af6ab5fSopenharmony_ci                        "line": 34,
22333af6ab5fSopenharmony_ci                        "column": 74
22343af6ab5fSopenharmony_ci                      }
22353af6ab5fSopenharmony_ci                    }
22363af6ab5fSopenharmony_ci                  }
22373af6ab5fSopenharmony_ci                ],
22383af6ab5fSopenharmony_ci                "loc": {
22393af6ab5fSopenharmony_ci                  "start": {
22403af6ab5fSopenharmony_ci                    "line": 34,
22413af6ab5fSopenharmony_ci                    "column": 32
22423af6ab5fSopenharmony_ci                  },
22433af6ab5fSopenharmony_ci                  "end": {
22443af6ab5fSopenharmony_ci                    "line": 34,
22453af6ab5fSopenharmony_ci                    "column": 74
22463af6ab5fSopenharmony_ci                  }
22473af6ab5fSopenharmony_ci                }
22483af6ab5fSopenharmony_ci              },
22493af6ab5fSopenharmony_ci              "loc": {
22503af6ab5fSopenharmony_ci                "start": {
22513af6ab5fSopenharmony_ci                  "line": 34,
22523af6ab5fSopenharmony_ci                  "column": 23
22533af6ab5fSopenharmony_ci                },
22543af6ab5fSopenharmony_ci                "end": {
22553af6ab5fSopenharmony_ci                  "line": 34,
22563af6ab5fSopenharmony_ci                  "column": 74
22573af6ab5fSopenharmony_ci                }
22583af6ab5fSopenharmony_ci              }
22593af6ab5fSopenharmony_ci            },
22603af6ab5fSopenharmony_ci            "loc": {
22613af6ab5fSopenharmony_ci              "start": {
22623af6ab5fSopenharmony_ci                "line": 34,
22633af6ab5fSopenharmony_ci                "column": 13
22643af6ab5fSopenharmony_ci              },
22653af6ab5fSopenharmony_ci              "end": {
22663af6ab5fSopenharmony_ci                "line": 34,
22673af6ab5fSopenharmony_ci                "column": 75
22683af6ab5fSopenharmony_ci              }
22693af6ab5fSopenharmony_ci            }
22703af6ab5fSopenharmony_ci          },
22713af6ab5fSopenharmony_ci          {
22723af6ab5fSopenharmony_ci            "type": "TSTypeParameter",
22733af6ab5fSopenharmony_ci            "name": {
22743af6ab5fSopenharmony_ci              "type": "Identifier",
22753af6ab5fSopenharmony_ci              "name": "Z",
22763af6ab5fSopenharmony_ci              "decorators": [],
22773af6ab5fSopenharmony_ci              "loc": {
22783af6ab5fSopenharmony_ci                "start": {
22793af6ab5fSopenharmony_ci                  "line": 34,
22803af6ab5fSopenharmony_ci                  "column": 76
22813af6ab5fSopenharmony_ci                },
22823af6ab5fSopenharmony_ci                "end": {
22833af6ab5fSopenharmony_ci                  "line": 34,
22843af6ab5fSopenharmony_ci                  "column": 77
22853af6ab5fSopenharmony_ci                }
22863af6ab5fSopenharmony_ci              }
22873af6ab5fSopenharmony_ci            },
22883af6ab5fSopenharmony_ci            "default": {
22893af6ab5fSopenharmony_ci              "type": "TSBooleanKeyword",
22903af6ab5fSopenharmony_ci              "loc": {
22913af6ab5fSopenharmony_ci                "start": {
22923af6ab5fSopenharmony_ci                  "line": 34,
22933af6ab5fSopenharmony_ci                  "column": 80
22943af6ab5fSopenharmony_ci                },
22953af6ab5fSopenharmony_ci                "end": {
22963af6ab5fSopenharmony_ci                  "line": 34,
22973af6ab5fSopenharmony_ci                  "column": 87
22983af6ab5fSopenharmony_ci                }
22993af6ab5fSopenharmony_ci              }
23003af6ab5fSopenharmony_ci            },
23013af6ab5fSopenharmony_ci            "loc": {
23023af6ab5fSopenharmony_ci              "start": {
23033af6ab5fSopenharmony_ci                "line": 34,
23043af6ab5fSopenharmony_ci                "column": 76
23053af6ab5fSopenharmony_ci              },
23063af6ab5fSopenharmony_ci              "end": {
23073af6ab5fSopenharmony_ci                "line": 34,
23083af6ab5fSopenharmony_ci                "column": 88
23093af6ab5fSopenharmony_ci              }
23103af6ab5fSopenharmony_ci            }
23113af6ab5fSopenharmony_ci          }
23123af6ab5fSopenharmony_ci        ],
23133af6ab5fSopenharmony_ci        "loc": {
23143af6ab5fSopenharmony_ci          "start": {
23153af6ab5fSopenharmony_ci            "line": 34,
23163af6ab5fSopenharmony_ci            "column": 12
23173af6ab5fSopenharmony_ci          },
23183af6ab5fSopenharmony_ci          "end": {
23193af6ab5fSopenharmony_ci            "line": 34,
23203af6ab5fSopenharmony_ci            "column": 88
23213af6ab5fSopenharmony_ci          }
23223af6ab5fSopenharmony_ci        }
23233af6ab5fSopenharmony_ci      },
23243af6ab5fSopenharmony_ci      "loc": {
23253af6ab5fSopenharmony_ci        "start": {
23263af6ab5fSopenharmony_ci          "line": 34,
23273af6ab5fSopenharmony_ci          "column": 1
23283af6ab5fSopenharmony_ci        },
23293af6ab5fSopenharmony_ci        "end": {
23303af6ab5fSopenharmony_ci          "line": 37,
23313af6ab5fSopenharmony_ci          "column": 2
23323af6ab5fSopenharmony_ci        }
23333af6ab5fSopenharmony_ci      }
23343af6ab5fSopenharmony_ci    },
23353af6ab5fSopenharmony_ci    {
23363af6ab5fSopenharmony_ci      "type": "ExpressionStatement",
23373af6ab5fSopenharmony_ci      "expression": {
23383af6ab5fSopenharmony_ci        "type": "CallExpression",
23393af6ab5fSopenharmony_ci        "callee": {
23403af6ab5fSopenharmony_ci          "type": "Identifier",
23413af6ab5fSopenharmony_ci          "name": "func1",
23423af6ab5fSopenharmony_ci          "decorators": [],
23433af6ab5fSopenharmony_ci          "loc": {
23443af6ab5fSopenharmony_ci            "start": {
23453af6ab5fSopenharmony_ci              "line": 39,
23463af6ab5fSopenharmony_ci              "column": 1
23473af6ab5fSopenharmony_ci            },
23483af6ab5fSopenharmony_ci            "end": {
23493af6ab5fSopenharmony_ci              "line": 39,
23503af6ab5fSopenharmony_ci              "column": 6
23513af6ab5fSopenharmony_ci            }
23523af6ab5fSopenharmony_ci          }
23533af6ab5fSopenharmony_ci        },
23543af6ab5fSopenharmony_ci        "arguments": [],
23553af6ab5fSopenharmony_ci        "optional": false,
23563af6ab5fSopenharmony_ci        "typeParameters": {
23573af6ab5fSopenharmony_ci          "type": "TSTypeParameterInstantiation",
23583af6ab5fSopenharmony_ci          "params": [
23593af6ab5fSopenharmony_ci            {
23603af6ab5fSopenharmony_ci              "type": "TSNumberKeyword",
23613af6ab5fSopenharmony_ci              "loc": {
23623af6ab5fSopenharmony_ci                "start": {
23633af6ab5fSopenharmony_ci                  "line": 39,
23643af6ab5fSopenharmony_ci                  "column": 7
23653af6ab5fSopenharmony_ci                },
23663af6ab5fSopenharmony_ci                "end": {
23673af6ab5fSopenharmony_ci                  "line": 39,
23683af6ab5fSopenharmony_ci                  "column": 13
23693af6ab5fSopenharmony_ci                }
23703af6ab5fSopenharmony_ci              }
23713af6ab5fSopenharmony_ci            },
23723af6ab5fSopenharmony_ci            {
23733af6ab5fSopenharmony_ci              "type": "TSStringKeyword",
23743af6ab5fSopenharmony_ci              "loc": {
23753af6ab5fSopenharmony_ci                "start": {
23763af6ab5fSopenharmony_ci                  "line": 39,
23773af6ab5fSopenharmony_ci                  "column": 15
23783af6ab5fSopenharmony_ci                },
23793af6ab5fSopenharmony_ci                "end": {
23803af6ab5fSopenharmony_ci                  "line": 39,
23813af6ab5fSopenharmony_ci                  "column": 21
23823af6ab5fSopenharmony_ci                }
23833af6ab5fSopenharmony_ci              }
23843af6ab5fSopenharmony_ci            },
23853af6ab5fSopenharmony_ci            {
23863af6ab5fSopenharmony_ci              "type": "TSTupleType",
23873af6ab5fSopenharmony_ci              "elementTypes": [
23883af6ab5fSopenharmony_ci                {
23893af6ab5fSopenharmony_ci                  "type": "TSLiteralType",
23903af6ab5fSopenharmony_ci                  "literal": {
23913af6ab5fSopenharmony_ci                    "type": "NumberLiteral",
23923af6ab5fSopenharmony_ci                    "value": 1,
23933af6ab5fSopenharmony_ci                    "loc": {
23943af6ab5fSopenharmony_ci                      "start": {
23953af6ab5fSopenharmony_ci                        "line": 39,
23963af6ab5fSopenharmony_ci                        "column": 24
23973af6ab5fSopenharmony_ci                      },
23983af6ab5fSopenharmony_ci                      "end": {
23993af6ab5fSopenharmony_ci                        "line": 39,
24003af6ab5fSopenharmony_ci                        "column": 25
24013af6ab5fSopenharmony_ci                      }
24023af6ab5fSopenharmony_ci                    }
24033af6ab5fSopenharmony_ci                  },
24043af6ab5fSopenharmony_ci                  "loc": {
24053af6ab5fSopenharmony_ci                    "start": {
24063af6ab5fSopenharmony_ci                      "line": 39,
24073af6ab5fSopenharmony_ci                      "column": 24
24083af6ab5fSopenharmony_ci                    },
24093af6ab5fSopenharmony_ci                    "end": {
24103af6ab5fSopenharmony_ci                      "line": 39,
24113af6ab5fSopenharmony_ci                      "column": 26
24123af6ab5fSopenharmony_ci                    }
24133af6ab5fSopenharmony_ci                  }
24143af6ab5fSopenharmony_ci                },
24153af6ab5fSopenharmony_ci                {
24163af6ab5fSopenharmony_ci                  "type": "TSLiteralType",
24173af6ab5fSopenharmony_ci                  "literal": {
24183af6ab5fSopenharmony_ci                    "type": "NumberLiteral",
24193af6ab5fSopenharmony_ci                    "value": 2,
24203af6ab5fSopenharmony_ci                    "loc": {
24213af6ab5fSopenharmony_ci                      "start": {
24223af6ab5fSopenharmony_ci                        "line": 39,
24233af6ab5fSopenharmony_ci                        "column": 27
24243af6ab5fSopenharmony_ci                      },
24253af6ab5fSopenharmony_ci                      "end": {
24263af6ab5fSopenharmony_ci                        "line": 39,
24273af6ab5fSopenharmony_ci                        "column": 28
24283af6ab5fSopenharmony_ci                      }
24293af6ab5fSopenharmony_ci                    }
24303af6ab5fSopenharmony_ci                  },
24313af6ab5fSopenharmony_ci                  "loc": {
24323af6ab5fSopenharmony_ci                    "start": {
24333af6ab5fSopenharmony_ci                      "line": 39,
24343af6ab5fSopenharmony_ci                      "column": 27
24353af6ab5fSopenharmony_ci                    },
24363af6ab5fSopenharmony_ci                    "end": {
24373af6ab5fSopenharmony_ci                      "line": 39,
24383af6ab5fSopenharmony_ci                      "column": 29
24393af6ab5fSopenharmony_ci                    }
24403af6ab5fSopenharmony_ci                  }
24413af6ab5fSopenharmony_ci                },
24423af6ab5fSopenharmony_ci                {
24433af6ab5fSopenharmony_ci                  "type": "TSLiteralType",
24443af6ab5fSopenharmony_ci                  "literal": {
24453af6ab5fSopenharmony_ci                    "type": "NumberLiteral",
24463af6ab5fSopenharmony_ci                    "value": 3,
24473af6ab5fSopenharmony_ci                    "loc": {
24483af6ab5fSopenharmony_ci                      "start": {
24493af6ab5fSopenharmony_ci                        "line": 39,
24503af6ab5fSopenharmony_ci                        "column": 30
24513af6ab5fSopenharmony_ci                      },
24523af6ab5fSopenharmony_ci                      "end": {
24533af6ab5fSopenharmony_ci                        "line": 39,
24543af6ab5fSopenharmony_ci                        "column": 31
24553af6ab5fSopenharmony_ci                      }
24563af6ab5fSopenharmony_ci                    }
24573af6ab5fSopenharmony_ci                  },
24583af6ab5fSopenharmony_ci                  "loc": {
24593af6ab5fSopenharmony_ci                    "start": {
24603af6ab5fSopenharmony_ci                      "line": 39,
24613af6ab5fSopenharmony_ci                      "column": 30
24623af6ab5fSopenharmony_ci                    },
24633af6ab5fSopenharmony_ci                    "end": {
24643af6ab5fSopenharmony_ci                      "line": 39,
24653af6ab5fSopenharmony_ci                      "column": 32
24663af6ab5fSopenharmony_ci                    }
24673af6ab5fSopenharmony_ci                  }
24683af6ab5fSopenharmony_ci                }
24693af6ab5fSopenharmony_ci              ],
24703af6ab5fSopenharmony_ci              "loc": {
24713af6ab5fSopenharmony_ci                "start": {
24723af6ab5fSopenharmony_ci                  "line": 39,
24733af6ab5fSopenharmony_ci                  "column": 23
24743af6ab5fSopenharmony_ci                },
24753af6ab5fSopenharmony_ci                "end": {
24763af6ab5fSopenharmony_ci                  "line": 39,
24773af6ab5fSopenharmony_ci                  "column": 32
24783af6ab5fSopenharmony_ci                }
24793af6ab5fSopenharmony_ci              }
24803af6ab5fSopenharmony_ci            }
24813af6ab5fSopenharmony_ci          ],
24823af6ab5fSopenharmony_ci          "loc": {
24833af6ab5fSopenharmony_ci            "start": {
24843af6ab5fSopenharmony_ci              "line": 39,
24853af6ab5fSopenharmony_ci              "column": 6
24863af6ab5fSopenharmony_ci            },
24873af6ab5fSopenharmony_ci            "end": {
24883af6ab5fSopenharmony_ci              "line": 39,
24893af6ab5fSopenharmony_ci              "column": 33
24903af6ab5fSopenharmony_ci            }
24913af6ab5fSopenharmony_ci          }
24923af6ab5fSopenharmony_ci        },
24933af6ab5fSopenharmony_ci        "loc": {
24943af6ab5fSopenharmony_ci          "start": {
24953af6ab5fSopenharmony_ci            "line": 39,
24963af6ab5fSopenharmony_ci            "column": 1
24973af6ab5fSopenharmony_ci          },
24983af6ab5fSopenharmony_ci          "end": {
24993af6ab5fSopenharmony_ci            "line": 39,
25003af6ab5fSopenharmony_ci            "column": 35
25013af6ab5fSopenharmony_ci          }
25023af6ab5fSopenharmony_ci        }
25033af6ab5fSopenharmony_ci      },
25043af6ab5fSopenharmony_ci      "loc": {
25053af6ab5fSopenharmony_ci        "start": {
25063af6ab5fSopenharmony_ci          "line": 39,
25073af6ab5fSopenharmony_ci          "column": 1
25083af6ab5fSopenharmony_ci        },
25093af6ab5fSopenharmony_ci        "end": {
25103af6ab5fSopenharmony_ci          "line": 39,
25113af6ab5fSopenharmony_ci          "column": 35
25123af6ab5fSopenharmony_ci        }
25133af6ab5fSopenharmony_ci      }
25143af6ab5fSopenharmony_ci    },
25153af6ab5fSopenharmony_ci    {
25163af6ab5fSopenharmony_ci      "type": "ExpressionStatement",
25173af6ab5fSopenharmony_ci      "expression": {
25183af6ab5fSopenharmony_ci        "type": "CallExpression",
25193af6ab5fSopenharmony_ci        "callee": {
25203af6ab5fSopenharmony_ci          "type": "Identifier",
25213af6ab5fSopenharmony_ci          "name": "func2",
25223af6ab5fSopenharmony_ci          "decorators": [],
25233af6ab5fSopenharmony_ci          "loc": {
25243af6ab5fSopenharmony_ci            "start": {
25253af6ab5fSopenharmony_ci              "line": 40,
25263af6ab5fSopenharmony_ci              "column": 1
25273af6ab5fSopenharmony_ci            },
25283af6ab5fSopenharmony_ci            "end": {
25293af6ab5fSopenharmony_ci              "line": 40,
25303af6ab5fSopenharmony_ci              "column": 6
25313af6ab5fSopenharmony_ci            }
25323af6ab5fSopenharmony_ci          }
25333af6ab5fSopenharmony_ci        },
25343af6ab5fSopenharmony_ci        "arguments": [],
25353af6ab5fSopenharmony_ci        "optional": false,
25363af6ab5fSopenharmony_ci        "typeParameters": {
25373af6ab5fSopenharmony_ci          "type": "TSTypeParameterInstantiation",
25383af6ab5fSopenharmony_ci          "params": [
25393af6ab5fSopenharmony_ci            {
25403af6ab5fSopenharmony_ci              "type": "TSFunctionType",
25413af6ab5fSopenharmony_ci              "params": [],
25423af6ab5fSopenharmony_ci              "typeParameters": {
25433af6ab5fSopenharmony_ci                "type": "TSTypeParameterDeclaration",
25443af6ab5fSopenharmony_ci                "params": [
25453af6ab5fSopenharmony_ci                  {
25463af6ab5fSopenharmony_ci                    "type": "TSTypeParameter",
25473af6ab5fSopenharmony_ci                    "name": {
25483af6ab5fSopenharmony_ci                      "type": "Identifier",
25493af6ab5fSopenharmony_ci                      "name": "A",
25503af6ab5fSopenharmony_ci                      "decorators": [],
25513af6ab5fSopenharmony_ci                      "loc": {
25523af6ab5fSopenharmony_ci                        "start": {
25533af6ab5fSopenharmony_ci                          "line": 40,
25543af6ab5fSopenharmony_ci                          "column": 8
25553af6ab5fSopenharmony_ci                        },
25563af6ab5fSopenharmony_ci                        "end": {
25573af6ab5fSopenharmony_ci                          "line": 40,
25583af6ab5fSopenharmony_ci                          "column": 9
25593af6ab5fSopenharmony_ci                        }
25603af6ab5fSopenharmony_ci                      }
25613af6ab5fSopenharmony_ci                    },
25623af6ab5fSopenharmony_ci                    "loc": {
25633af6ab5fSopenharmony_ci                      "start": {
25643af6ab5fSopenharmony_ci                        "line": 40,
25653af6ab5fSopenharmony_ci                        "column": 8
25663af6ab5fSopenharmony_ci                      },
25673af6ab5fSopenharmony_ci                      "end": {
25683af6ab5fSopenharmony_ci                        "line": 40,
25693af6ab5fSopenharmony_ci                        "column": 10
25703af6ab5fSopenharmony_ci                      }
25713af6ab5fSopenharmony_ci                    }
25723af6ab5fSopenharmony_ci                  }
25733af6ab5fSopenharmony_ci                ],
25743af6ab5fSopenharmony_ci                "loc": {
25753af6ab5fSopenharmony_ci                  "start": {
25763af6ab5fSopenharmony_ci                    "line": 40,
25773af6ab5fSopenharmony_ci                    "column": 7
25783af6ab5fSopenharmony_ci                  },
25793af6ab5fSopenharmony_ci                  "end": {
25803af6ab5fSopenharmony_ci                    "line": 40,
25813af6ab5fSopenharmony_ci                    "column": 10
25823af6ab5fSopenharmony_ci                  }
25833af6ab5fSopenharmony_ci                }
25843af6ab5fSopenharmony_ci              },
25853af6ab5fSopenharmony_ci              "returnType": {
25863af6ab5fSopenharmony_ci                "type": "TSTypeLiteral",
25873af6ab5fSopenharmony_ci                "members": [],
25883af6ab5fSopenharmony_ci                "loc": {
25893af6ab5fSopenharmony_ci                  "start": {
25903af6ab5fSopenharmony_ci                    "line": 40,
25913af6ab5fSopenharmony_ci                    "column": 16
25923af6ab5fSopenharmony_ci                  },
25933af6ab5fSopenharmony_ci                  "end": {
25943af6ab5fSopenharmony_ci                    "line": 40,
25953af6ab5fSopenharmony_ci                    "column": 18
25963af6ab5fSopenharmony_ci                  }
25973af6ab5fSopenharmony_ci                }
25983af6ab5fSopenharmony_ci              },
25993af6ab5fSopenharmony_ci              "loc": {
26003af6ab5fSopenharmony_ci                "start": {
26013af6ab5fSopenharmony_ci                  "line": 40,
26023af6ab5fSopenharmony_ci                  "column": 7
26033af6ab5fSopenharmony_ci                },
26043af6ab5fSopenharmony_ci                "end": {
26053af6ab5fSopenharmony_ci                  "line": 40,
26063af6ab5fSopenharmony_ci                  "column": 18
26073af6ab5fSopenharmony_ci                }
26083af6ab5fSopenharmony_ci              }
26093af6ab5fSopenharmony_ci            }
26103af6ab5fSopenharmony_ci          ],
26113af6ab5fSopenharmony_ci          "loc": {
26123af6ab5fSopenharmony_ci            "start": {
26133af6ab5fSopenharmony_ci              "line": 40,
26143af6ab5fSopenharmony_ci              "column": 6
26153af6ab5fSopenharmony_ci            },
26163af6ab5fSopenharmony_ci            "end": {
26173af6ab5fSopenharmony_ci              "line": 40,
26183af6ab5fSopenharmony_ci              "column": 19
26193af6ab5fSopenharmony_ci            }
26203af6ab5fSopenharmony_ci          }
26213af6ab5fSopenharmony_ci        },
26223af6ab5fSopenharmony_ci        "loc": {
26233af6ab5fSopenharmony_ci          "start": {
26243af6ab5fSopenharmony_ci            "line": 40,
26253af6ab5fSopenharmony_ci            "column": 1
26263af6ab5fSopenharmony_ci          },
26273af6ab5fSopenharmony_ci          "end": {
26283af6ab5fSopenharmony_ci            "line": 40,
26293af6ab5fSopenharmony_ci            "column": 21
26303af6ab5fSopenharmony_ci          }
26313af6ab5fSopenharmony_ci        }
26323af6ab5fSopenharmony_ci      },
26333af6ab5fSopenharmony_ci      "loc": {
26343af6ab5fSopenharmony_ci        "start": {
26353af6ab5fSopenharmony_ci          "line": 40,
26363af6ab5fSopenharmony_ci          "column": 1
26373af6ab5fSopenharmony_ci        },
26383af6ab5fSopenharmony_ci        "end": {
26393af6ab5fSopenharmony_ci          "line": 40,
26403af6ab5fSopenharmony_ci          "column": 22
26413af6ab5fSopenharmony_ci        }
26423af6ab5fSopenharmony_ci      }
26433af6ab5fSopenharmony_ci    },
26443af6ab5fSopenharmony_ci    {
26453af6ab5fSopenharmony_ci      "type": "VariableDeclaration",
26463af6ab5fSopenharmony_ci      "declarations": [
26473af6ab5fSopenharmony_ci        {
26483af6ab5fSopenharmony_ci          "type": "VariableDeclarator",
26493af6ab5fSopenharmony_ci          "id": {
26503af6ab5fSopenharmony_ci            "type": "Identifier",
26513af6ab5fSopenharmony_ci            "name": "o",
26523af6ab5fSopenharmony_ci            "decorators": [],
26533af6ab5fSopenharmony_ci            "loc": {
26543af6ab5fSopenharmony_ci              "start": {
26553af6ab5fSopenharmony_ci                "line": 42,
26563af6ab5fSopenharmony_ci                "column": 5
26573af6ab5fSopenharmony_ci              },
26583af6ab5fSopenharmony_ci              "end": {
26593af6ab5fSopenharmony_ci                "line": 42,
26603af6ab5fSopenharmony_ci                "column": 6
26613af6ab5fSopenharmony_ci              }
26623af6ab5fSopenharmony_ci            }
26633af6ab5fSopenharmony_ci          },
26643af6ab5fSopenharmony_ci          "init": {
26653af6ab5fSopenharmony_ci            "type": "ObjectExpression",
26663af6ab5fSopenharmony_ci            "properties": [
26673af6ab5fSopenharmony_ci              {
26683af6ab5fSopenharmony_ci                "type": "Property",
26693af6ab5fSopenharmony_ci                "method": false,
26703af6ab5fSopenharmony_ci                "shorthand": false,
26713af6ab5fSopenharmony_ci                "computed": false,
26723af6ab5fSopenharmony_ci                "key": {
26733af6ab5fSopenharmony_ci                  "type": "Identifier",
26743af6ab5fSopenharmony_ci                  "name": "a",
26753af6ab5fSopenharmony_ci                  "decorators": [],
26763af6ab5fSopenharmony_ci                  "loc": {
26773af6ab5fSopenharmony_ci                    "start": {
26783af6ab5fSopenharmony_ci                      "line": 43,
26793af6ab5fSopenharmony_ci                      "column": 5
26803af6ab5fSopenharmony_ci                    },
26813af6ab5fSopenharmony_ci                    "end": {
26823af6ab5fSopenharmony_ci                      "line": 43,
26833af6ab5fSopenharmony_ci                      "column": 6
26843af6ab5fSopenharmony_ci                    }
26853af6ab5fSopenharmony_ci                  }
26863af6ab5fSopenharmony_ci                },
26873af6ab5fSopenharmony_ci                "value": {
26883af6ab5fSopenharmony_ci                  "type": "FunctionExpression",
26893af6ab5fSopenharmony_ci                  "function": {
26903af6ab5fSopenharmony_ci                    "type": "ScriptFunction",
26913af6ab5fSopenharmony_ci                    "id": null,
26923af6ab5fSopenharmony_ci                    "generator": false,
26933af6ab5fSopenharmony_ci                    "async": false,
26943af6ab5fSopenharmony_ci                    "expression": false,
26953af6ab5fSopenharmony_ci                    "params": [],
26963af6ab5fSopenharmony_ci                    "typeParameters": {
26973af6ab5fSopenharmony_ci                      "type": "TSTypeParameterDeclaration",
26983af6ab5fSopenharmony_ci                      "params": [
26993af6ab5fSopenharmony_ci                        {
27003af6ab5fSopenharmony_ci                          "type": "TSTypeParameter",
27013af6ab5fSopenharmony_ci                          "name": {
27023af6ab5fSopenharmony_ci                            "type": "Identifier",
27033af6ab5fSopenharmony_ci                            "name": "B",
27043af6ab5fSopenharmony_ci                            "decorators": [],
27053af6ab5fSopenharmony_ci                            "loc": {
27063af6ab5fSopenharmony_ci                              "start": {
27073af6ab5fSopenharmony_ci                                "line": 43,
27083af6ab5fSopenharmony_ci                                "column": 18
27093af6ab5fSopenharmony_ci                              },
27103af6ab5fSopenharmony_ci                              "end": {
27113af6ab5fSopenharmony_ci                                "line": 43,
27123af6ab5fSopenharmony_ci                                "column": 19
27133af6ab5fSopenharmony_ci                              }
27143af6ab5fSopenharmony_ci                            }
27153af6ab5fSopenharmony_ci                          },
27163af6ab5fSopenharmony_ci                          "loc": {
27173af6ab5fSopenharmony_ci                            "start": {
27183af6ab5fSopenharmony_ci                              "line": 43,
27193af6ab5fSopenharmony_ci                              "column": 18
27203af6ab5fSopenharmony_ci                            },
27213af6ab5fSopenharmony_ci                            "end": {
27223af6ab5fSopenharmony_ci                              "line": 43,
27233af6ab5fSopenharmony_ci                              "column": 20
27243af6ab5fSopenharmony_ci                            }
27253af6ab5fSopenharmony_ci                          }
27263af6ab5fSopenharmony_ci                        },
27273af6ab5fSopenharmony_ci                        {
27283af6ab5fSopenharmony_ci                          "type": "TSTypeParameter",
27293af6ab5fSopenharmony_ci                          "name": {
27303af6ab5fSopenharmony_ci                            "type": "Identifier",
27313af6ab5fSopenharmony_ci                            "name": "C",
27323af6ab5fSopenharmony_ci                            "decorators": [],
27333af6ab5fSopenharmony_ci                            "loc": {
27343af6ab5fSopenharmony_ci                              "start": {
27353af6ab5fSopenharmony_ci                                "line": 43,
27363af6ab5fSopenharmony_ci                                "column": 21
27373af6ab5fSopenharmony_ci                              },
27383af6ab5fSopenharmony_ci                              "end": {
27393af6ab5fSopenharmony_ci                                "line": 43,
27403af6ab5fSopenharmony_ci                                "column": 22
27413af6ab5fSopenharmony_ci                              }
27423af6ab5fSopenharmony_ci                            }
27433af6ab5fSopenharmony_ci                          },
27443af6ab5fSopenharmony_ci                          "constraint": {
27453af6ab5fSopenharmony_ci                            "type": "TSTypeQuery",
27463af6ab5fSopenharmony_ci                            "exprName": {
27473af6ab5fSopenharmony_ci                              "type": "Identifier",
27483af6ab5fSopenharmony_ci                              "name": "func1",
27493af6ab5fSopenharmony_ci                              "decorators": [],
27503af6ab5fSopenharmony_ci                              "loc": {
27513af6ab5fSopenharmony_ci                                "start": {
27523af6ab5fSopenharmony_ci                                  "line": 43,
27533af6ab5fSopenharmony_ci                                  "column": 38
27543af6ab5fSopenharmony_ci                                },
27553af6ab5fSopenharmony_ci                                "end": {
27563af6ab5fSopenharmony_ci                                  "line": 43,
27573af6ab5fSopenharmony_ci                                  "column": 43
27583af6ab5fSopenharmony_ci                                }
27593af6ab5fSopenharmony_ci                              }
27603af6ab5fSopenharmony_ci                            },
27613af6ab5fSopenharmony_ci                            "loc": {
27623af6ab5fSopenharmony_ci                              "start": {
27633af6ab5fSopenharmony_ci                                "line": 43,
27643af6ab5fSopenharmony_ci                                "column": 31
27653af6ab5fSopenharmony_ci                              },
27663af6ab5fSopenharmony_ci                              "end": {
27673af6ab5fSopenharmony_ci                                "line": 43,
27683af6ab5fSopenharmony_ci                                "column": 43
27693af6ab5fSopenharmony_ci                              }
27703af6ab5fSopenharmony_ci                            }
27713af6ab5fSopenharmony_ci                          },
27723af6ab5fSopenharmony_ci                          "loc": {
27733af6ab5fSopenharmony_ci                            "start": {
27743af6ab5fSopenharmony_ci                              "line": 43,
27753af6ab5fSopenharmony_ci                              "column": 21
27763af6ab5fSopenharmony_ci                            },
27773af6ab5fSopenharmony_ci                            "end": {
27783af6ab5fSopenharmony_ci                              "line": 43,
27793af6ab5fSopenharmony_ci                              "column": 44
27803af6ab5fSopenharmony_ci                            }
27813af6ab5fSopenharmony_ci                          }
27823af6ab5fSopenharmony_ci                        }
27833af6ab5fSopenharmony_ci                      ],
27843af6ab5fSopenharmony_ci                      "loc": {
27853af6ab5fSopenharmony_ci                        "start": {
27863af6ab5fSopenharmony_ci                          "line": 43,
27873af6ab5fSopenharmony_ci                          "column": 17
27883af6ab5fSopenharmony_ci                        },
27893af6ab5fSopenharmony_ci                        "end": {
27903af6ab5fSopenharmony_ci                          "line": 43,
27913af6ab5fSopenharmony_ci                          "column": 44
27923af6ab5fSopenharmony_ci                        }
27933af6ab5fSopenharmony_ci                      }
27943af6ab5fSopenharmony_ci                    },
27953af6ab5fSopenharmony_ci                    "body": {
27963af6ab5fSopenharmony_ci                      "type": "BlockStatement",
27973af6ab5fSopenharmony_ci                      "statements": [],
27983af6ab5fSopenharmony_ci                      "loc": {
27993af6ab5fSopenharmony_ci                        "start": {
28003af6ab5fSopenharmony_ci                          "line": 43,
28013af6ab5fSopenharmony_ci                          "column": 47
28023af6ab5fSopenharmony_ci                        },
28033af6ab5fSopenharmony_ci                        "end": {
28043af6ab5fSopenharmony_ci                          "line": 43,
28053af6ab5fSopenharmony_ci                          "column": 50
28063af6ab5fSopenharmony_ci                        }
28073af6ab5fSopenharmony_ci                      }
28083af6ab5fSopenharmony_ci                    },
28093af6ab5fSopenharmony_ci                    "loc": {
28103af6ab5fSopenharmony_ci                      "start": {
28113af6ab5fSopenharmony_ci                        "line": 43,
28123af6ab5fSopenharmony_ci                        "column": 8
28133af6ab5fSopenharmony_ci                      },
28143af6ab5fSopenharmony_ci                      "end": {
28153af6ab5fSopenharmony_ci                        "line": 43,
28163af6ab5fSopenharmony_ci                        "column": 50
28173af6ab5fSopenharmony_ci                      }
28183af6ab5fSopenharmony_ci                    }
28193af6ab5fSopenharmony_ci                  },
28203af6ab5fSopenharmony_ci                  "loc": {
28213af6ab5fSopenharmony_ci                    "start": {
28223af6ab5fSopenharmony_ci                      "line": 43,
28233af6ab5fSopenharmony_ci                      "column": 8
28243af6ab5fSopenharmony_ci                    },
28253af6ab5fSopenharmony_ci                    "end": {
28263af6ab5fSopenharmony_ci                      "line": 43,
28273af6ab5fSopenharmony_ci                      "column": 50
28283af6ab5fSopenharmony_ci                    }
28293af6ab5fSopenharmony_ci                  }
28303af6ab5fSopenharmony_ci                },
28313af6ab5fSopenharmony_ci                "kind": "init",
28323af6ab5fSopenharmony_ci                "loc": {
28333af6ab5fSopenharmony_ci                  "start": {
28343af6ab5fSopenharmony_ci                    "line": 43,
28353af6ab5fSopenharmony_ci                    "column": 5
28363af6ab5fSopenharmony_ci                  },
28373af6ab5fSopenharmony_ci                  "end": {
28383af6ab5fSopenharmony_ci                    "line": 43,
28393af6ab5fSopenharmony_ci                    "column": 50
28403af6ab5fSopenharmony_ci                  }
28413af6ab5fSopenharmony_ci                }
28423af6ab5fSopenharmony_ci              },
28433af6ab5fSopenharmony_ci              {
28443af6ab5fSopenharmony_ci                "type": "Property",
28453af6ab5fSopenharmony_ci                "method": false,
28463af6ab5fSopenharmony_ci                "shorthand": false,
28473af6ab5fSopenharmony_ci                "computed": false,
28483af6ab5fSopenharmony_ci                "key": {
28493af6ab5fSopenharmony_ci                  "type": "Identifier",
28503af6ab5fSopenharmony_ci                  "name": "b",
28513af6ab5fSopenharmony_ci                  "decorators": [],
28523af6ab5fSopenharmony_ci                  "loc": {
28533af6ab5fSopenharmony_ci                    "start": {
28543af6ab5fSopenharmony_ci                      "line": 44,
28553af6ab5fSopenharmony_ci                      "column": 5
28563af6ab5fSopenharmony_ci                    },
28573af6ab5fSopenharmony_ci                    "end": {
28583af6ab5fSopenharmony_ci                      "line": 44,
28593af6ab5fSopenharmony_ci                      "column": 6
28603af6ab5fSopenharmony_ci                    }
28613af6ab5fSopenharmony_ci                  }
28623af6ab5fSopenharmony_ci                },
28633af6ab5fSopenharmony_ci                "value": {
28643af6ab5fSopenharmony_ci                  "type": "FunctionExpression",
28653af6ab5fSopenharmony_ci                  "function": {
28663af6ab5fSopenharmony_ci                    "type": "ScriptFunction",
28673af6ab5fSopenharmony_ci                    "id": null,
28683af6ab5fSopenharmony_ci                    "generator": false,
28693af6ab5fSopenharmony_ci                    "async": false,
28703af6ab5fSopenharmony_ci                    "expression": false,
28713af6ab5fSopenharmony_ci                    "params": [],
28723af6ab5fSopenharmony_ci                    "typeParameters": {
28733af6ab5fSopenharmony_ci                      "type": "TSTypeParameterDeclaration",
28743af6ab5fSopenharmony_ci                      "params": [
28753af6ab5fSopenharmony_ci                        {
28763af6ab5fSopenharmony_ci                          "type": "TSTypeParameter",
28773af6ab5fSopenharmony_ci                          "name": {
28783af6ab5fSopenharmony_ci                            "type": "Identifier",
28793af6ab5fSopenharmony_ci                            "name": "D",
28803af6ab5fSopenharmony_ci                            "decorators": [],
28813af6ab5fSopenharmony_ci                            "loc": {
28823af6ab5fSopenharmony_ci                              "start": {
28833af6ab5fSopenharmony_ci                                "line": 44,
28843af6ab5fSopenharmony_ci                                "column": 18
28853af6ab5fSopenharmony_ci                              },
28863af6ab5fSopenharmony_ci                              "end": {
28873af6ab5fSopenharmony_ci                                "line": 44,
28883af6ab5fSopenharmony_ci                                "column": 19
28893af6ab5fSopenharmony_ci                              }
28903af6ab5fSopenharmony_ci                            }
28913af6ab5fSopenharmony_ci                          },
28923af6ab5fSopenharmony_ci                          "default": {
28933af6ab5fSopenharmony_ci                            "type": "TSNumberKeyword",
28943af6ab5fSopenharmony_ci                            "loc": {
28953af6ab5fSopenharmony_ci                              "start": {
28963af6ab5fSopenharmony_ci                                "line": 44,
28973af6ab5fSopenharmony_ci                                "column": 22
28983af6ab5fSopenharmony_ci                              },
28993af6ab5fSopenharmony_ci                              "end": {
29003af6ab5fSopenharmony_ci                                "line": 44,
29013af6ab5fSopenharmony_ci                                "column": 28
29023af6ab5fSopenharmony_ci                              }
29033af6ab5fSopenharmony_ci                            }
29043af6ab5fSopenharmony_ci                          },
29053af6ab5fSopenharmony_ci                          "loc": {
29063af6ab5fSopenharmony_ci                            "start": {
29073af6ab5fSopenharmony_ci                              "line": 44,
29083af6ab5fSopenharmony_ci                              "column": 18
29093af6ab5fSopenharmony_ci                            },
29103af6ab5fSopenharmony_ci                            "end": {
29113af6ab5fSopenharmony_ci                              "line": 44,
29123af6ab5fSopenharmony_ci                              "column": 29
29133af6ab5fSopenharmony_ci                            }
29143af6ab5fSopenharmony_ci                          }
29153af6ab5fSopenharmony_ci                        },
29163af6ab5fSopenharmony_ci                        {
29173af6ab5fSopenharmony_ci                          "type": "TSTypeParameter",
29183af6ab5fSopenharmony_ci                          "name": {
29193af6ab5fSopenharmony_ci                            "type": "Identifier",
29203af6ab5fSopenharmony_ci                            "name": "T",
29213af6ab5fSopenharmony_ci                            "decorators": [],
29223af6ab5fSopenharmony_ci                            "loc": {
29233af6ab5fSopenharmony_ci                              "start": {
29243af6ab5fSopenharmony_ci                                "line": 44,
29253af6ab5fSopenharmony_ci                                "column": 30
29263af6ab5fSopenharmony_ci                              },
29273af6ab5fSopenharmony_ci                              "end": {
29283af6ab5fSopenharmony_ci                                "line": 44,
29293af6ab5fSopenharmony_ci                                "column": 31
29303af6ab5fSopenharmony_ci                              }
29313af6ab5fSopenharmony_ci                            }
29323af6ab5fSopenharmony_ci                          },
29333af6ab5fSopenharmony_ci                          "default": {
29343af6ab5fSopenharmony_ci                            "type": "TSStringKeyword",
29353af6ab5fSopenharmony_ci                            "loc": {
29363af6ab5fSopenharmony_ci                              "start": {
29373af6ab5fSopenharmony_ci                                "line": 44,
29383af6ab5fSopenharmony_ci                                "column": 34
29393af6ab5fSopenharmony_ci                              },
29403af6ab5fSopenharmony_ci                              "end": {
29413af6ab5fSopenharmony_ci                                "line": 44,
29423af6ab5fSopenharmony_ci                                "column": 40
29433af6ab5fSopenharmony_ci                              }
29443af6ab5fSopenharmony_ci                            }
29453af6ab5fSopenharmony_ci                          },
29463af6ab5fSopenharmony_ci                          "loc": {
29473af6ab5fSopenharmony_ci                            "start": {
29483af6ab5fSopenharmony_ci                              "line": 44,
29493af6ab5fSopenharmony_ci                              "column": 30
29503af6ab5fSopenharmony_ci                            },
29513af6ab5fSopenharmony_ci                            "end": {
29523af6ab5fSopenharmony_ci                              "line": 44,
29533af6ab5fSopenharmony_ci                              "column": 41
29543af6ab5fSopenharmony_ci                            }
29553af6ab5fSopenharmony_ci                          }
29563af6ab5fSopenharmony_ci                        }
29573af6ab5fSopenharmony_ci                      ],
29583af6ab5fSopenharmony_ci                      "loc": {
29593af6ab5fSopenharmony_ci                        "start": {
29603af6ab5fSopenharmony_ci                          "line": 44,
29613af6ab5fSopenharmony_ci                          "column": 17
29623af6ab5fSopenharmony_ci                        },
29633af6ab5fSopenharmony_ci                        "end": {
29643af6ab5fSopenharmony_ci                          "line": 44,
29653af6ab5fSopenharmony_ci                          "column": 41
29663af6ab5fSopenharmony_ci                        }
29673af6ab5fSopenharmony_ci                      }
29683af6ab5fSopenharmony_ci                    },
29693af6ab5fSopenharmony_ci                    "body": {
29703af6ab5fSopenharmony_ci                      "type": "BlockStatement",
29713af6ab5fSopenharmony_ci                      "statements": [],
29723af6ab5fSopenharmony_ci                      "loc": {
29733af6ab5fSopenharmony_ci                        "start": {
29743af6ab5fSopenharmony_ci                          "line": 44,
29753af6ab5fSopenharmony_ci                          "column": 44
29763af6ab5fSopenharmony_ci                        },
29773af6ab5fSopenharmony_ci                        "end": {
29783af6ab5fSopenharmony_ci                          "line": 44,
29793af6ab5fSopenharmony_ci                          "column": 47
29803af6ab5fSopenharmony_ci                        }
29813af6ab5fSopenharmony_ci                      }
29823af6ab5fSopenharmony_ci                    },
29833af6ab5fSopenharmony_ci                    "loc": {
29843af6ab5fSopenharmony_ci                      "start": {
29853af6ab5fSopenharmony_ci                        "line": 44,
29863af6ab5fSopenharmony_ci                        "column": 8
29873af6ab5fSopenharmony_ci                      },
29883af6ab5fSopenharmony_ci                      "end": {
29893af6ab5fSopenharmony_ci                        "line": 44,
29903af6ab5fSopenharmony_ci                        "column": 47
29913af6ab5fSopenharmony_ci                      }
29923af6ab5fSopenharmony_ci                    }
29933af6ab5fSopenharmony_ci                  },
29943af6ab5fSopenharmony_ci                  "loc": {
29953af6ab5fSopenharmony_ci                    "start": {
29963af6ab5fSopenharmony_ci                      "line": 44,
29973af6ab5fSopenharmony_ci                      "column": 8
29983af6ab5fSopenharmony_ci                    },
29993af6ab5fSopenharmony_ci                    "end": {
30003af6ab5fSopenharmony_ci                      "line": 44,
30013af6ab5fSopenharmony_ci                      "column": 47
30023af6ab5fSopenharmony_ci                    }
30033af6ab5fSopenharmony_ci                  }
30043af6ab5fSopenharmony_ci                },
30053af6ab5fSopenharmony_ci                "kind": "init",
30063af6ab5fSopenharmony_ci                "loc": {
30073af6ab5fSopenharmony_ci                  "start": {
30083af6ab5fSopenharmony_ci                    "line": 44,
30093af6ab5fSopenharmony_ci                    "column": 5
30103af6ab5fSopenharmony_ci                  },
30113af6ab5fSopenharmony_ci                  "end": {
30123af6ab5fSopenharmony_ci                    "line": 44,
30133af6ab5fSopenharmony_ci                    "column": 47
30143af6ab5fSopenharmony_ci                  }
30153af6ab5fSopenharmony_ci                }
30163af6ab5fSopenharmony_ci              },
30173af6ab5fSopenharmony_ci              {
30183af6ab5fSopenharmony_ci                "type": "Property",
30193af6ab5fSopenharmony_ci                "method": true,
30203af6ab5fSopenharmony_ci                "shorthand": false,
30213af6ab5fSopenharmony_ci                "computed": false,
30223af6ab5fSopenharmony_ci                "key": {
30233af6ab5fSopenharmony_ci                  "type": "Identifier",
30243af6ab5fSopenharmony_ci                  "name": "c",
30253af6ab5fSopenharmony_ci                  "decorators": [],
30263af6ab5fSopenharmony_ci                  "loc": {
30273af6ab5fSopenharmony_ci                    "start": {
30283af6ab5fSopenharmony_ci                      "line": 45,
30293af6ab5fSopenharmony_ci                      "column": 5
30303af6ab5fSopenharmony_ci                    },
30313af6ab5fSopenharmony_ci                    "end": {
30323af6ab5fSopenharmony_ci                      "line": 45,
30333af6ab5fSopenharmony_ci                      "column": 6
30343af6ab5fSopenharmony_ci                    }
30353af6ab5fSopenharmony_ci                  }
30363af6ab5fSopenharmony_ci                },
30373af6ab5fSopenharmony_ci                "value": {
30383af6ab5fSopenharmony_ci                  "type": "FunctionExpression",
30393af6ab5fSopenharmony_ci                  "function": {
30403af6ab5fSopenharmony_ci                    "type": "ScriptFunction",
30413af6ab5fSopenharmony_ci                    "id": null,
30423af6ab5fSopenharmony_ci                    "generator": false,
30433af6ab5fSopenharmony_ci                    "async": false,
30443af6ab5fSopenharmony_ci                    "expression": false,
30453af6ab5fSopenharmony_ci                    "params": [],
30463af6ab5fSopenharmony_ci                    "typeParameters": {
30473af6ab5fSopenharmony_ci                      "type": "TSTypeParameterDeclaration",
30483af6ab5fSopenharmony_ci                      "params": [
30493af6ab5fSopenharmony_ci                        {
30503af6ab5fSopenharmony_ci                          "type": "TSTypeParameter",
30513af6ab5fSopenharmony_ci                          "name": {
30523af6ab5fSopenharmony_ci                            "type": "Identifier",
30533af6ab5fSopenharmony_ci                            "name": "E",
30543af6ab5fSopenharmony_ci                            "decorators": [],
30553af6ab5fSopenharmony_ci                            "loc": {
30563af6ab5fSopenharmony_ci                              "start": {
30573af6ab5fSopenharmony_ci                                "line": 45,
30583af6ab5fSopenharmony_ci                                "column": 7
30593af6ab5fSopenharmony_ci                              },
30603af6ab5fSopenharmony_ci                              "end": {
30613af6ab5fSopenharmony_ci                                "line": 45,
30623af6ab5fSopenharmony_ci                                "column": 8
30633af6ab5fSopenharmony_ci                              }
30643af6ab5fSopenharmony_ci                            }
30653af6ab5fSopenharmony_ci                          },
30663af6ab5fSopenharmony_ci                          "loc": {
30673af6ab5fSopenharmony_ci                            "start": {
30683af6ab5fSopenharmony_ci                              "line": 45,
30693af6ab5fSopenharmony_ci                              "column": 7
30703af6ab5fSopenharmony_ci                            },
30713af6ab5fSopenharmony_ci                            "end": {
30723af6ab5fSopenharmony_ci                              "line": 45,
30733af6ab5fSopenharmony_ci                              "column": 9
30743af6ab5fSopenharmony_ci                            }
30753af6ab5fSopenharmony_ci                          }
30763af6ab5fSopenharmony_ci                        },
30773af6ab5fSopenharmony_ci                        {
30783af6ab5fSopenharmony_ci                          "type": "TSTypeParameter",
30793af6ab5fSopenharmony_ci                          "name": {
30803af6ab5fSopenharmony_ci                            "type": "Identifier",
30813af6ab5fSopenharmony_ci                            "name": "F",
30823af6ab5fSopenharmony_ci                            "decorators": [],
30833af6ab5fSopenharmony_ci                            "loc": {
30843af6ab5fSopenharmony_ci                              "start": {
30853af6ab5fSopenharmony_ci                                "line": 45,
30863af6ab5fSopenharmony_ci                                "column": 10
30873af6ab5fSopenharmony_ci                              },
30883af6ab5fSopenharmony_ci                              "end": {
30893af6ab5fSopenharmony_ci                                "line": 45,
30903af6ab5fSopenharmony_ci                                "column": 11
30913af6ab5fSopenharmony_ci                              }
30923af6ab5fSopenharmony_ci                            }
30933af6ab5fSopenharmony_ci                          },
30943af6ab5fSopenharmony_ci                          "constraint": {
30953af6ab5fSopenharmony_ci                            "type": "TSTypeOperator",
30963af6ab5fSopenharmony_ci                            "operator": "readonly",
30973af6ab5fSopenharmony_ci                            "typeAnnotation": {
30983af6ab5fSopenharmony_ci                              "type": "TSTupleType",
30993af6ab5fSopenharmony_ci                              "elementTypes": [],
31003af6ab5fSopenharmony_ci                              "loc": {
31013af6ab5fSopenharmony_ci                                "start": {
31023af6ab5fSopenharmony_ci                                  "line": 45,
31033af6ab5fSopenharmony_ci                                  "column": 29
31043af6ab5fSopenharmony_ci                                },
31053af6ab5fSopenharmony_ci                                "end": {
31063af6ab5fSopenharmony_ci                                  "line": 45,
31073af6ab5fSopenharmony_ci                                  "column": 31
31083af6ab5fSopenharmony_ci                                }
31093af6ab5fSopenharmony_ci                              }
31103af6ab5fSopenharmony_ci                            },
31113af6ab5fSopenharmony_ci                            "loc": {
31123af6ab5fSopenharmony_ci                              "start": {
31133af6ab5fSopenharmony_ci                                "line": 45,
31143af6ab5fSopenharmony_ci                                "column": 20
31153af6ab5fSopenharmony_ci                              },
31163af6ab5fSopenharmony_ci                              "end": {
31173af6ab5fSopenharmony_ci                                "line": 45,
31183af6ab5fSopenharmony_ci                                "column": 31
31193af6ab5fSopenharmony_ci                              }
31203af6ab5fSopenharmony_ci                            }
31213af6ab5fSopenharmony_ci                          },
31223af6ab5fSopenharmony_ci                          "loc": {
31233af6ab5fSopenharmony_ci                            "start": {
31243af6ab5fSopenharmony_ci                              "line": 45,
31253af6ab5fSopenharmony_ci                              "column": 10
31263af6ab5fSopenharmony_ci                            },
31273af6ab5fSopenharmony_ci                            "end": {
31283af6ab5fSopenharmony_ci                              "line": 45,
31293af6ab5fSopenharmony_ci                              "column": 32
31303af6ab5fSopenharmony_ci                            }
31313af6ab5fSopenharmony_ci                          }
31323af6ab5fSopenharmony_ci                        }
31333af6ab5fSopenharmony_ci                      ],
31343af6ab5fSopenharmony_ci                      "loc": {
31353af6ab5fSopenharmony_ci                        "start": {
31363af6ab5fSopenharmony_ci                          "line": 45,
31373af6ab5fSopenharmony_ci                          "column": 6
31383af6ab5fSopenharmony_ci                        },
31393af6ab5fSopenharmony_ci                        "end": {
31403af6ab5fSopenharmony_ci                          "line": 45,
31413af6ab5fSopenharmony_ci                          "column": 32
31423af6ab5fSopenharmony_ci                        }
31433af6ab5fSopenharmony_ci                      }
31443af6ab5fSopenharmony_ci                    },
31453af6ab5fSopenharmony_ci                    "body": {
31463af6ab5fSopenharmony_ci                      "type": "BlockStatement",
31473af6ab5fSopenharmony_ci                      "statements": [],
31483af6ab5fSopenharmony_ci                      "loc": {
31493af6ab5fSopenharmony_ci                        "start": {
31503af6ab5fSopenharmony_ci                          "line": 45,
31513af6ab5fSopenharmony_ci                          "column": 35
31523af6ab5fSopenharmony_ci                        },
31533af6ab5fSopenharmony_ci                        "end": {
31543af6ab5fSopenharmony_ci                          "line": 45,
31553af6ab5fSopenharmony_ci                          "column": 38
31563af6ab5fSopenharmony_ci                        }
31573af6ab5fSopenharmony_ci                      }
31583af6ab5fSopenharmony_ci                    },
31593af6ab5fSopenharmony_ci                    "loc": {
31603af6ab5fSopenharmony_ci                      "start": {
31613af6ab5fSopenharmony_ci                        "line": 45,
31623af6ab5fSopenharmony_ci                        "column": 6
31633af6ab5fSopenharmony_ci                      },
31643af6ab5fSopenharmony_ci                      "end": {
31653af6ab5fSopenharmony_ci                        "line": 45,
31663af6ab5fSopenharmony_ci                        "column": 38
31673af6ab5fSopenharmony_ci                      }
31683af6ab5fSopenharmony_ci                    }
31693af6ab5fSopenharmony_ci                  },
31703af6ab5fSopenharmony_ci                  "loc": {
31713af6ab5fSopenharmony_ci                    "start": {
31723af6ab5fSopenharmony_ci                      "line": 45,
31733af6ab5fSopenharmony_ci                      "column": 6
31743af6ab5fSopenharmony_ci                    },
31753af6ab5fSopenharmony_ci                    "end": {
31763af6ab5fSopenharmony_ci                      "line": 45,
31773af6ab5fSopenharmony_ci                      "column": 38
31783af6ab5fSopenharmony_ci                    }
31793af6ab5fSopenharmony_ci                  }
31803af6ab5fSopenharmony_ci                },
31813af6ab5fSopenharmony_ci                "kind": "init",
31823af6ab5fSopenharmony_ci                "loc": {
31833af6ab5fSopenharmony_ci                  "start": {
31843af6ab5fSopenharmony_ci                    "line": 45,
31853af6ab5fSopenharmony_ci                    "column": 5
31863af6ab5fSopenharmony_ci                  },
31873af6ab5fSopenharmony_ci                  "end": {
31883af6ab5fSopenharmony_ci                    "line": 45,
31893af6ab5fSopenharmony_ci                    "column": 38
31903af6ab5fSopenharmony_ci                  }
31913af6ab5fSopenharmony_ci                }
31923af6ab5fSopenharmony_ci              }
31933af6ab5fSopenharmony_ci            ],
31943af6ab5fSopenharmony_ci            "loc": {
31953af6ab5fSopenharmony_ci              "start": {
31963af6ab5fSopenharmony_ci                "line": 42,
31973af6ab5fSopenharmony_ci                "column": 9
31983af6ab5fSopenharmony_ci              },
31993af6ab5fSopenharmony_ci              "end": {
32003af6ab5fSopenharmony_ci                "line": 46,
32013af6ab5fSopenharmony_ci                "column": 2
32023af6ab5fSopenharmony_ci              }
32033af6ab5fSopenharmony_ci            }
32043af6ab5fSopenharmony_ci          },
32053af6ab5fSopenharmony_ci          "loc": {
32063af6ab5fSopenharmony_ci            "start": {
32073af6ab5fSopenharmony_ci              "line": 42,
32083af6ab5fSopenharmony_ci              "column": 5
32093af6ab5fSopenharmony_ci            },
32103af6ab5fSopenharmony_ci            "end": {
32113af6ab5fSopenharmony_ci              "line": 46,
32123af6ab5fSopenharmony_ci              "column": 2
32133af6ab5fSopenharmony_ci            }
32143af6ab5fSopenharmony_ci          }
32153af6ab5fSopenharmony_ci        }
32163af6ab5fSopenharmony_ci      ],
32173af6ab5fSopenharmony_ci      "kind": "var",
32183af6ab5fSopenharmony_ci      "loc": {
32193af6ab5fSopenharmony_ci        "start": {
32203af6ab5fSopenharmony_ci          "line": 42,
32213af6ab5fSopenharmony_ci          "column": 1
32223af6ab5fSopenharmony_ci        },
32233af6ab5fSopenharmony_ci        "end": {
32243af6ab5fSopenharmony_ci          "line": 46,
32253af6ab5fSopenharmony_ci          "column": 2
32263af6ab5fSopenharmony_ci        }
32273af6ab5fSopenharmony_ci      }
32283af6ab5fSopenharmony_ci    },
32293af6ab5fSopenharmony_ci    {
32303af6ab5fSopenharmony_ci      "type": "ClassDeclaration",
32313af6ab5fSopenharmony_ci      "definition": {
32323af6ab5fSopenharmony_ci        "id": {
32333af6ab5fSopenharmony_ci          "type": "Identifier",
32343af6ab5fSopenharmony_ci          "name": "A",
32353af6ab5fSopenharmony_ci          "decorators": [],
32363af6ab5fSopenharmony_ci          "loc": {
32373af6ab5fSopenharmony_ci            "start": {
32383af6ab5fSopenharmony_ci              "line": 48,
32393af6ab5fSopenharmony_ci              "column": 7
32403af6ab5fSopenharmony_ci            },
32413af6ab5fSopenharmony_ci            "end": {
32423af6ab5fSopenharmony_ci              "line": 48,
32433af6ab5fSopenharmony_ci              "column": 8
32443af6ab5fSopenharmony_ci            }
32453af6ab5fSopenharmony_ci          }
32463af6ab5fSopenharmony_ci        },
32473af6ab5fSopenharmony_ci        "typeParameters": {
32483af6ab5fSopenharmony_ci          "type": "TSTypeParameterDeclaration",
32493af6ab5fSopenharmony_ci          "params": [
32503af6ab5fSopenharmony_ci            {
32513af6ab5fSopenharmony_ci              "type": "TSTypeParameter",
32523af6ab5fSopenharmony_ci              "name": {
32533af6ab5fSopenharmony_ci                "type": "Identifier",
32543af6ab5fSopenharmony_ci                "name": "T",
32553af6ab5fSopenharmony_ci                "decorators": [],
32563af6ab5fSopenharmony_ci                "loc": {
32573af6ab5fSopenharmony_ci                  "start": {
32583af6ab5fSopenharmony_ci                    "line": 48,
32593af6ab5fSopenharmony_ci                    "column": 9
32603af6ab5fSopenharmony_ci                  },
32613af6ab5fSopenharmony_ci                  "end": {
32623af6ab5fSopenharmony_ci                    "line": 48,
32633af6ab5fSopenharmony_ci                    "column": 10
32643af6ab5fSopenharmony_ci                  }
32653af6ab5fSopenharmony_ci                }
32663af6ab5fSopenharmony_ci              },
32673af6ab5fSopenharmony_ci              "constraint": {
32683af6ab5fSopenharmony_ci                "type": "TSTypeReference",
32693af6ab5fSopenharmony_ci                "typeName": {
32703af6ab5fSopenharmony_ci                  "type": "Identifier",
32713af6ab5fSopenharmony_ci                  "name": "B",
32723af6ab5fSopenharmony_ci                  "decorators": [],
32733af6ab5fSopenharmony_ci                  "loc": {
32743af6ab5fSopenharmony_ci                    "start": {
32753af6ab5fSopenharmony_ci                      "line": 48,
32763af6ab5fSopenharmony_ci                      "column": 19
32773af6ab5fSopenharmony_ci                    },
32783af6ab5fSopenharmony_ci                    "end": {
32793af6ab5fSopenharmony_ci                      "line": 48,
32803af6ab5fSopenharmony_ci                      "column": 20
32813af6ab5fSopenharmony_ci                    }
32823af6ab5fSopenharmony_ci                  }
32833af6ab5fSopenharmony_ci                },
32843af6ab5fSopenharmony_ci                "loc": {
32853af6ab5fSopenharmony_ci                  "start": {
32863af6ab5fSopenharmony_ci                    "line": 48,
32873af6ab5fSopenharmony_ci                    "column": 19
32883af6ab5fSopenharmony_ci                  },
32893af6ab5fSopenharmony_ci                  "end": {
32903af6ab5fSopenharmony_ci                    "line": 48,
32913af6ab5fSopenharmony_ci                    "column": 20
32923af6ab5fSopenharmony_ci                  }
32933af6ab5fSopenharmony_ci                }
32943af6ab5fSopenharmony_ci              },
32953af6ab5fSopenharmony_ci              "loc": {
32963af6ab5fSopenharmony_ci                "start": {
32973af6ab5fSopenharmony_ci                  "line": 48,
32983af6ab5fSopenharmony_ci                  "column": 9
32993af6ab5fSopenharmony_ci                },
33003af6ab5fSopenharmony_ci                "end": {
33013af6ab5fSopenharmony_ci                  "line": 48,
33023af6ab5fSopenharmony_ci                  "column": 21
33033af6ab5fSopenharmony_ci                }
33043af6ab5fSopenharmony_ci              }
33053af6ab5fSopenharmony_ci            },
33063af6ab5fSopenharmony_ci            {
33073af6ab5fSopenharmony_ci              "type": "TSTypeParameter",
33083af6ab5fSopenharmony_ci              "name": {
33093af6ab5fSopenharmony_ci                "type": "Identifier",
33103af6ab5fSopenharmony_ci                "name": "Z",
33113af6ab5fSopenharmony_ci                "decorators": [],
33123af6ab5fSopenharmony_ci                "loc": {
33133af6ab5fSopenharmony_ci                  "start": {
33143af6ab5fSopenharmony_ci                    "line": 48,
33153af6ab5fSopenharmony_ci                    "column": 22
33163af6ab5fSopenharmony_ci                  },
33173af6ab5fSopenharmony_ci                  "end": {
33183af6ab5fSopenharmony_ci                    "line": 48,
33193af6ab5fSopenharmony_ci                    "column": 23
33203af6ab5fSopenharmony_ci                  }
33213af6ab5fSopenharmony_ci                }
33223af6ab5fSopenharmony_ci              },
33233af6ab5fSopenharmony_ci              "default": {
33243af6ab5fSopenharmony_ci                "type": "TSTypeLiteral",
33253af6ab5fSopenharmony_ci                "members": [
33263af6ab5fSopenharmony_ci                  {
33273af6ab5fSopenharmony_ci                    "type": "TSPropertySignature",
33283af6ab5fSopenharmony_ci                    "computed": false,
33293af6ab5fSopenharmony_ci                    "optional": false,
33303af6ab5fSopenharmony_ci                    "readonly": false,
33313af6ab5fSopenharmony_ci                    "key": {
33323af6ab5fSopenharmony_ci                      "type": "Identifier",
33333af6ab5fSopenharmony_ci                      "name": "a",
33343af6ab5fSopenharmony_ci                      "decorators": [],
33353af6ab5fSopenharmony_ci                      "loc": {
33363af6ab5fSopenharmony_ci                        "start": {
33373af6ab5fSopenharmony_ci                          "line": 48,
33383af6ab5fSopenharmony_ci                          "column": 28
33393af6ab5fSopenharmony_ci                        },
33403af6ab5fSopenharmony_ci                        "end": {
33413af6ab5fSopenharmony_ci                          "line": 48,
33423af6ab5fSopenharmony_ci                          "column": 29
33433af6ab5fSopenharmony_ci                        }
33443af6ab5fSopenharmony_ci                      }
33453af6ab5fSopenharmony_ci                    },
33463af6ab5fSopenharmony_ci                    "typeAnnotation": {
33473af6ab5fSopenharmony_ci                      "type": "TSNumberKeyword",
33483af6ab5fSopenharmony_ci                      "loc": {
33493af6ab5fSopenharmony_ci                        "start": {
33503af6ab5fSopenharmony_ci                          "line": 48,
33513af6ab5fSopenharmony_ci                          "column": 31
33523af6ab5fSopenharmony_ci                        },
33533af6ab5fSopenharmony_ci                        "end": {
33543af6ab5fSopenharmony_ci                          "line": 48,
33553af6ab5fSopenharmony_ci                          "column": 37
33563af6ab5fSopenharmony_ci                        }
33573af6ab5fSopenharmony_ci                      }
33583af6ab5fSopenharmony_ci                    },
33593af6ab5fSopenharmony_ci                    "loc": {
33603af6ab5fSopenharmony_ci                      "start": {
33613af6ab5fSopenharmony_ci                        "line": 48,
33623af6ab5fSopenharmony_ci                        "column": 28
33633af6ab5fSopenharmony_ci                      },
33643af6ab5fSopenharmony_ci                      "end": {
33653af6ab5fSopenharmony_ci                        "line": 48,
33663af6ab5fSopenharmony_ci                        "column": 38
33673af6ab5fSopenharmony_ci                      }
33683af6ab5fSopenharmony_ci                    }
33693af6ab5fSopenharmony_ci                  },
33703af6ab5fSopenharmony_ci                  {
33713af6ab5fSopenharmony_ci                    "type": "TSPropertySignature",
33723af6ab5fSopenharmony_ci                    "computed": false,
33733af6ab5fSopenharmony_ci                    "optional": false,
33743af6ab5fSopenharmony_ci                    "readonly": false,
33753af6ab5fSopenharmony_ci                    "key": {
33763af6ab5fSopenharmony_ci                      "type": "Identifier",
33773af6ab5fSopenharmony_ci                      "name": "b",
33783af6ab5fSopenharmony_ci                      "decorators": [],
33793af6ab5fSopenharmony_ci                      "loc": {
33803af6ab5fSopenharmony_ci                        "start": {
33813af6ab5fSopenharmony_ci                          "line": 48,
33823af6ab5fSopenharmony_ci                          "column": 39
33833af6ab5fSopenharmony_ci                        },
33843af6ab5fSopenharmony_ci                        "end": {
33853af6ab5fSopenharmony_ci                          "line": 48,
33863af6ab5fSopenharmony_ci                          "column": 40
33873af6ab5fSopenharmony_ci                        }
33883af6ab5fSopenharmony_ci                      }
33893af6ab5fSopenharmony_ci                    },
33903af6ab5fSopenharmony_ci                    "typeAnnotation": {
33913af6ab5fSopenharmony_ci                      "type": "TSStringKeyword",
33923af6ab5fSopenharmony_ci                      "loc": {
33933af6ab5fSopenharmony_ci                        "start": {
33943af6ab5fSopenharmony_ci                          "line": 48,
33953af6ab5fSopenharmony_ci                          "column": 42
33963af6ab5fSopenharmony_ci                        },
33973af6ab5fSopenharmony_ci                        "end": {
33983af6ab5fSopenharmony_ci                          "line": 48,
33993af6ab5fSopenharmony_ci                          "column": 48
34003af6ab5fSopenharmony_ci                        }
34013af6ab5fSopenharmony_ci                      }
34023af6ab5fSopenharmony_ci                    },
34033af6ab5fSopenharmony_ci                    "loc": {
34043af6ab5fSopenharmony_ci                      "start": {
34053af6ab5fSopenharmony_ci                        "line": 48,
34063af6ab5fSopenharmony_ci                        "column": 39
34073af6ab5fSopenharmony_ci                      },
34083af6ab5fSopenharmony_ci                      "end": {
34093af6ab5fSopenharmony_ci                        "line": 48,
34103af6ab5fSopenharmony_ci                        "column": 50
34113af6ab5fSopenharmony_ci                      }
34123af6ab5fSopenharmony_ci                    }
34133af6ab5fSopenharmony_ci                  }
34143af6ab5fSopenharmony_ci                ],
34153af6ab5fSopenharmony_ci                "loc": {
34163af6ab5fSopenharmony_ci                  "start": {
34173af6ab5fSopenharmony_ci                    "line": 48,
34183af6ab5fSopenharmony_ci                    "column": 26
34193af6ab5fSopenharmony_ci                  },
34203af6ab5fSopenharmony_ci                  "end": {
34213af6ab5fSopenharmony_ci                    "line": 48,
34223af6ab5fSopenharmony_ci                    "column": 50
34233af6ab5fSopenharmony_ci                  }
34243af6ab5fSopenharmony_ci                }
34253af6ab5fSopenharmony_ci              },
34263af6ab5fSopenharmony_ci              "loc": {
34273af6ab5fSopenharmony_ci                "start": {
34283af6ab5fSopenharmony_ci                  "line": 48,
34293af6ab5fSopenharmony_ci                  "column": 22
34303af6ab5fSopenharmony_ci                },
34313af6ab5fSopenharmony_ci                "end": {
34323af6ab5fSopenharmony_ci                  "line": 48,
34333af6ab5fSopenharmony_ci                  "column": 51
34343af6ab5fSopenharmony_ci                }
34353af6ab5fSopenharmony_ci              }
34363af6ab5fSopenharmony_ci            }
34373af6ab5fSopenharmony_ci          ],
34383af6ab5fSopenharmony_ci          "loc": {
34393af6ab5fSopenharmony_ci            "start": {
34403af6ab5fSopenharmony_ci              "line": 48,
34413af6ab5fSopenharmony_ci              "column": 8
34423af6ab5fSopenharmony_ci            },
34433af6ab5fSopenharmony_ci            "end": {
34443af6ab5fSopenharmony_ci              "line": 48,
34453af6ab5fSopenharmony_ci              "column": 51
34463af6ab5fSopenharmony_ci            }
34473af6ab5fSopenharmony_ci          }
34483af6ab5fSopenharmony_ci        },
34493af6ab5fSopenharmony_ci        "superClass": null,
34503af6ab5fSopenharmony_ci        "implements": [],
34513af6ab5fSopenharmony_ci        "constructor": {
34523af6ab5fSopenharmony_ci          "type": "MethodDefinition",
34533af6ab5fSopenharmony_ci          "key": {
34543af6ab5fSopenharmony_ci            "type": "Identifier",
34553af6ab5fSopenharmony_ci            "name": "constructor",
34563af6ab5fSopenharmony_ci            "decorators": [],
34573af6ab5fSopenharmony_ci            "loc": {
34583af6ab5fSopenharmony_ci              "start": {
34593af6ab5fSopenharmony_ci                "line": 1,
34603af6ab5fSopenharmony_ci                "column": 1
34613af6ab5fSopenharmony_ci              },
34623af6ab5fSopenharmony_ci              "end": {
34633af6ab5fSopenharmony_ci                "line": 1,
34643af6ab5fSopenharmony_ci                "column": 1
34653af6ab5fSopenharmony_ci              }
34663af6ab5fSopenharmony_ci            }
34673af6ab5fSopenharmony_ci          },
34683af6ab5fSopenharmony_ci          "kind": "constructor",
34693af6ab5fSopenharmony_ci          "static": false,
34703af6ab5fSopenharmony_ci          "optional": false,
34713af6ab5fSopenharmony_ci          "computed": false,
34723af6ab5fSopenharmony_ci          "value": {
34733af6ab5fSopenharmony_ci            "type": "FunctionExpression",
34743af6ab5fSopenharmony_ci            "function": {
34753af6ab5fSopenharmony_ci              "type": "ScriptFunction",
34763af6ab5fSopenharmony_ci              "id": null,
34773af6ab5fSopenharmony_ci              "generator": false,
34783af6ab5fSopenharmony_ci              "async": false,
34793af6ab5fSopenharmony_ci              "expression": false,
34803af6ab5fSopenharmony_ci              "params": [],
34813af6ab5fSopenharmony_ci              "body": {
34823af6ab5fSopenharmony_ci                "type": "BlockStatement",
34833af6ab5fSopenharmony_ci                "statements": [],
34843af6ab5fSopenharmony_ci                "loc": {
34853af6ab5fSopenharmony_ci                  "start": {
34863af6ab5fSopenharmony_ci                    "line": 1,
34873af6ab5fSopenharmony_ci                    "column": 1
34883af6ab5fSopenharmony_ci                  },
34893af6ab5fSopenharmony_ci                  "end": {
34903af6ab5fSopenharmony_ci                    "line": 1,
34913af6ab5fSopenharmony_ci                    "column": 1
34923af6ab5fSopenharmony_ci                  }
34933af6ab5fSopenharmony_ci                }
34943af6ab5fSopenharmony_ci              },
34953af6ab5fSopenharmony_ci              "loc": {
34963af6ab5fSopenharmony_ci                "start": {
34973af6ab5fSopenharmony_ci                  "line": 1,
34983af6ab5fSopenharmony_ci                  "column": 1
34993af6ab5fSopenharmony_ci                },
35003af6ab5fSopenharmony_ci                "end": {
35013af6ab5fSopenharmony_ci                  "line": 1,
35023af6ab5fSopenharmony_ci                  "column": 1
35033af6ab5fSopenharmony_ci                }
35043af6ab5fSopenharmony_ci              }
35053af6ab5fSopenharmony_ci            },
35063af6ab5fSopenharmony_ci            "loc": {
35073af6ab5fSopenharmony_ci              "start": {
35083af6ab5fSopenharmony_ci                "line": 1,
35093af6ab5fSopenharmony_ci                "column": 1
35103af6ab5fSopenharmony_ci              },
35113af6ab5fSopenharmony_ci              "end": {
35123af6ab5fSopenharmony_ci                "line": 1,
35133af6ab5fSopenharmony_ci                "column": 1
35143af6ab5fSopenharmony_ci              }
35153af6ab5fSopenharmony_ci            }
35163af6ab5fSopenharmony_ci          },
35173af6ab5fSopenharmony_ci          "overloads": [],
35183af6ab5fSopenharmony_ci          "decorators": [],
35193af6ab5fSopenharmony_ci          "loc": {
35203af6ab5fSopenharmony_ci            "start": {
35213af6ab5fSopenharmony_ci              "line": 51,
35223af6ab5fSopenharmony_ci              "column": 2
35233af6ab5fSopenharmony_ci            },
35243af6ab5fSopenharmony_ci            "end": {
35253af6ab5fSopenharmony_ci              "line": 51,
35263af6ab5fSopenharmony_ci              "column": 2
35273af6ab5fSopenharmony_ci            }
35283af6ab5fSopenharmony_ci          }
35293af6ab5fSopenharmony_ci        },
35303af6ab5fSopenharmony_ci        "body": [
35313af6ab5fSopenharmony_ci          {
35323af6ab5fSopenharmony_ci            "type": "MethodDefinition",
35333af6ab5fSopenharmony_ci            "key": {
35343af6ab5fSopenharmony_ci              "type": "Identifier",
35353af6ab5fSopenharmony_ci              "name": "a",
35363af6ab5fSopenharmony_ci              "decorators": [],
35373af6ab5fSopenharmony_ci              "loc": {
35383af6ab5fSopenharmony_ci                "start": {
35393af6ab5fSopenharmony_ci                  "line": 49,
35403af6ab5fSopenharmony_ci                  "column": 12
35413af6ab5fSopenharmony_ci                },
35423af6ab5fSopenharmony_ci                "end": {
35433af6ab5fSopenharmony_ci                  "line": 49,
35443af6ab5fSopenharmony_ci                  "column": 13
35453af6ab5fSopenharmony_ci                }
35463af6ab5fSopenharmony_ci              }
35473af6ab5fSopenharmony_ci            },
35483af6ab5fSopenharmony_ci            "kind": "method",
35493af6ab5fSopenharmony_ci            "accessibility": "public",
35503af6ab5fSopenharmony_ci            "static": false,
35513af6ab5fSopenharmony_ci            "optional": false,
35523af6ab5fSopenharmony_ci            "computed": false,
35533af6ab5fSopenharmony_ci            "value": {
35543af6ab5fSopenharmony_ci              "type": "FunctionExpression",
35553af6ab5fSopenharmony_ci              "function": {
35563af6ab5fSopenharmony_ci                "type": "ScriptFunction",
35573af6ab5fSopenharmony_ci                "id": null,
35583af6ab5fSopenharmony_ci                "generator": false,
35593af6ab5fSopenharmony_ci                "async": false,
35603af6ab5fSopenharmony_ci                "expression": false,
35613af6ab5fSopenharmony_ci                "params": [],
35623af6ab5fSopenharmony_ci                "typeParameters": {
35633af6ab5fSopenharmony_ci                  "type": "TSTypeParameterDeclaration",
35643af6ab5fSopenharmony_ci                  "params": [
35653af6ab5fSopenharmony_ci                    {
35663af6ab5fSopenharmony_ci                      "type": "TSTypeParameter",
35673af6ab5fSopenharmony_ci                      "name": {
35683af6ab5fSopenharmony_ci                        "type": "Identifier",
35693af6ab5fSopenharmony_ci                        "name": "T",
35703af6ab5fSopenharmony_ci                        "decorators": [],
35713af6ab5fSopenharmony_ci                        "loc": {
35723af6ab5fSopenharmony_ci                          "start": {
35733af6ab5fSopenharmony_ci                            "line": 49,
35743af6ab5fSopenharmony_ci                            "column": 14
35753af6ab5fSopenharmony_ci                          },
35763af6ab5fSopenharmony_ci                          "end": {
35773af6ab5fSopenharmony_ci                            "line": 49,
35783af6ab5fSopenharmony_ci                            "column": 15
35793af6ab5fSopenharmony_ci                          }
35803af6ab5fSopenharmony_ci                        }
35813af6ab5fSopenharmony_ci                      },
35823af6ab5fSopenharmony_ci                      "loc": {
35833af6ab5fSopenharmony_ci                        "start": {
35843af6ab5fSopenharmony_ci                          "line": 49,
35853af6ab5fSopenharmony_ci                          "column": 14
35863af6ab5fSopenharmony_ci                        },
35873af6ab5fSopenharmony_ci                        "end": {
35883af6ab5fSopenharmony_ci                          "line": 49,
35893af6ab5fSopenharmony_ci                          "column": 16
35903af6ab5fSopenharmony_ci                        }
35913af6ab5fSopenharmony_ci                      }
35923af6ab5fSopenharmony_ci                    },
35933af6ab5fSopenharmony_ci                    {
35943af6ab5fSopenharmony_ci                      "type": "TSTypeParameter",
35953af6ab5fSopenharmony_ci                      "name": {
35963af6ab5fSopenharmony_ci                        "type": "Identifier",
35973af6ab5fSopenharmony_ci                        "name": "R",
35983af6ab5fSopenharmony_ci                        "decorators": [],
35993af6ab5fSopenharmony_ci                        "loc": {
36003af6ab5fSopenharmony_ci                          "start": {
36013af6ab5fSopenharmony_ci                            "line": 49,
36023af6ab5fSopenharmony_ci                            "column": 17
36033af6ab5fSopenharmony_ci                          },
36043af6ab5fSopenharmony_ci                          "end": {
36053af6ab5fSopenharmony_ci                            "line": 49,
36063af6ab5fSopenharmony_ci                            "column": 18
36073af6ab5fSopenharmony_ci                          }
36083af6ab5fSopenharmony_ci                        }
36093af6ab5fSopenharmony_ci                      },
36103af6ab5fSopenharmony_ci                      "loc": {
36113af6ab5fSopenharmony_ci                        "start": {
36123af6ab5fSopenharmony_ci                          "line": 49,
36133af6ab5fSopenharmony_ci                          "column": 17
36143af6ab5fSopenharmony_ci                        },
36153af6ab5fSopenharmony_ci                        "end": {
36163af6ab5fSopenharmony_ci                          "line": 49,
36173af6ab5fSopenharmony_ci                          "column": 19
36183af6ab5fSopenharmony_ci                        }
36193af6ab5fSopenharmony_ci                      }
36203af6ab5fSopenharmony_ci                    }
36213af6ab5fSopenharmony_ci                  ],
36223af6ab5fSopenharmony_ci                  "loc": {
36233af6ab5fSopenharmony_ci                    "start": {
36243af6ab5fSopenharmony_ci                      "line": 49,
36253af6ab5fSopenharmony_ci                      "column": 13
36263af6ab5fSopenharmony_ci                    },
36273af6ab5fSopenharmony_ci                    "end": {
36283af6ab5fSopenharmony_ci                      "line": 49,
36293af6ab5fSopenharmony_ci                      "column": 19
36303af6ab5fSopenharmony_ci                    }
36313af6ab5fSopenharmony_ci                  }
36323af6ab5fSopenharmony_ci                },
36333af6ab5fSopenharmony_ci                "body": {
36343af6ab5fSopenharmony_ci                  "type": "BlockStatement",
36353af6ab5fSopenharmony_ci                  "statements": [],
36363af6ab5fSopenharmony_ci                  "loc": {
36373af6ab5fSopenharmony_ci                    "start": {
36383af6ab5fSopenharmony_ci                      "line": 49,
36393af6ab5fSopenharmony_ci                      "column": 22
36403af6ab5fSopenharmony_ci                    },
36413af6ab5fSopenharmony_ci                    "end": {
36423af6ab5fSopenharmony_ci                      "line": 49,
36433af6ab5fSopenharmony_ci                      "column": 25
36443af6ab5fSopenharmony_ci                    }
36453af6ab5fSopenharmony_ci                  }
36463af6ab5fSopenharmony_ci                },
36473af6ab5fSopenharmony_ci                "loc": {
36483af6ab5fSopenharmony_ci                  "start": {
36493af6ab5fSopenharmony_ci                    "line": 49,
36503af6ab5fSopenharmony_ci                    "column": 13
36513af6ab5fSopenharmony_ci                  },
36523af6ab5fSopenharmony_ci                  "end": {
36533af6ab5fSopenharmony_ci                    "line": 49,
36543af6ab5fSopenharmony_ci                    "column": 25
36553af6ab5fSopenharmony_ci                  }
36563af6ab5fSopenharmony_ci                }
36573af6ab5fSopenharmony_ci              },
36583af6ab5fSopenharmony_ci              "loc": {
36593af6ab5fSopenharmony_ci                "start": {
36603af6ab5fSopenharmony_ci                  "line": 49,
36613af6ab5fSopenharmony_ci                  "column": 13
36623af6ab5fSopenharmony_ci                },
36633af6ab5fSopenharmony_ci                "end": {
36643af6ab5fSopenharmony_ci                  "line": 49,
36653af6ab5fSopenharmony_ci                  "column": 25
36663af6ab5fSopenharmony_ci                }
36673af6ab5fSopenharmony_ci              }
36683af6ab5fSopenharmony_ci            },
36693af6ab5fSopenharmony_ci            "overloads": [],
36703af6ab5fSopenharmony_ci            "decorators": [],
36713af6ab5fSopenharmony_ci            "loc": {
36723af6ab5fSopenharmony_ci              "start": {
36733af6ab5fSopenharmony_ci                "line": 49,
36743af6ab5fSopenharmony_ci                "column": 5
36753af6ab5fSopenharmony_ci              },
36763af6ab5fSopenharmony_ci              "end": {
36773af6ab5fSopenharmony_ci                "line": 49,
36783af6ab5fSopenharmony_ci                "column": 25
36793af6ab5fSopenharmony_ci              }
36803af6ab5fSopenharmony_ci            }
36813af6ab5fSopenharmony_ci          },
36823af6ab5fSopenharmony_ci          {
36833af6ab5fSopenharmony_ci            "type": "MethodDefinition",
36843af6ab5fSopenharmony_ci            "key": {
36853af6ab5fSopenharmony_ci              "type": "Identifier",
36863af6ab5fSopenharmony_ci              "name": "b",
36873af6ab5fSopenharmony_ci              "decorators": [],
36883af6ab5fSopenharmony_ci              "loc": {
36893af6ab5fSopenharmony_ci                "start": {
36903af6ab5fSopenharmony_ci                  "line": 50,
36913af6ab5fSopenharmony_ci                  "column": 13
36923af6ab5fSopenharmony_ci                },
36933af6ab5fSopenharmony_ci                "end": {
36943af6ab5fSopenharmony_ci                  "line": 50,
36953af6ab5fSopenharmony_ci                  "column": 14
36963af6ab5fSopenharmony_ci                }
36973af6ab5fSopenharmony_ci              }
36983af6ab5fSopenharmony_ci            },
36993af6ab5fSopenharmony_ci            "kind": "method",
37003af6ab5fSopenharmony_ci            "accessibility": "private",
37013af6ab5fSopenharmony_ci            "static": false,
37023af6ab5fSopenharmony_ci            "optional": false,
37033af6ab5fSopenharmony_ci            "computed": false,
37043af6ab5fSopenharmony_ci            "value": {
37053af6ab5fSopenharmony_ci              "type": "FunctionExpression",
37063af6ab5fSopenharmony_ci              "function": {
37073af6ab5fSopenharmony_ci                "type": "ScriptFunction",
37083af6ab5fSopenharmony_ci                "id": null,
37093af6ab5fSopenharmony_ci                "generator": false,
37103af6ab5fSopenharmony_ci                "async": false,
37113af6ab5fSopenharmony_ci                "expression": false,
37123af6ab5fSopenharmony_ci                "params": [],
37133af6ab5fSopenharmony_ci                "typeParameters": {
37143af6ab5fSopenharmony_ci                  "type": "TSTypeParameterDeclaration",
37153af6ab5fSopenharmony_ci                  "params": [
37163af6ab5fSopenharmony_ci                    {
37173af6ab5fSopenharmony_ci                      "type": "TSTypeParameter",
37183af6ab5fSopenharmony_ci                      "name": {
37193af6ab5fSopenharmony_ci                        "type": "Identifier",
37203af6ab5fSopenharmony_ci                        "name": "E",
37213af6ab5fSopenharmony_ci                        "decorators": [],
37223af6ab5fSopenharmony_ci                        "loc": {
37233af6ab5fSopenharmony_ci                          "start": {
37243af6ab5fSopenharmony_ci                            "line": 50,
37253af6ab5fSopenharmony_ci                            "column": 15
37263af6ab5fSopenharmony_ci                          },
37273af6ab5fSopenharmony_ci                          "end": {
37283af6ab5fSopenharmony_ci                            "line": 50,
37293af6ab5fSopenharmony_ci                            "column": 16
37303af6ab5fSopenharmony_ci                          }
37313af6ab5fSopenharmony_ci                        }
37323af6ab5fSopenharmony_ci                      },
37333af6ab5fSopenharmony_ci                      "constraint": {
37343af6ab5fSopenharmony_ci                        "type": "TSFunctionType",
37353af6ab5fSopenharmony_ci                        "params": [
37363af6ab5fSopenharmony_ci                          {
37373af6ab5fSopenharmony_ci                            "type": "Identifier",
37383af6ab5fSopenharmony_ci                            "name": "a",
37393af6ab5fSopenharmony_ci                            "typeAnnotation": {
37403af6ab5fSopenharmony_ci                              "type": "TSNumberKeyword",
37413af6ab5fSopenharmony_ci                              "loc": {
37423af6ab5fSopenharmony_ci                                "start": {
37433af6ab5fSopenharmony_ci                                  "line": 50,
37443af6ab5fSopenharmony_ci                                  "column": 29
37453af6ab5fSopenharmony_ci                                },
37463af6ab5fSopenharmony_ci                                "end": {
37473af6ab5fSopenharmony_ci                                  "line": 50,
37483af6ab5fSopenharmony_ci                                  "column": 35
37493af6ab5fSopenharmony_ci                                }
37503af6ab5fSopenharmony_ci                              }
37513af6ab5fSopenharmony_ci                            },
37523af6ab5fSopenharmony_ci                            "decorators": [],
37533af6ab5fSopenharmony_ci                            "loc": {
37543af6ab5fSopenharmony_ci                              "start": {
37553af6ab5fSopenharmony_ci                                "line": 50,
37563af6ab5fSopenharmony_ci                                "column": 26
37573af6ab5fSopenharmony_ci                              },
37583af6ab5fSopenharmony_ci                              "end": {
37593af6ab5fSopenharmony_ci                                "line": 50,
37603af6ab5fSopenharmony_ci                                "column": 27
37613af6ab5fSopenharmony_ci                              }
37623af6ab5fSopenharmony_ci                            }
37633af6ab5fSopenharmony_ci                          },
37643af6ab5fSopenharmony_ci                          {
37653af6ab5fSopenharmony_ci                            "type": "Identifier",
37663af6ab5fSopenharmony_ci                            "name": "b",
37673af6ab5fSopenharmony_ci                            "typeAnnotation": {
37683af6ab5fSopenharmony_ci                              "type": "TSStringKeyword",
37693af6ab5fSopenharmony_ci                              "loc": {
37703af6ab5fSopenharmony_ci                                "start": {
37713af6ab5fSopenharmony_ci                                  "line": 50,
37723af6ab5fSopenharmony_ci                                  "column": 40
37733af6ab5fSopenharmony_ci                                },
37743af6ab5fSopenharmony_ci                                "end": {
37753af6ab5fSopenharmony_ci                                  "line": 50,
37763af6ab5fSopenharmony_ci                                  "column": 46
37773af6ab5fSopenharmony_ci                                }
37783af6ab5fSopenharmony_ci                              }
37793af6ab5fSopenharmony_ci                            },
37803af6ab5fSopenharmony_ci                            "decorators": [],
37813af6ab5fSopenharmony_ci                            "loc": {
37823af6ab5fSopenharmony_ci                              "start": {
37833af6ab5fSopenharmony_ci                                "line": 50,
37843af6ab5fSopenharmony_ci                                "column": 37
37853af6ab5fSopenharmony_ci                              },
37863af6ab5fSopenharmony_ci                              "end": {
37873af6ab5fSopenharmony_ci                                "line": 50,
37883af6ab5fSopenharmony_ci                                "column": 38
37893af6ab5fSopenharmony_ci                              }
37903af6ab5fSopenharmony_ci                            }
37913af6ab5fSopenharmony_ci                          }
37923af6ab5fSopenharmony_ci                        ],
37933af6ab5fSopenharmony_ci                        "returnType": {
37943af6ab5fSopenharmony_ci                          "type": "TSArrayType",
37953af6ab5fSopenharmony_ci                          "elementType": {
37963af6ab5fSopenharmony_ci                            "type": "TSAnyKeyword",
37973af6ab5fSopenharmony_ci                            "loc": {
37983af6ab5fSopenharmony_ci                              "start": {
37993af6ab5fSopenharmony_ci                                "line": 50,
38003af6ab5fSopenharmony_ci                                "column": 51
38013af6ab5fSopenharmony_ci                              },
38023af6ab5fSopenharmony_ci                              "end": {
38033af6ab5fSopenharmony_ci                                "line": 50,
38043af6ab5fSopenharmony_ci                                "column": 54
38053af6ab5fSopenharmony_ci                              }
38063af6ab5fSopenharmony_ci                            }
38073af6ab5fSopenharmony_ci                          },
38083af6ab5fSopenharmony_ci                          "loc": {
38093af6ab5fSopenharmony_ci                            "start": {
38103af6ab5fSopenharmony_ci                              "line": 50,
38113af6ab5fSopenharmony_ci                              "column": 51
38123af6ab5fSopenharmony_ci                            },
38133af6ab5fSopenharmony_ci                            "end": {
38143af6ab5fSopenharmony_ci                              "line": 50,
38153af6ab5fSopenharmony_ci                              "column": 56
38163af6ab5fSopenharmony_ci                            }
38173af6ab5fSopenharmony_ci                          }
38183af6ab5fSopenharmony_ci                        },
38193af6ab5fSopenharmony_ci                        "loc": {
38203af6ab5fSopenharmony_ci                          "start": {
38213af6ab5fSopenharmony_ci                            "line": 50,
38223af6ab5fSopenharmony_ci                            "column": 25
38233af6ab5fSopenharmony_ci                          },
38243af6ab5fSopenharmony_ci                          "end": {
38253af6ab5fSopenharmony_ci                            "line": 50,
38263af6ab5fSopenharmony_ci                            "column": 56
38273af6ab5fSopenharmony_ci                          }
38283af6ab5fSopenharmony_ci                        }
38293af6ab5fSopenharmony_ci                      },
38303af6ab5fSopenharmony_ci                      "loc": {
38313af6ab5fSopenharmony_ci                        "start": {
38323af6ab5fSopenharmony_ci                          "line": 50,
38333af6ab5fSopenharmony_ci                          "column": 15
38343af6ab5fSopenharmony_ci                        },
38353af6ab5fSopenharmony_ci                        "end": {
38363af6ab5fSopenharmony_ci                          "line": 50,
38373af6ab5fSopenharmony_ci                          "column": 57
38383af6ab5fSopenharmony_ci                        }
38393af6ab5fSopenharmony_ci                      }
38403af6ab5fSopenharmony_ci                    }
38413af6ab5fSopenharmony_ci                  ],
38423af6ab5fSopenharmony_ci                  "loc": {
38433af6ab5fSopenharmony_ci                    "start": {
38443af6ab5fSopenharmony_ci                      "line": 50,
38453af6ab5fSopenharmony_ci                      "column": 14
38463af6ab5fSopenharmony_ci                    },
38473af6ab5fSopenharmony_ci                    "end": {
38483af6ab5fSopenharmony_ci                      "line": 50,
38493af6ab5fSopenharmony_ci                      "column": 57
38503af6ab5fSopenharmony_ci                    }
38513af6ab5fSopenharmony_ci                  }
38523af6ab5fSopenharmony_ci                },
38533af6ab5fSopenharmony_ci                "body": {
38543af6ab5fSopenharmony_ci                  "type": "BlockStatement",
38553af6ab5fSopenharmony_ci                  "statements": [],
38563af6ab5fSopenharmony_ci                  "loc": {
38573af6ab5fSopenharmony_ci                    "start": {
38583af6ab5fSopenharmony_ci                      "line": 50,
38593af6ab5fSopenharmony_ci                      "column": 60
38603af6ab5fSopenharmony_ci                    },
38613af6ab5fSopenharmony_ci                    "end": {
38623af6ab5fSopenharmony_ci                      "line": 50,
38633af6ab5fSopenharmony_ci                      "column": 63
38643af6ab5fSopenharmony_ci                    }
38653af6ab5fSopenharmony_ci                  }
38663af6ab5fSopenharmony_ci                },
38673af6ab5fSopenharmony_ci                "loc": {
38683af6ab5fSopenharmony_ci                  "start": {
38693af6ab5fSopenharmony_ci                    "line": 50,
38703af6ab5fSopenharmony_ci                    "column": 14
38713af6ab5fSopenharmony_ci                  },
38723af6ab5fSopenharmony_ci                  "end": {
38733af6ab5fSopenharmony_ci                    "line": 50,
38743af6ab5fSopenharmony_ci                    "column": 63
38753af6ab5fSopenharmony_ci                  }
38763af6ab5fSopenharmony_ci                }
38773af6ab5fSopenharmony_ci              },
38783af6ab5fSopenharmony_ci              "loc": {
38793af6ab5fSopenharmony_ci                "start": {
38803af6ab5fSopenharmony_ci                  "line": 50,
38813af6ab5fSopenharmony_ci                  "column": 14
38823af6ab5fSopenharmony_ci                },
38833af6ab5fSopenharmony_ci                "end": {
38843af6ab5fSopenharmony_ci                  "line": 50,
38853af6ab5fSopenharmony_ci                  "column": 63
38863af6ab5fSopenharmony_ci                }
38873af6ab5fSopenharmony_ci              }
38883af6ab5fSopenharmony_ci            },
38893af6ab5fSopenharmony_ci            "overloads": [],
38903af6ab5fSopenharmony_ci            "decorators": [],
38913af6ab5fSopenharmony_ci            "loc": {
38923af6ab5fSopenharmony_ci              "start": {
38933af6ab5fSopenharmony_ci                "line": 50,
38943af6ab5fSopenharmony_ci                "column": 5
38953af6ab5fSopenharmony_ci              },
38963af6ab5fSopenharmony_ci              "end": {
38973af6ab5fSopenharmony_ci                "line": 50,
38983af6ab5fSopenharmony_ci                "column": 63
38993af6ab5fSopenharmony_ci              }
39003af6ab5fSopenharmony_ci            }
39013af6ab5fSopenharmony_ci          }
39023af6ab5fSopenharmony_ci        ],
39033af6ab5fSopenharmony_ci        "loc": {
39043af6ab5fSopenharmony_ci          "start": {
39053af6ab5fSopenharmony_ci            "line": 48,
39063af6ab5fSopenharmony_ci            "column": 52
39073af6ab5fSopenharmony_ci          },
39083af6ab5fSopenharmony_ci          "end": {
39093af6ab5fSopenharmony_ci            "line": 51,
39103af6ab5fSopenharmony_ci            "column": 2
39113af6ab5fSopenharmony_ci          }
39123af6ab5fSopenharmony_ci        }
39133af6ab5fSopenharmony_ci      },
39143af6ab5fSopenharmony_ci      "loc": {
39153af6ab5fSopenharmony_ci        "start": {
39163af6ab5fSopenharmony_ci          "line": 48,
39173af6ab5fSopenharmony_ci          "column": 1
39183af6ab5fSopenharmony_ci        },
39193af6ab5fSopenharmony_ci        "end": {
39203af6ab5fSopenharmony_ci          "line": 51,
39213af6ab5fSopenharmony_ci          "column": 2
39223af6ab5fSopenharmony_ci        }
39233af6ab5fSopenharmony_ci      }
39243af6ab5fSopenharmony_ci    },
39253af6ab5fSopenharmony_ci    {
39263af6ab5fSopenharmony_ci      "type": "ClassDeclaration",
39273af6ab5fSopenharmony_ci      "definition": {
39283af6ab5fSopenharmony_ci        "id": {
39293af6ab5fSopenharmony_ci          "type": "Identifier",
39303af6ab5fSopenharmony_ci          "name": "W",
39313af6ab5fSopenharmony_ci          "decorators": [],
39323af6ab5fSopenharmony_ci          "loc": {
39333af6ab5fSopenharmony_ci            "start": {
39343af6ab5fSopenharmony_ci              "line": 53,
39353af6ab5fSopenharmony_ci              "column": 7
39363af6ab5fSopenharmony_ci            },
39373af6ab5fSopenharmony_ci            "end": {
39383af6ab5fSopenharmony_ci              "line": 53,
39393af6ab5fSopenharmony_ci              "column": 8
39403af6ab5fSopenharmony_ci            }
39413af6ab5fSopenharmony_ci          }
39423af6ab5fSopenharmony_ci        },
39433af6ab5fSopenharmony_ci        "superClass": {
39443af6ab5fSopenharmony_ci          "type": "Identifier",
39453af6ab5fSopenharmony_ci          "name": "T",
39463af6ab5fSopenharmony_ci          "decorators": [],
39473af6ab5fSopenharmony_ci          "loc": {
39483af6ab5fSopenharmony_ci            "start": {
39493af6ab5fSopenharmony_ci              "line": 53,
39503af6ab5fSopenharmony_ci              "column": 17
39513af6ab5fSopenharmony_ci            },
39523af6ab5fSopenharmony_ci            "end": {
39533af6ab5fSopenharmony_ci              "line": 53,
39543af6ab5fSopenharmony_ci              "column": 18
39553af6ab5fSopenharmony_ci            }
39563af6ab5fSopenharmony_ci          }
39573af6ab5fSopenharmony_ci        },
39583af6ab5fSopenharmony_ci        "superTypeParameters": {
39593af6ab5fSopenharmony_ci          "type": "TSTypeParameterInstantiation",
39603af6ab5fSopenharmony_ci          "params": [
39613af6ab5fSopenharmony_ci            {
39623af6ab5fSopenharmony_ci              "type": "TSFunctionType",
39633af6ab5fSopenharmony_ci              "params": [],
39643af6ab5fSopenharmony_ci              "typeParameters": {
39653af6ab5fSopenharmony_ci                "type": "TSTypeParameterDeclaration",
39663af6ab5fSopenharmony_ci                "params": [
39673af6ab5fSopenharmony_ci                  {
39683af6ab5fSopenharmony_ci                    "type": "TSTypeParameter",
39693af6ab5fSopenharmony_ci                    "name": {
39703af6ab5fSopenharmony_ci                      "type": "Identifier",
39713af6ab5fSopenharmony_ci                      "name": "B",
39723af6ab5fSopenharmony_ci                      "decorators": [],
39733af6ab5fSopenharmony_ci                      "loc": {
39743af6ab5fSopenharmony_ci                        "start": {
39753af6ab5fSopenharmony_ci                          "line": 53,
39763af6ab5fSopenharmony_ci                          "column": 20
39773af6ab5fSopenharmony_ci                        },
39783af6ab5fSopenharmony_ci                        "end": {
39793af6ab5fSopenharmony_ci                          "line": 53,
39803af6ab5fSopenharmony_ci                          "column": 21
39813af6ab5fSopenharmony_ci                        }
39823af6ab5fSopenharmony_ci                      }
39833af6ab5fSopenharmony_ci                    },
39843af6ab5fSopenharmony_ci                    "loc": {
39853af6ab5fSopenharmony_ci                      "start": {
39863af6ab5fSopenharmony_ci                        "line": 53,
39873af6ab5fSopenharmony_ci                        "column": 20
39883af6ab5fSopenharmony_ci                      },
39893af6ab5fSopenharmony_ci                      "end": {
39903af6ab5fSopenharmony_ci                        "line": 53,
39913af6ab5fSopenharmony_ci                        "column": 22
39923af6ab5fSopenharmony_ci                      }
39933af6ab5fSopenharmony_ci                    }
39943af6ab5fSopenharmony_ci                  }
39953af6ab5fSopenharmony_ci                ],
39963af6ab5fSopenharmony_ci                "loc": {
39973af6ab5fSopenharmony_ci                  "start": {
39983af6ab5fSopenharmony_ci                    "line": 53,
39993af6ab5fSopenharmony_ci                    "column": 19
40003af6ab5fSopenharmony_ci                  },
40013af6ab5fSopenharmony_ci                  "end": {
40023af6ab5fSopenharmony_ci                    "line": 53,
40033af6ab5fSopenharmony_ci                    "column": 22
40043af6ab5fSopenharmony_ci                  }
40053af6ab5fSopenharmony_ci                }
40063af6ab5fSopenharmony_ci              },
40073af6ab5fSopenharmony_ci              "returnType": {
40083af6ab5fSopenharmony_ci                "type": "TSNumberKeyword",
40093af6ab5fSopenharmony_ci                "loc": {
40103af6ab5fSopenharmony_ci                  "start": {
40113af6ab5fSopenharmony_ci                    "line": 53,
40123af6ab5fSopenharmony_ci                    "column": 29
40133af6ab5fSopenharmony_ci                  },
40143af6ab5fSopenharmony_ci                  "end": {
40153af6ab5fSopenharmony_ci                    "line": 53,
40163af6ab5fSopenharmony_ci                    "column": 35
40173af6ab5fSopenharmony_ci                  }
40183af6ab5fSopenharmony_ci                }
40193af6ab5fSopenharmony_ci              },
40203af6ab5fSopenharmony_ci              "loc": {
40213af6ab5fSopenharmony_ci                "start": {
40223af6ab5fSopenharmony_ci                  "line": 53,
40233af6ab5fSopenharmony_ci                  "column": 19
40243af6ab5fSopenharmony_ci                },
40253af6ab5fSopenharmony_ci                "end": {
40263af6ab5fSopenharmony_ci                  "line": 53,
40273af6ab5fSopenharmony_ci                  "column": 35
40283af6ab5fSopenharmony_ci                }
40293af6ab5fSopenharmony_ci              }
40303af6ab5fSopenharmony_ci            },
40313af6ab5fSopenharmony_ci            {
40323af6ab5fSopenharmony_ci              "type": "TSArrayType",
40333af6ab5fSopenharmony_ci              "elementType": {
40343af6ab5fSopenharmony_ci                "type": "TSTupleType",
40353af6ab5fSopenharmony_ci                "elementTypes": [
40363af6ab5fSopenharmony_ci                  {
40373af6ab5fSopenharmony_ci                    "type": "TSUnionType",
40383af6ab5fSopenharmony_ci                    "types": [
40393af6ab5fSopenharmony_ci                      {
40403af6ab5fSopenharmony_ci                        "type": "TSNumberKeyword",
40413af6ab5fSopenharmony_ci                        "loc": {
40423af6ab5fSopenharmony_ci                          "start": {
40433af6ab5fSopenharmony_ci                            "line": 53,
40443af6ab5fSopenharmony_ci                            "column": 38
40453af6ab5fSopenharmony_ci                          },
40463af6ab5fSopenharmony_ci                          "end": {
40473af6ab5fSopenharmony_ci                            "line": 53,
40483af6ab5fSopenharmony_ci                            "column": 44
40493af6ab5fSopenharmony_ci                          }
40503af6ab5fSopenharmony_ci                        }
40513af6ab5fSopenharmony_ci                      },
40523af6ab5fSopenharmony_ci                      {
40533af6ab5fSopenharmony_ci                        "type": "TSStringKeyword",
40543af6ab5fSopenharmony_ci                        "loc": {
40553af6ab5fSopenharmony_ci                          "start": {
40563af6ab5fSopenharmony_ci                            "line": 53,
40573af6ab5fSopenharmony_ci                            "column": 47
40583af6ab5fSopenharmony_ci                          },
40593af6ab5fSopenharmony_ci                          "end": {
40603af6ab5fSopenharmony_ci                            "line": 53,
40613af6ab5fSopenharmony_ci                            "column": 53
40623af6ab5fSopenharmony_ci                          }
40633af6ab5fSopenharmony_ci                        }
40643af6ab5fSopenharmony_ci                      }
40653af6ab5fSopenharmony_ci                    ],
40663af6ab5fSopenharmony_ci                    "loc": {
40673af6ab5fSopenharmony_ci                      "start": {
40683af6ab5fSopenharmony_ci                        "line": 53,
40693af6ab5fSopenharmony_ci                        "column": 38
40703af6ab5fSopenharmony_ci                      },
40713af6ab5fSopenharmony_ci                      "end": {
40723af6ab5fSopenharmony_ci                        "line": 53,
40733af6ab5fSopenharmony_ci                        "column": 54
40743af6ab5fSopenharmony_ci                      }
40753af6ab5fSopenharmony_ci                    }
40763af6ab5fSopenharmony_ci                  }
40773af6ab5fSopenharmony_ci                ],
40783af6ab5fSopenharmony_ci                "loc": {
40793af6ab5fSopenharmony_ci                  "start": {
40803af6ab5fSopenharmony_ci                    "line": 53,
40813af6ab5fSopenharmony_ci                    "column": 37
40823af6ab5fSopenharmony_ci                  },
40833af6ab5fSopenharmony_ci                  "end": {
40843af6ab5fSopenharmony_ci                    "line": 53,
40853af6ab5fSopenharmony_ci                    "column": 54
40863af6ab5fSopenharmony_ci                  }
40873af6ab5fSopenharmony_ci                }
40883af6ab5fSopenharmony_ci              },
40893af6ab5fSopenharmony_ci              "loc": {
40903af6ab5fSopenharmony_ci                "start": {
40913af6ab5fSopenharmony_ci                  "line": 53,
40923af6ab5fSopenharmony_ci                  "column": 37
40933af6ab5fSopenharmony_ci                },
40943af6ab5fSopenharmony_ci                "end": {
40953af6ab5fSopenharmony_ci                  "line": 53,
40963af6ab5fSopenharmony_ci                  "column": 56
40973af6ab5fSopenharmony_ci                }
40983af6ab5fSopenharmony_ci              }
40993af6ab5fSopenharmony_ci            }
41003af6ab5fSopenharmony_ci          ],
41013af6ab5fSopenharmony_ci          "loc": {
41023af6ab5fSopenharmony_ci            "start": {
41033af6ab5fSopenharmony_ci              "line": 53,
41043af6ab5fSopenharmony_ci              "column": 18
41053af6ab5fSopenharmony_ci            },
41063af6ab5fSopenharmony_ci            "end": {
41073af6ab5fSopenharmony_ci              "line": 53,
41083af6ab5fSopenharmony_ci              "column": 57
41093af6ab5fSopenharmony_ci            }
41103af6ab5fSopenharmony_ci          }
41113af6ab5fSopenharmony_ci        },
41123af6ab5fSopenharmony_ci        "implements": [],
41133af6ab5fSopenharmony_ci        "constructor": {
41143af6ab5fSopenharmony_ci          "type": "MethodDefinition",
41153af6ab5fSopenharmony_ci          "key": {
41163af6ab5fSopenharmony_ci            "type": "Identifier",
41173af6ab5fSopenharmony_ci            "name": "constructor",
41183af6ab5fSopenharmony_ci            "decorators": [],
41193af6ab5fSopenharmony_ci            "loc": {
41203af6ab5fSopenharmony_ci              "start": {
41213af6ab5fSopenharmony_ci                "line": 1,
41223af6ab5fSopenharmony_ci                "column": 1
41233af6ab5fSopenharmony_ci              },
41243af6ab5fSopenharmony_ci              "end": {
41253af6ab5fSopenharmony_ci                "line": 1,
41263af6ab5fSopenharmony_ci                "column": 1
41273af6ab5fSopenharmony_ci              }
41283af6ab5fSopenharmony_ci            }
41293af6ab5fSopenharmony_ci          },
41303af6ab5fSopenharmony_ci          "kind": "constructor",
41313af6ab5fSopenharmony_ci          "static": false,
41323af6ab5fSopenharmony_ci          "optional": false,
41333af6ab5fSopenharmony_ci          "computed": false,
41343af6ab5fSopenharmony_ci          "value": {
41353af6ab5fSopenharmony_ci            "type": "FunctionExpression",
41363af6ab5fSopenharmony_ci            "function": {
41373af6ab5fSopenharmony_ci              "type": "ScriptFunction",
41383af6ab5fSopenharmony_ci              "id": null,
41393af6ab5fSopenharmony_ci              "generator": false,
41403af6ab5fSopenharmony_ci              "async": false,
41413af6ab5fSopenharmony_ci              "expression": false,
41423af6ab5fSopenharmony_ci              "params": [
41433af6ab5fSopenharmony_ci                {
41443af6ab5fSopenharmony_ci                  "type": "RestElement",
41453af6ab5fSopenharmony_ci                  "argument": {
41463af6ab5fSopenharmony_ci                    "type": "Identifier",
41473af6ab5fSopenharmony_ci                    "name": "args",
41483af6ab5fSopenharmony_ci                    "decorators": [],
41493af6ab5fSopenharmony_ci                    "loc": {
41503af6ab5fSopenharmony_ci                      "start": {
41513af6ab5fSopenharmony_ci                        "line": 1,
41523af6ab5fSopenharmony_ci                        "column": 1
41533af6ab5fSopenharmony_ci                      },
41543af6ab5fSopenharmony_ci                      "end": {
41553af6ab5fSopenharmony_ci                        "line": 1,
41563af6ab5fSopenharmony_ci                        "column": 1
41573af6ab5fSopenharmony_ci                      }
41583af6ab5fSopenharmony_ci                    }
41593af6ab5fSopenharmony_ci                  },
41603af6ab5fSopenharmony_ci                  "loc": {
41613af6ab5fSopenharmony_ci                    "start": {
41623af6ab5fSopenharmony_ci                      "line": 1,
41633af6ab5fSopenharmony_ci                      "column": 1
41643af6ab5fSopenharmony_ci                    },
41653af6ab5fSopenharmony_ci                    "end": {
41663af6ab5fSopenharmony_ci                      "line": 1,
41673af6ab5fSopenharmony_ci                      "column": 1
41683af6ab5fSopenharmony_ci                    }
41693af6ab5fSopenharmony_ci                  }
41703af6ab5fSopenharmony_ci                }
41713af6ab5fSopenharmony_ci              ],
41723af6ab5fSopenharmony_ci              "body": {
41733af6ab5fSopenharmony_ci                "type": "BlockStatement",
41743af6ab5fSopenharmony_ci                "statements": [
41753af6ab5fSopenharmony_ci                  {
41763af6ab5fSopenharmony_ci                    "type": "ExpressionStatement",
41773af6ab5fSopenharmony_ci                    "expression": {
41783af6ab5fSopenharmony_ci                      "type": "CallExpression",
41793af6ab5fSopenharmony_ci                      "callee": {
41803af6ab5fSopenharmony_ci                        "type": "Super",
41813af6ab5fSopenharmony_ci                        "loc": {
41823af6ab5fSopenharmony_ci                          "start": {
41833af6ab5fSopenharmony_ci                            "line": 1,
41843af6ab5fSopenharmony_ci                            "column": 1
41853af6ab5fSopenharmony_ci                          },
41863af6ab5fSopenharmony_ci                          "end": {
41873af6ab5fSopenharmony_ci                            "line": 1,
41883af6ab5fSopenharmony_ci                            "column": 1
41893af6ab5fSopenharmony_ci                          }
41903af6ab5fSopenharmony_ci                        }
41913af6ab5fSopenharmony_ci                      },
41923af6ab5fSopenharmony_ci                      "arguments": [
41933af6ab5fSopenharmony_ci                        {
41943af6ab5fSopenharmony_ci                          "type": "SpreadElement",
41953af6ab5fSopenharmony_ci                          "argument": {
41963af6ab5fSopenharmony_ci                            "type": "Identifier",
41973af6ab5fSopenharmony_ci                            "name": "args",
41983af6ab5fSopenharmony_ci                            "decorators": [],
41993af6ab5fSopenharmony_ci                            "loc": {
42003af6ab5fSopenharmony_ci                              "start": {
42013af6ab5fSopenharmony_ci                                "line": 1,
42023af6ab5fSopenharmony_ci                                "column": 1
42033af6ab5fSopenharmony_ci                              },
42043af6ab5fSopenharmony_ci                              "end": {
42053af6ab5fSopenharmony_ci                                "line": 1,
42063af6ab5fSopenharmony_ci                                "column": 1
42073af6ab5fSopenharmony_ci                              }
42083af6ab5fSopenharmony_ci                            }
42093af6ab5fSopenharmony_ci                          },
42103af6ab5fSopenharmony_ci                          "loc": {
42113af6ab5fSopenharmony_ci                            "start": {
42123af6ab5fSopenharmony_ci                              "line": 1,
42133af6ab5fSopenharmony_ci                              "column": 1
42143af6ab5fSopenharmony_ci                            },
42153af6ab5fSopenharmony_ci                            "end": {
42163af6ab5fSopenharmony_ci                              "line": 1,
42173af6ab5fSopenharmony_ci                              "column": 1
42183af6ab5fSopenharmony_ci                            }
42193af6ab5fSopenharmony_ci                          }
42203af6ab5fSopenharmony_ci                        }
42213af6ab5fSopenharmony_ci                      ],
42223af6ab5fSopenharmony_ci                      "optional": false,
42233af6ab5fSopenharmony_ci                      "loc": {
42243af6ab5fSopenharmony_ci                        "start": {
42253af6ab5fSopenharmony_ci                          "line": 1,
42263af6ab5fSopenharmony_ci                          "column": 1
42273af6ab5fSopenharmony_ci                        },
42283af6ab5fSopenharmony_ci                        "end": {
42293af6ab5fSopenharmony_ci                          "line": 1,
42303af6ab5fSopenharmony_ci                          "column": 1
42313af6ab5fSopenharmony_ci                        }
42323af6ab5fSopenharmony_ci                      }
42333af6ab5fSopenharmony_ci                    },
42343af6ab5fSopenharmony_ci                    "loc": {
42353af6ab5fSopenharmony_ci                      "start": {
42363af6ab5fSopenharmony_ci                        "line": 1,
42373af6ab5fSopenharmony_ci                        "column": 1
42383af6ab5fSopenharmony_ci                      },
42393af6ab5fSopenharmony_ci                      "end": {
42403af6ab5fSopenharmony_ci                        "line": 1,
42413af6ab5fSopenharmony_ci                        "column": 1
42423af6ab5fSopenharmony_ci                      }
42433af6ab5fSopenharmony_ci                    }
42443af6ab5fSopenharmony_ci                  }
42453af6ab5fSopenharmony_ci                ],
42463af6ab5fSopenharmony_ci                "loc": {
42473af6ab5fSopenharmony_ci                  "start": {
42483af6ab5fSopenharmony_ci                    "line": 1,
42493af6ab5fSopenharmony_ci                    "column": 1
42503af6ab5fSopenharmony_ci                  },
42513af6ab5fSopenharmony_ci                  "end": {
42523af6ab5fSopenharmony_ci                    "line": 1,
42533af6ab5fSopenharmony_ci                    "column": 1
42543af6ab5fSopenharmony_ci                  }
42553af6ab5fSopenharmony_ci                }
42563af6ab5fSopenharmony_ci              },
42573af6ab5fSopenharmony_ci              "loc": {
42583af6ab5fSopenharmony_ci                "start": {
42593af6ab5fSopenharmony_ci                  "line": 1,
42603af6ab5fSopenharmony_ci                  "column": 1
42613af6ab5fSopenharmony_ci                },
42623af6ab5fSopenharmony_ci                "end": {
42633af6ab5fSopenharmony_ci                  "line": 1,
42643af6ab5fSopenharmony_ci                  "column": 1
42653af6ab5fSopenharmony_ci                }
42663af6ab5fSopenharmony_ci              }
42673af6ab5fSopenharmony_ci            },
42683af6ab5fSopenharmony_ci            "loc": {
42693af6ab5fSopenharmony_ci              "start": {
42703af6ab5fSopenharmony_ci                "line": 1,
42713af6ab5fSopenharmony_ci                "column": 1
42723af6ab5fSopenharmony_ci              },
42733af6ab5fSopenharmony_ci              "end": {
42743af6ab5fSopenharmony_ci                "line": 1,
42753af6ab5fSopenharmony_ci                "column": 1
42763af6ab5fSopenharmony_ci              }
42773af6ab5fSopenharmony_ci            }
42783af6ab5fSopenharmony_ci          },
42793af6ab5fSopenharmony_ci          "overloads": [],
42803af6ab5fSopenharmony_ci          "decorators": [],
42813af6ab5fSopenharmony_ci          "loc": {
42823af6ab5fSopenharmony_ci            "start": {
42833af6ab5fSopenharmony_ci              "line": 55,
42843af6ab5fSopenharmony_ci              "column": 2
42853af6ab5fSopenharmony_ci            },
42863af6ab5fSopenharmony_ci            "end": {
42873af6ab5fSopenharmony_ci              "line": 55,
42883af6ab5fSopenharmony_ci              "column": 2
42893af6ab5fSopenharmony_ci            }
42903af6ab5fSopenharmony_ci          }
42913af6ab5fSopenharmony_ci        },
42923af6ab5fSopenharmony_ci        "body": [],
42933af6ab5fSopenharmony_ci        "loc": {
42943af6ab5fSopenharmony_ci          "start": {
42953af6ab5fSopenharmony_ci            "line": 53,
42963af6ab5fSopenharmony_ci            "column": 58
42973af6ab5fSopenharmony_ci          },
42983af6ab5fSopenharmony_ci          "end": {
42993af6ab5fSopenharmony_ci            "line": 55,
43003af6ab5fSopenharmony_ci            "column": 2
43013af6ab5fSopenharmony_ci          }
43023af6ab5fSopenharmony_ci        }
43033af6ab5fSopenharmony_ci      },
43043af6ab5fSopenharmony_ci      "loc": {
43053af6ab5fSopenharmony_ci        "start": {
43063af6ab5fSopenharmony_ci          "line": 53,
43073af6ab5fSopenharmony_ci          "column": 1
43083af6ab5fSopenharmony_ci        },
43093af6ab5fSopenharmony_ci        "end": {
43103af6ab5fSopenharmony_ci          "line": 55,
43113af6ab5fSopenharmony_ci          "column": 2
43123af6ab5fSopenharmony_ci        }
43133af6ab5fSopenharmony_ci      }
43143af6ab5fSopenharmony_ci    },
43153af6ab5fSopenharmony_ci    {
43163af6ab5fSopenharmony_ci      "type": "ClassDeclaration",
43173af6ab5fSopenharmony_ci      "definition": {
43183af6ab5fSopenharmony_ci        "id": {
43193af6ab5fSopenharmony_ci          "type": "Identifier",
43203af6ab5fSopenharmony_ci          "name": "X",
43213af6ab5fSopenharmony_ci          "decorators": [],
43223af6ab5fSopenharmony_ci          "loc": {
43233af6ab5fSopenharmony_ci            "start": {
43243af6ab5fSopenharmony_ci              "line": 57,
43253af6ab5fSopenharmony_ci              "column": 7
43263af6ab5fSopenharmony_ci            },
43273af6ab5fSopenharmony_ci            "end": {
43283af6ab5fSopenharmony_ci              "line": 57,
43293af6ab5fSopenharmony_ci              "column": 8
43303af6ab5fSopenharmony_ci            }
43313af6ab5fSopenharmony_ci          }
43323af6ab5fSopenharmony_ci        },
43333af6ab5fSopenharmony_ci        "superClass": {
43343af6ab5fSopenharmony_ci          "type": "Identifier",
43353af6ab5fSopenharmony_ci          "name": "Q",
43363af6ab5fSopenharmony_ci          "decorators": [],
43373af6ab5fSopenharmony_ci          "loc": {
43383af6ab5fSopenharmony_ci            "start": {
43393af6ab5fSopenharmony_ci              "line": 57,
43403af6ab5fSopenharmony_ci              "column": 17
43413af6ab5fSopenharmony_ci            },
43423af6ab5fSopenharmony_ci            "end": {
43433af6ab5fSopenharmony_ci              "line": 57,
43443af6ab5fSopenharmony_ci              "column": 18
43453af6ab5fSopenharmony_ci            }
43463af6ab5fSopenharmony_ci          }
43473af6ab5fSopenharmony_ci        },
43483af6ab5fSopenharmony_ci        "superTypeParameters": {
43493af6ab5fSopenharmony_ci          "type": "TSTypeParameterInstantiation",
43503af6ab5fSopenharmony_ci          "params": [
43513af6ab5fSopenharmony_ci            {
43523af6ab5fSopenharmony_ci              "type": "TSNumberKeyword",
43533af6ab5fSopenharmony_ci              "loc": {
43543af6ab5fSopenharmony_ci                "start": {
43553af6ab5fSopenharmony_ci                  "line": 57,
43563af6ab5fSopenharmony_ci                  "column": 19
43573af6ab5fSopenharmony_ci                },
43583af6ab5fSopenharmony_ci                "end": {
43593af6ab5fSopenharmony_ci                  "line": 57,
43603af6ab5fSopenharmony_ci                  "column": 25
43613af6ab5fSopenharmony_ci                }
43623af6ab5fSopenharmony_ci              }
43633af6ab5fSopenharmony_ci            }
43643af6ab5fSopenharmony_ci          ],
43653af6ab5fSopenharmony_ci          "loc": {
43663af6ab5fSopenharmony_ci            "start": {
43673af6ab5fSopenharmony_ci              "line": 57,
43683af6ab5fSopenharmony_ci              "column": 18
43693af6ab5fSopenharmony_ci            },
43703af6ab5fSopenharmony_ci            "end": {
43713af6ab5fSopenharmony_ci              "line": 57,
43723af6ab5fSopenharmony_ci              "column": 26
43733af6ab5fSopenharmony_ci            }
43743af6ab5fSopenharmony_ci          }
43753af6ab5fSopenharmony_ci        },
43763af6ab5fSopenharmony_ci        "implements": [
43773af6ab5fSopenharmony_ci          {
43783af6ab5fSopenharmony_ci            "type": "TSClassImplements",
43793af6ab5fSopenharmony_ci            "expression": {
43803af6ab5fSopenharmony_ci              "type": "Identifier",
43813af6ab5fSopenharmony_ci              "name": "S",
43823af6ab5fSopenharmony_ci              "decorators": [],
43833af6ab5fSopenharmony_ci              "loc": {
43843af6ab5fSopenharmony_ci                "start": {
43853af6ab5fSopenharmony_ci                  "line": 57,
43863af6ab5fSopenharmony_ci                  "column": 38
43873af6ab5fSopenharmony_ci                },
43883af6ab5fSopenharmony_ci                "end": {
43893af6ab5fSopenharmony_ci                  "line": 57,
43903af6ab5fSopenharmony_ci                  "column": 39
43913af6ab5fSopenharmony_ci                }
43923af6ab5fSopenharmony_ci              }
43933af6ab5fSopenharmony_ci            },
43943af6ab5fSopenharmony_ci            "typeParameters": {
43953af6ab5fSopenharmony_ci              "type": "TSTypeParameterInstantiation",
43963af6ab5fSopenharmony_ci              "params": [
43973af6ab5fSopenharmony_ci                {
43983af6ab5fSopenharmony_ci                  "type": "TSFunctionType",
43993af6ab5fSopenharmony_ci                  "params": [
44003af6ab5fSopenharmony_ci                    {
44013af6ab5fSopenharmony_ci                      "type": "Identifier",
44023af6ab5fSopenharmony_ci                      "name": "a",
44033af6ab5fSopenharmony_ci                      "typeAnnotation": {
44043af6ab5fSopenharmony_ci                        "type": "TSNumberKeyword",
44053af6ab5fSopenharmony_ci                        "loc": {
44063af6ab5fSopenharmony_ci                          "start": {
44073af6ab5fSopenharmony_ci                            "line": 57,
44083af6ab5fSopenharmony_ci                            "column": 46
44093af6ab5fSopenharmony_ci                          },
44103af6ab5fSopenharmony_ci                          "end": {
44113af6ab5fSopenharmony_ci                            "line": 57,
44123af6ab5fSopenharmony_ci                            "column": 52
44133af6ab5fSopenharmony_ci                          }
44143af6ab5fSopenharmony_ci                        }
44153af6ab5fSopenharmony_ci                      },
44163af6ab5fSopenharmony_ci                      "decorators": [],
44173af6ab5fSopenharmony_ci                      "loc": {
44183af6ab5fSopenharmony_ci                        "start": {
44193af6ab5fSopenharmony_ci                          "line": 57,
44203af6ab5fSopenharmony_ci                          "column": 44
44213af6ab5fSopenharmony_ci                        },
44223af6ab5fSopenharmony_ci                        "end": {
44233af6ab5fSopenharmony_ci                          "line": 57,
44243af6ab5fSopenharmony_ci                          "column": 45
44253af6ab5fSopenharmony_ci                        }
44263af6ab5fSopenharmony_ci                      }
44273af6ab5fSopenharmony_ci                    },
44283af6ab5fSopenharmony_ci                    {
44293af6ab5fSopenharmony_ci                      "type": "Identifier",
44303af6ab5fSopenharmony_ci                      "name": "b",
44313af6ab5fSopenharmony_ci                      "typeAnnotation": {
44323af6ab5fSopenharmony_ci                        "type": "TSStringKeyword",
44333af6ab5fSopenharmony_ci                        "loc": {
44343af6ab5fSopenharmony_ci                          "start": {
44353af6ab5fSopenharmony_ci                            "line": 57,
44363af6ab5fSopenharmony_ci                            "column": 56
44373af6ab5fSopenharmony_ci                          },
44383af6ab5fSopenharmony_ci                          "end": {
44393af6ab5fSopenharmony_ci                            "line": 57,
44403af6ab5fSopenharmony_ci                            "column": 62
44413af6ab5fSopenharmony_ci                          }
44423af6ab5fSopenharmony_ci                        }
44433af6ab5fSopenharmony_ci                      },
44443af6ab5fSopenharmony_ci                      "decorators": [],
44453af6ab5fSopenharmony_ci                      "loc": {
44463af6ab5fSopenharmony_ci                        "start": {
44473af6ab5fSopenharmony_ci                          "line": 57,
44483af6ab5fSopenharmony_ci                          "column": 54
44493af6ab5fSopenharmony_ci                        },
44503af6ab5fSopenharmony_ci                        "end": {
44513af6ab5fSopenharmony_ci                          "line": 57,
44523af6ab5fSopenharmony_ci                          "column": 55
44533af6ab5fSopenharmony_ci                        }
44543af6ab5fSopenharmony_ci                      }
44553af6ab5fSopenharmony_ci                    }
44563af6ab5fSopenharmony_ci                  ],
44573af6ab5fSopenharmony_ci                  "typeParameters": {
44583af6ab5fSopenharmony_ci                    "type": "TSTypeParameterDeclaration",
44593af6ab5fSopenharmony_ci                    "params": [
44603af6ab5fSopenharmony_ci                      {
44613af6ab5fSopenharmony_ci                        "type": "TSTypeParameter",
44623af6ab5fSopenharmony_ci                        "name": {
44633af6ab5fSopenharmony_ci                          "type": "Identifier",
44643af6ab5fSopenharmony_ci                          "name": "R",
44653af6ab5fSopenharmony_ci                          "decorators": [],
44663af6ab5fSopenharmony_ci                          "loc": {
44673af6ab5fSopenharmony_ci                            "start": {
44683af6ab5fSopenharmony_ci                              "line": 57,
44693af6ab5fSopenharmony_ci                              "column": 41
44703af6ab5fSopenharmony_ci                            },
44713af6ab5fSopenharmony_ci                            "end": {
44723af6ab5fSopenharmony_ci                              "line": 57,
44733af6ab5fSopenharmony_ci                              "column": 42
44743af6ab5fSopenharmony_ci                            }
44753af6ab5fSopenharmony_ci                          }
44763af6ab5fSopenharmony_ci                        },
44773af6ab5fSopenharmony_ci                        "loc": {
44783af6ab5fSopenharmony_ci                          "start": {
44793af6ab5fSopenharmony_ci                            "line": 57,
44803af6ab5fSopenharmony_ci                            "column": 41
44813af6ab5fSopenharmony_ci                          },
44823af6ab5fSopenharmony_ci                          "end": {
44833af6ab5fSopenharmony_ci                            "line": 57,
44843af6ab5fSopenharmony_ci                            "column": 43
44853af6ab5fSopenharmony_ci                          }
44863af6ab5fSopenharmony_ci                        }
44873af6ab5fSopenharmony_ci                      }
44883af6ab5fSopenharmony_ci                    ],
44893af6ab5fSopenharmony_ci                    "loc": {
44903af6ab5fSopenharmony_ci                      "start": {
44913af6ab5fSopenharmony_ci                        "line": 57,
44923af6ab5fSopenharmony_ci                        "column": 40
44933af6ab5fSopenharmony_ci                      },
44943af6ab5fSopenharmony_ci                      "end": {
44953af6ab5fSopenharmony_ci                        "line": 57,
44963af6ab5fSopenharmony_ci                        "column": 43
44973af6ab5fSopenharmony_ci                      }
44983af6ab5fSopenharmony_ci                    }
44993af6ab5fSopenharmony_ci                  },
45003af6ab5fSopenharmony_ci                  "returnType": {
45013af6ab5fSopenharmony_ci                    "type": "TSTupleType",
45023af6ab5fSopenharmony_ci                    "elementTypes": [
45033af6ab5fSopenharmony_ci                      {
45043af6ab5fSopenharmony_ci                        "type": "TSNumberKeyword",
45053af6ab5fSopenharmony_ci                        "loc": {
45063af6ab5fSopenharmony_ci                          "start": {
45073af6ab5fSopenharmony_ci                            "line": 57,
45083af6ab5fSopenharmony_ci                            "column": 68
45093af6ab5fSopenharmony_ci                          },
45103af6ab5fSopenharmony_ci                          "end": {
45113af6ab5fSopenharmony_ci                            "line": 57,
45123af6ab5fSopenharmony_ci                            "column": 75
45133af6ab5fSopenharmony_ci                          }
45143af6ab5fSopenharmony_ci                        }
45153af6ab5fSopenharmony_ci                      }
45163af6ab5fSopenharmony_ci                    ],
45173af6ab5fSopenharmony_ci                    "loc": {
45183af6ab5fSopenharmony_ci                      "start": {
45193af6ab5fSopenharmony_ci                        "line": 57,
45203af6ab5fSopenharmony_ci                        "column": 67
45213af6ab5fSopenharmony_ci                      },
45223af6ab5fSopenharmony_ci                      "end": {
45233af6ab5fSopenharmony_ci                        "line": 57,
45243af6ab5fSopenharmony_ci                        "column": 75
45253af6ab5fSopenharmony_ci                      }
45263af6ab5fSopenharmony_ci                    }
45273af6ab5fSopenharmony_ci                  },
45283af6ab5fSopenharmony_ci                  "loc": {
45293af6ab5fSopenharmony_ci                    "start": {
45303af6ab5fSopenharmony_ci                      "line": 57,
45313af6ab5fSopenharmony_ci                      "column": 40
45323af6ab5fSopenharmony_ci                    },
45333af6ab5fSopenharmony_ci                    "end": {
45343af6ab5fSopenharmony_ci                      "line": 57,
45353af6ab5fSopenharmony_ci                      "column": 75
45363af6ab5fSopenharmony_ci                    }
45373af6ab5fSopenharmony_ci                  }
45383af6ab5fSopenharmony_ci                }
45393af6ab5fSopenharmony_ci              ],
45403af6ab5fSopenharmony_ci              "loc": {
45413af6ab5fSopenharmony_ci                "start": {
45423af6ab5fSopenharmony_ci                  "line": 57,
45433af6ab5fSopenharmony_ci                  "column": 39
45443af6ab5fSopenharmony_ci                },
45453af6ab5fSopenharmony_ci                "end": {
45463af6ab5fSopenharmony_ci                  "line": 57,
45473af6ab5fSopenharmony_ci                  "column": 76
45483af6ab5fSopenharmony_ci                }
45493af6ab5fSopenharmony_ci              }
45503af6ab5fSopenharmony_ci            },
45513af6ab5fSopenharmony_ci            "loc": {
45523af6ab5fSopenharmony_ci              "start": {
45533af6ab5fSopenharmony_ci                "line": 57,
45543af6ab5fSopenharmony_ci                "column": 38
45553af6ab5fSopenharmony_ci              },
45563af6ab5fSopenharmony_ci              "end": {
45573af6ab5fSopenharmony_ci                "line": 57,
45583af6ab5fSopenharmony_ci                "column": 77
45593af6ab5fSopenharmony_ci              }
45603af6ab5fSopenharmony_ci            }
45613af6ab5fSopenharmony_ci          },
45623af6ab5fSopenharmony_ci          {
45633af6ab5fSopenharmony_ci            "type": "TSClassImplements",
45643af6ab5fSopenharmony_ci            "expression": {
45653af6ab5fSopenharmony_ci              "type": "Identifier",
45663af6ab5fSopenharmony_ci              "name": "A",
45673af6ab5fSopenharmony_ci              "decorators": [],
45683af6ab5fSopenharmony_ci              "loc": {
45693af6ab5fSopenharmony_ci                "start": {
45703af6ab5fSopenharmony_ci                  "line": 57,
45713af6ab5fSopenharmony_ci                  "column": 78
45723af6ab5fSopenharmony_ci                },
45733af6ab5fSopenharmony_ci                "end": {
45743af6ab5fSopenharmony_ci                  "line": 57,
45753af6ab5fSopenharmony_ci                  "column": 79
45763af6ab5fSopenharmony_ci                }
45773af6ab5fSopenharmony_ci              }
45783af6ab5fSopenharmony_ci            },
45793af6ab5fSopenharmony_ci            "loc": {
45803af6ab5fSopenharmony_ci              "start": {
45813af6ab5fSopenharmony_ci                "line": 57,
45823af6ab5fSopenharmony_ci                "column": 78
45833af6ab5fSopenharmony_ci              },
45843af6ab5fSopenharmony_ci              "end": {
45853af6ab5fSopenharmony_ci                "line": 57,
45863af6ab5fSopenharmony_ci                "column": 81
45873af6ab5fSopenharmony_ci              }
45883af6ab5fSopenharmony_ci            }
45893af6ab5fSopenharmony_ci          }
45903af6ab5fSopenharmony_ci        ],
45913af6ab5fSopenharmony_ci        "constructor": {
45923af6ab5fSopenharmony_ci          "type": "MethodDefinition",
45933af6ab5fSopenharmony_ci          "key": {
45943af6ab5fSopenharmony_ci            "type": "Identifier",
45953af6ab5fSopenharmony_ci            "name": "constructor",
45963af6ab5fSopenharmony_ci            "decorators": [],
45973af6ab5fSopenharmony_ci            "loc": {
45983af6ab5fSopenharmony_ci              "start": {
45993af6ab5fSopenharmony_ci                "line": 1,
46003af6ab5fSopenharmony_ci                "column": 1
46013af6ab5fSopenharmony_ci              },
46023af6ab5fSopenharmony_ci              "end": {
46033af6ab5fSopenharmony_ci                "line": 1,
46043af6ab5fSopenharmony_ci                "column": 1
46053af6ab5fSopenharmony_ci              }
46063af6ab5fSopenharmony_ci            }
46073af6ab5fSopenharmony_ci          },
46083af6ab5fSopenharmony_ci          "kind": "constructor",
46093af6ab5fSopenharmony_ci          "static": false,
46103af6ab5fSopenharmony_ci          "optional": false,
46113af6ab5fSopenharmony_ci          "computed": false,
46123af6ab5fSopenharmony_ci          "value": {
46133af6ab5fSopenharmony_ci            "type": "FunctionExpression",
46143af6ab5fSopenharmony_ci            "function": {
46153af6ab5fSopenharmony_ci              "type": "ScriptFunction",
46163af6ab5fSopenharmony_ci              "id": null,
46173af6ab5fSopenharmony_ci              "generator": false,
46183af6ab5fSopenharmony_ci              "async": false,
46193af6ab5fSopenharmony_ci              "expression": false,
46203af6ab5fSopenharmony_ci              "params": [
46213af6ab5fSopenharmony_ci                {
46223af6ab5fSopenharmony_ci                  "type": "RestElement",
46233af6ab5fSopenharmony_ci                  "argument": {
46243af6ab5fSopenharmony_ci                    "type": "Identifier",
46253af6ab5fSopenharmony_ci                    "name": "args",
46263af6ab5fSopenharmony_ci                    "decorators": [],
46273af6ab5fSopenharmony_ci                    "loc": {
46283af6ab5fSopenharmony_ci                      "start": {
46293af6ab5fSopenharmony_ci                        "line": 1,
46303af6ab5fSopenharmony_ci                        "column": 1
46313af6ab5fSopenharmony_ci                      },
46323af6ab5fSopenharmony_ci                      "end": {
46333af6ab5fSopenharmony_ci                        "line": 1,
46343af6ab5fSopenharmony_ci                        "column": 1
46353af6ab5fSopenharmony_ci                      }
46363af6ab5fSopenharmony_ci                    }
46373af6ab5fSopenharmony_ci                  },
46383af6ab5fSopenharmony_ci                  "loc": {
46393af6ab5fSopenharmony_ci                    "start": {
46403af6ab5fSopenharmony_ci                      "line": 1,
46413af6ab5fSopenharmony_ci                      "column": 1
46423af6ab5fSopenharmony_ci                    },
46433af6ab5fSopenharmony_ci                    "end": {
46443af6ab5fSopenharmony_ci                      "line": 1,
46453af6ab5fSopenharmony_ci                      "column": 1
46463af6ab5fSopenharmony_ci                    }
46473af6ab5fSopenharmony_ci                  }
46483af6ab5fSopenharmony_ci                }
46493af6ab5fSopenharmony_ci              ],
46503af6ab5fSopenharmony_ci              "body": {
46513af6ab5fSopenharmony_ci                "type": "BlockStatement",
46523af6ab5fSopenharmony_ci                "statements": [
46533af6ab5fSopenharmony_ci                  {
46543af6ab5fSopenharmony_ci                    "type": "ExpressionStatement",
46553af6ab5fSopenharmony_ci                    "expression": {
46563af6ab5fSopenharmony_ci                      "type": "CallExpression",
46573af6ab5fSopenharmony_ci                      "callee": {
46583af6ab5fSopenharmony_ci                        "type": "Super",
46593af6ab5fSopenharmony_ci                        "loc": {
46603af6ab5fSopenharmony_ci                          "start": {
46613af6ab5fSopenharmony_ci                            "line": 1,
46623af6ab5fSopenharmony_ci                            "column": 1
46633af6ab5fSopenharmony_ci                          },
46643af6ab5fSopenharmony_ci                          "end": {
46653af6ab5fSopenharmony_ci                            "line": 1,
46663af6ab5fSopenharmony_ci                            "column": 1
46673af6ab5fSopenharmony_ci                          }
46683af6ab5fSopenharmony_ci                        }
46693af6ab5fSopenharmony_ci                      },
46703af6ab5fSopenharmony_ci                      "arguments": [
46713af6ab5fSopenharmony_ci                        {
46723af6ab5fSopenharmony_ci                          "type": "SpreadElement",
46733af6ab5fSopenharmony_ci                          "argument": {
46743af6ab5fSopenharmony_ci                            "type": "Identifier",
46753af6ab5fSopenharmony_ci                            "name": "args",
46763af6ab5fSopenharmony_ci                            "decorators": [],
46773af6ab5fSopenharmony_ci                            "loc": {
46783af6ab5fSopenharmony_ci                              "start": {
46793af6ab5fSopenharmony_ci                                "line": 1,
46803af6ab5fSopenharmony_ci                                "column": 1
46813af6ab5fSopenharmony_ci                              },
46823af6ab5fSopenharmony_ci                              "end": {
46833af6ab5fSopenharmony_ci                                "line": 1,
46843af6ab5fSopenharmony_ci                                "column": 1
46853af6ab5fSopenharmony_ci                              }
46863af6ab5fSopenharmony_ci                            }
46873af6ab5fSopenharmony_ci                          },
46883af6ab5fSopenharmony_ci                          "loc": {
46893af6ab5fSopenharmony_ci                            "start": {
46903af6ab5fSopenharmony_ci                              "line": 1,
46913af6ab5fSopenharmony_ci                              "column": 1
46923af6ab5fSopenharmony_ci                            },
46933af6ab5fSopenharmony_ci                            "end": {
46943af6ab5fSopenharmony_ci                              "line": 1,
46953af6ab5fSopenharmony_ci                              "column": 1
46963af6ab5fSopenharmony_ci                            }
46973af6ab5fSopenharmony_ci                          }
46983af6ab5fSopenharmony_ci                        }
46993af6ab5fSopenharmony_ci                      ],
47003af6ab5fSopenharmony_ci                      "optional": false,
47013af6ab5fSopenharmony_ci                      "loc": {
47023af6ab5fSopenharmony_ci                        "start": {
47033af6ab5fSopenharmony_ci                          "line": 1,
47043af6ab5fSopenharmony_ci                          "column": 1
47053af6ab5fSopenharmony_ci                        },
47063af6ab5fSopenharmony_ci                        "end": {
47073af6ab5fSopenharmony_ci                          "line": 1,
47083af6ab5fSopenharmony_ci                          "column": 1
47093af6ab5fSopenharmony_ci                        }
47103af6ab5fSopenharmony_ci                      }
47113af6ab5fSopenharmony_ci                    },
47123af6ab5fSopenharmony_ci                    "loc": {
47133af6ab5fSopenharmony_ci                      "start": {
47143af6ab5fSopenharmony_ci                        "line": 1,
47153af6ab5fSopenharmony_ci                        "column": 1
47163af6ab5fSopenharmony_ci                      },
47173af6ab5fSopenharmony_ci                      "end": {
47183af6ab5fSopenharmony_ci                        "line": 1,
47193af6ab5fSopenharmony_ci                        "column": 1
47203af6ab5fSopenharmony_ci                      }
47213af6ab5fSopenharmony_ci                    }
47223af6ab5fSopenharmony_ci                  }
47233af6ab5fSopenharmony_ci                ],
47243af6ab5fSopenharmony_ci                "loc": {
47253af6ab5fSopenharmony_ci                  "start": {
47263af6ab5fSopenharmony_ci                    "line": 1,
47273af6ab5fSopenharmony_ci                    "column": 1
47283af6ab5fSopenharmony_ci                  },
47293af6ab5fSopenharmony_ci                  "end": {
47303af6ab5fSopenharmony_ci                    "line": 1,
47313af6ab5fSopenharmony_ci                    "column": 1
47323af6ab5fSopenharmony_ci                  }
47333af6ab5fSopenharmony_ci                }
47343af6ab5fSopenharmony_ci              },
47353af6ab5fSopenharmony_ci              "loc": {
47363af6ab5fSopenharmony_ci                "start": {
47373af6ab5fSopenharmony_ci                  "line": 1,
47383af6ab5fSopenharmony_ci                  "column": 1
47393af6ab5fSopenharmony_ci                },
47403af6ab5fSopenharmony_ci                "end": {
47413af6ab5fSopenharmony_ci                  "line": 1,
47423af6ab5fSopenharmony_ci                  "column": 1
47433af6ab5fSopenharmony_ci                }
47443af6ab5fSopenharmony_ci              }
47453af6ab5fSopenharmony_ci            },
47463af6ab5fSopenharmony_ci            "loc": {
47473af6ab5fSopenharmony_ci              "start": {
47483af6ab5fSopenharmony_ci                "line": 1,
47493af6ab5fSopenharmony_ci                "column": 1
47503af6ab5fSopenharmony_ci              },
47513af6ab5fSopenharmony_ci              "end": {
47523af6ab5fSopenharmony_ci                "line": 1,
47533af6ab5fSopenharmony_ci                "column": 1
47543af6ab5fSopenharmony_ci              }
47553af6ab5fSopenharmony_ci            }
47563af6ab5fSopenharmony_ci          },
47573af6ab5fSopenharmony_ci          "overloads": [],
47583af6ab5fSopenharmony_ci          "decorators": [],
47593af6ab5fSopenharmony_ci          "loc": {
47603af6ab5fSopenharmony_ci            "start": {
47613af6ab5fSopenharmony_ci              "line": 59,
47623af6ab5fSopenharmony_ci              "column": 2
47633af6ab5fSopenharmony_ci            },
47643af6ab5fSopenharmony_ci            "end": {
47653af6ab5fSopenharmony_ci              "line": 59,
47663af6ab5fSopenharmony_ci              "column": 2
47673af6ab5fSopenharmony_ci            }
47683af6ab5fSopenharmony_ci          }
47693af6ab5fSopenharmony_ci        },
47703af6ab5fSopenharmony_ci        "body": [],
47713af6ab5fSopenharmony_ci        "loc": {
47723af6ab5fSopenharmony_ci          "start": {
47733af6ab5fSopenharmony_ci            "line": 57,
47743af6ab5fSopenharmony_ci            "column": 80
47753af6ab5fSopenharmony_ci          },
47763af6ab5fSopenharmony_ci          "end": {
47773af6ab5fSopenharmony_ci            "line": 59,
47783af6ab5fSopenharmony_ci            "column": 2
47793af6ab5fSopenharmony_ci          }
47803af6ab5fSopenharmony_ci        }
47813af6ab5fSopenharmony_ci      },
47823af6ab5fSopenharmony_ci      "loc": {
47833af6ab5fSopenharmony_ci        "start": {
47843af6ab5fSopenharmony_ci          "line": 57,
47853af6ab5fSopenharmony_ci          "column": 1
47863af6ab5fSopenharmony_ci        },
47873af6ab5fSopenharmony_ci        "end": {
47883af6ab5fSopenharmony_ci          "line": 59,
47893af6ab5fSopenharmony_ci          "column": 2
47903af6ab5fSopenharmony_ci        }
47913af6ab5fSopenharmony_ci      }
47923af6ab5fSopenharmony_ci    },
47933af6ab5fSopenharmony_ci    {
47943af6ab5fSopenharmony_ci      "type": "VariableDeclaration",
47953af6ab5fSopenharmony_ci      "declarations": [
47963af6ab5fSopenharmony_ci        {
47973af6ab5fSopenharmony_ci          "type": "VariableDeclarator",
47983af6ab5fSopenharmony_ci          "id": {
47993af6ab5fSopenharmony_ci            "type": "Identifier",
48003af6ab5fSopenharmony_ci            "name": "a",
48013af6ab5fSopenharmony_ci            "typeAnnotation": {
48023af6ab5fSopenharmony_ci              "type": "TSConstructorType",
48033af6ab5fSopenharmony_ci              "params": [],
48043af6ab5fSopenharmony_ci              "typeParameters": {
48053af6ab5fSopenharmony_ci                "type": "TSTypeParameterDeclaration",
48063af6ab5fSopenharmony_ci                "params": [
48073af6ab5fSopenharmony_ci                  {
48083af6ab5fSopenharmony_ci                    "type": "TSTypeParameter",
48093af6ab5fSopenharmony_ci                    "name": {
48103af6ab5fSopenharmony_ci                      "type": "Identifier",
48113af6ab5fSopenharmony_ci                      "name": "A",
48123af6ab5fSopenharmony_ci                      "decorators": [],
48133af6ab5fSopenharmony_ci                      "loc": {
48143af6ab5fSopenharmony_ci                        "start": {
48153af6ab5fSopenharmony_ci                          "line": 61,
48163af6ab5fSopenharmony_ci                          "column": 13
48173af6ab5fSopenharmony_ci                        },
48183af6ab5fSopenharmony_ci                        "end": {
48193af6ab5fSopenharmony_ci                          "line": 61,
48203af6ab5fSopenharmony_ci                          "column": 14
48213af6ab5fSopenharmony_ci                        }
48223af6ab5fSopenharmony_ci                      }
48233af6ab5fSopenharmony_ci                    },
48243af6ab5fSopenharmony_ci                    "loc": {
48253af6ab5fSopenharmony_ci                      "start": {
48263af6ab5fSopenharmony_ci                        "line": 61,
48273af6ab5fSopenharmony_ci                        "column": 13
48283af6ab5fSopenharmony_ci                      },
48293af6ab5fSopenharmony_ci                      "end": {
48303af6ab5fSopenharmony_ci                        "line": 61,
48313af6ab5fSopenharmony_ci                        "column": 15
48323af6ab5fSopenharmony_ci                      }
48333af6ab5fSopenharmony_ci                    }
48343af6ab5fSopenharmony_ci                  }
48353af6ab5fSopenharmony_ci                ],
48363af6ab5fSopenharmony_ci                "loc": {
48373af6ab5fSopenharmony_ci                  "start": {
48383af6ab5fSopenharmony_ci                    "line": 61,
48393af6ab5fSopenharmony_ci                    "column": 12
48403af6ab5fSopenharmony_ci                  },
48413af6ab5fSopenharmony_ci                  "end": {
48423af6ab5fSopenharmony_ci                    "line": 61,
48433af6ab5fSopenharmony_ci                    "column": 15
48443af6ab5fSopenharmony_ci                  }
48453af6ab5fSopenharmony_ci                }
48463af6ab5fSopenharmony_ci              },
48473af6ab5fSopenharmony_ci              "returnType": {
48483af6ab5fSopenharmony_ci                "type": "TSFunctionType",
48493af6ab5fSopenharmony_ci                "params": [],
48503af6ab5fSopenharmony_ci                "typeParameters": {
48513af6ab5fSopenharmony_ci                  "type": "TSTypeParameterDeclaration",
48523af6ab5fSopenharmony_ci                  "params": [
48533af6ab5fSopenharmony_ci                    {
48543af6ab5fSopenharmony_ci                      "type": "TSTypeParameter",
48553af6ab5fSopenharmony_ci                      "name": {
48563af6ab5fSopenharmony_ci                        "type": "Identifier",
48573af6ab5fSopenharmony_ci                        "name": "B",
48583af6ab5fSopenharmony_ci                        "decorators": [],
48593af6ab5fSopenharmony_ci                        "loc": {
48603af6ab5fSopenharmony_ci                          "start": {
48613af6ab5fSopenharmony_ci                            "line": 61,
48623af6ab5fSopenharmony_ci                            "column": 22
48633af6ab5fSopenharmony_ci                          },
48643af6ab5fSopenharmony_ci                          "end": {
48653af6ab5fSopenharmony_ci                            "line": 61,
48663af6ab5fSopenharmony_ci                            "column": 23
48673af6ab5fSopenharmony_ci                          }
48683af6ab5fSopenharmony_ci                        }
48693af6ab5fSopenharmony_ci                      },
48703af6ab5fSopenharmony_ci                      "loc": {
48713af6ab5fSopenharmony_ci                        "start": {
48723af6ab5fSopenharmony_ci                          "line": 61,
48733af6ab5fSopenharmony_ci                          "column": 22
48743af6ab5fSopenharmony_ci                        },
48753af6ab5fSopenharmony_ci                        "end": {
48763af6ab5fSopenharmony_ci                          "line": 61,
48773af6ab5fSopenharmony_ci                          "column": 24
48783af6ab5fSopenharmony_ci                        }
48793af6ab5fSopenharmony_ci                      }
48803af6ab5fSopenharmony_ci                    }
48813af6ab5fSopenharmony_ci                  ],
48823af6ab5fSopenharmony_ci                  "loc": {
48833af6ab5fSopenharmony_ci                    "start": {
48843af6ab5fSopenharmony_ci                      "line": 61,
48853af6ab5fSopenharmony_ci                      "column": 21
48863af6ab5fSopenharmony_ci                    },
48873af6ab5fSopenharmony_ci                    "end": {
48883af6ab5fSopenharmony_ci                      "line": 61,
48893af6ab5fSopenharmony_ci                      "column": 24
48903af6ab5fSopenharmony_ci                    }
48913af6ab5fSopenharmony_ci                  }
48923af6ab5fSopenharmony_ci                },
48933af6ab5fSopenharmony_ci                "returnType": {
48943af6ab5fSopenharmony_ci                  "type": "TSStringKeyword",
48953af6ab5fSopenharmony_ci                  "loc": {
48963af6ab5fSopenharmony_ci                    "start": {
48973af6ab5fSopenharmony_ci                      "line": 61,
48983af6ab5fSopenharmony_ci                      "column": 30
48993af6ab5fSopenharmony_ci                    },
49003af6ab5fSopenharmony_ci                    "end": {
49013af6ab5fSopenharmony_ci                      "line": 61,
49023af6ab5fSopenharmony_ci                      "column": 36
49033af6ab5fSopenharmony_ci                    }
49043af6ab5fSopenharmony_ci                  }
49053af6ab5fSopenharmony_ci                },
49063af6ab5fSopenharmony_ci                "loc": {
49073af6ab5fSopenharmony_ci                  "start": {
49083af6ab5fSopenharmony_ci                    "line": 61,
49093af6ab5fSopenharmony_ci                    "column": 21
49103af6ab5fSopenharmony_ci                  },
49113af6ab5fSopenharmony_ci                  "end": {
49123af6ab5fSopenharmony_ci                    "line": 61,
49133af6ab5fSopenharmony_ci                    "column": 36
49143af6ab5fSopenharmony_ci                  }
49153af6ab5fSopenharmony_ci                }
49163af6ab5fSopenharmony_ci              },
49173af6ab5fSopenharmony_ci              "loc": {
49183af6ab5fSopenharmony_ci                "start": {
49193af6ab5fSopenharmony_ci                  "line": 61,
49203af6ab5fSopenharmony_ci                  "column": 8
49213af6ab5fSopenharmony_ci                },
49223af6ab5fSopenharmony_ci                "end": {
49233af6ab5fSopenharmony_ci                  "line": 61,
49243af6ab5fSopenharmony_ci                  "column": 36
49253af6ab5fSopenharmony_ci                }
49263af6ab5fSopenharmony_ci              }
49273af6ab5fSopenharmony_ci            },
49283af6ab5fSopenharmony_ci            "decorators": [],
49293af6ab5fSopenharmony_ci            "loc": {
49303af6ab5fSopenharmony_ci              "start": {
49313af6ab5fSopenharmony_ci                "line": 61,
49323af6ab5fSopenharmony_ci                "column": 5
49333af6ab5fSopenharmony_ci              },
49343af6ab5fSopenharmony_ci              "end": {
49353af6ab5fSopenharmony_ci                "line": 61,
49363af6ab5fSopenharmony_ci                "column": 6
49373af6ab5fSopenharmony_ci              }
49383af6ab5fSopenharmony_ci            }
49393af6ab5fSopenharmony_ci          },
49403af6ab5fSopenharmony_ci          "init": null,
49413af6ab5fSopenharmony_ci          "loc": {
49423af6ab5fSopenharmony_ci            "start": {
49433af6ab5fSopenharmony_ci              "line": 61,
49443af6ab5fSopenharmony_ci              "column": 5
49453af6ab5fSopenharmony_ci            },
49463af6ab5fSopenharmony_ci            "end": {
49473af6ab5fSopenharmony_ci              "line": 61,
49483af6ab5fSopenharmony_ci              "column": 6
49493af6ab5fSopenharmony_ci            }
49503af6ab5fSopenharmony_ci          }
49513af6ab5fSopenharmony_ci        }
49523af6ab5fSopenharmony_ci      ],
49533af6ab5fSopenharmony_ci      "kind": "var",
49543af6ab5fSopenharmony_ci      "loc": {
49553af6ab5fSopenharmony_ci        "start": {
49563af6ab5fSopenharmony_ci          "line": 61,
49573af6ab5fSopenharmony_ci          "column": 1
49583af6ab5fSopenharmony_ci        },
49593af6ab5fSopenharmony_ci        "end": {
49603af6ab5fSopenharmony_ci          "line": 61,
49613af6ab5fSopenharmony_ci          "column": 37
49623af6ab5fSopenharmony_ci        }
49633af6ab5fSopenharmony_ci      }
49643af6ab5fSopenharmony_ci    },
49653af6ab5fSopenharmony_ci    {
49663af6ab5fSopenharmony_ci      "type": "VariableDeclaration",
49673af6ab5fSopenharmony_ci      "declarations": [
49683af6ab5fSopenharmony_ci        {
49693af6ab5fSopenharmony_ci          "type": "VariableDeclarator",
49703af6ab5fSopenharmony_ci          "id": {
49713af6ab5fSopenharmony_ci            "type": "Identifier",
49723af6ab5fSopenharmony_ci            "name": "b",
49733af6ab5fSopenharmony_ci            "typeAnnotation": {
49743af6ab5fSopenharmony_ci              "type": "TSFunctionType",
49753af6ab5fSopenharmony_ci              "params": [
49763af6ab5fSopenharmony_ci                {
49773af6ab5fSopenharmony_ci                  "type": "Identifier",
49783af6ab5fSopenharmony_ci                  "name": "a",
49793af6ab5fSopenharmony_ci                  "typeAnnotation": {
49803af6ab5fSopenharmony_ci                    "type": "TSUnionType",
49813af6ab5fSopenharmony_ci                    "types": [
49823af6ab5fSopenharmony_ci                      {
49833af6ab5fSopenharmony_ci                        "type": "TSNumberKeyword",
49843af6ab5fSopenharmony_ci                        "loc": {
49853af6ab5fSopenharmony_ci                          "start": {
49863af6ab5fSopenharmony_ci                            "line": 62,
49873af6ab5fSopenharmony_ci                            "column": 32
49883af6ab5fSopenharmony_ci                          },
49893af6ab5fSopenharmony_ci                          "end": {
49903af6ab5fSopenharmony_ci                            "line": 62,
49913af6ab5fSopenharmony_ci                            "column": 38
49923af6ab5fSopenharmony_ci                          }
49933af6ab5fSopenharmony_ci                        }
49943af6ab5fSopenharmony_ci                      },
49953af6ab5fSopenharmony_ci                      {
49963af6ab5fSopenharmony_ci                        "type": "TSStringKeyword",
49973af6ab5fSopenharmony_ci                        "loc": {
49983af6ab5fSopenharmony_ci                          "start": {
49993af6ab5fSopenharmony_ci                            "line": 62,
50003af6ab5fSopenharmony_ci                            "column": 41
50013af6ab5fSopenharmony_ci                          },
50023af6ab5fSopenharmony_ci                          "end": {
50033af6ab5fSopenharmony_ci                            "line": 62,
50043af6ab5fSopenharmony_ci                            "column": 47
50053af6ab5fSopenharmony_ci                          }
50063af6ab5fSopenharmony_ci                        }
50073af6ab5fSopenharmony_ci                      }
50083af6ab5fSopenharmony_ci                    ],
50093af6ab5fSopenharmony_ci                    "loc": {
50103af6ab5fSopenharmony_ci                      "start": {
50113af6ab5fSopenharmony_ci                        "line": 62,
50123af6ab5fSopenharmony_ci                        "column": 32
50133af6ab5fSopenharmony_ci                      },
50143af6ab5fSopenharmony_ci                      "end": {
50153af6ab5fSopenharmony_ci                        "line": 62,
50163af6ab5fSopenharmony_ci                        "column": 47
50173af6ab5fSopenharmony_ci                      }
50183af6ab5fSopenharmony_ci                    }
50193af6ab5fSopenharmony_ci                  },
50203af6ab5fSopenharmony_ci                  "decorators": [],
50213af6ab5fSopenharmony_ci                  "loc": {
50223af6ab5fSopenharmony_ci                    "start": {
50233af6ab5fSopenharmony_ci                      "line": 62,
50243af6ab5fSopenharmony_ci                      "column": 29
50253af6ab5fSopenharmony_ci                    },
50263af6ab5fSopenharmony_ci                    "end": {
50273af6ab5fSopenharmony_ci                      "line": 62,
50283af6ab5fSopenharmony_ci                      "column": 30
50293af6ab5fSopenharmony_ci                    }
50303af6ab5fSopenharmony_ci                  }
50313af6ab5fSopenharmony_ci                }
50323af6ab5fSopenharmony_ci              ],
50333af6ab5fSopenharmony_ci              "typeParameters": {
50343af6ab5fSopenharmony_ci                "type": "TSTypeParameterDeclaration",
50353af6ab5fSopenharmony_ci                "params": [
50363af6ab5fSopenharmony_ci                  {
50373af6ab5fSopenharmony_ci                    "type": "TSTypeParameter",
50383af6ab5fSopenharmony_ci                    "name": {
50393af6ab5fSopenharmony_ci                      "type": "Identifier",
50403af6ab5fSopenharmony_ci                      "name": "A",
50413af6ab5fSopenharmony_ci                      "decorators": [],
50423af6ab5fSopenharmony_ci                      "loc": {
50433af6ab5fSopenharmony_ci                        "start": {
50443af6ab5fSopenharmony_ci                          "line": 62,
50453af6ab5fSopenharmony_ci                          "column": 9
50463af6ab5fSopenharmony_ci                        },
50473af6ab5fSopenharmony_ci                        "end": {
50483af6ab5fSopenharmony_ci                          "line": 62,
50493af6ab5fSopenharmony_ci                          "column": 10
50503af6ab5fSopenharmony_ci                        }
50513af6ab5fSopenharmony_ci                      }
50523af6ab5fSopenharmony_ci                    },
50533af6ab5fSopenharmony_ci                    "constraint": {
50543af6ab5fSopenharmony_ci                      "type": "TSTypeReference",
50553af6ab5fSopenharmony_ci                      "typeName": {
50563af6ab5fSopenharmony_ci                        "type": "Identifier",
50573af6ab5fSopenharmony_ci                        "name": "T",
50583af6ab5fSopenharmony_ci                        "decorators": [],
50593af6ab5fSopenharmony_ci                        "loc": {
50603af6ab5fSopenharmony_ci                          "start": {
50613af6ab5fSopenharmony_ci                            "line": 62,
50623af6ab5fSopenharmony_ci                            "column": 19
50633af6ab5fSopenharmony_ci                          },
50643af6ab5fSopenharmony_ci                          "end": {
50653af6ab5fSopenharmony_ci                            "line": 62,
50663af6ab5fSopenharmony_ci                            "column": 20
50673af6ab5fSopenharmony_ci                          }
50683af6ab5fSopenharmony_ci                        }
50693af6ab5fSopenharmony_ci                      },
50703af6ab5fSopenharmony_ci                      "loc": {
50713af6ab5fSopenharmony_ci                        "start": {
50723af6ab5fSopenharmony_ci                          "line": 62,
50733af6ab5fSopenharmony_ci                          "column": 19
50743af6ab5fSopenharmony_ci                        },
50753af6ab5fSopenharmony_ci                        "end": {
50763af6ab5fSopenharmony_ci                          "line": 62,
50773af6ab5fSopenharmony_ci                          "column": 20
50783af6ab5fSopenharmony_ci                        }
50793af6ab5fSopenharmony_ci                      }
50803af6ab5fSopenharmony_ci                    },
50813af6ab5fSopenharmony_ci                    "loc": {
50823af6ab5fSopenharmony_ci                      "start": {
50833af6ab5fSopenharmony_ci                        "line": 62,
50843af6ab5fSopenharmony_ci                        "column": 9
50853af6ab5fSopenharmony_ci                      },
50863af6ab5fSopenharmony_ci                      "end": {
50873af6ab5fSopenharmony_ci                        "line": 62,
50883af6ab5fSopenharmony_ci                        "column": 21
50893af6ab5fSopenharmony_ci                      }
50903af6ab5fSopenharmony_ci                    }
50913af6ab5fSopenharmony_ci                  },
50923af6ab5fSopenharmony_ci                  {
50933af6ab5fSopenharmony_ci                    "type": "TSTypeParameter",
50943af6ab5fSopenharmony_ci                    "name": {
50953af6ab5fSopenharmony_ci                      "type": "Identifier",
50963af6ab5fSopenharmony_ci                      "name": "U",
50973af6ab5fSopenharmony_ci                      "decorators": [],
50983af6ab5fSopenharmony_ci                      "loc": {
50993af6ab5fSopenharmony_ci                        "start": {
51003af6ab5fSopenharmony_ci                          "line": 62,
51013af6ab5fSopenharmony_ci                          "column": 22
51023af6ab5fSopenharmony_ci                        },
51033af6ab5fSopenharmony_ci                        "end": {
51043af6ab5fSopenharmony_ci                          "line": 62,
51053af6ab5fSopenharmony_ci                          "column": 23
51063af6ab5fSopenharmony_ci                        }
51073af6ab5fSopenharmony_ci                      }
51083af6ab5fSopenharmony_ci                    },
51093af6ab5fSopenharmony_ci                    "default": {
51103af6ab5fSopenharmony_ci                      "type": "TSLiteralType",
51113af6ab5fSopenharmony_ci                      "literal": {
51123af6ab5fSopenharmony_ci                        "type": "NumberLiteral",
51133af6ab5fSopenharmony_ci                        "value": 5,
51143af6ab5fSopenharmony_ci                        "loc": {
51153af6ab5fSopenharmony_ci                          "start": {
51163af6ab5fSopenharmony_ci                            "line": 62,
51173af6ab5fSopenharmony_ci                            "column": 26
51183af6ab5fSopenharmony_ci                          },
51193af6ab5fSopenharmony_ci                          "end": {
51203af6ab5fSopenharmony_ci                            "line": 62,
51213af6ab5fSopenharmony_ci                            "column": 27
51223af6ab5fSopenharmony_ci                          }
51233af6ab5fSopenharmony_ci                        }
51243af6ab5fSopenharmony_ci                      },
51253af6ab5fSopenharmony_ci                      "loc": {
51263af6ab5fSopenharmony_ci                        "start": {
51273af6ab5fSopenharmony_ci                          "line": 62,
51283af6ab5fSopenharmony_ci                          "column": 26
51293af6ab5fSopenharmony_ci                        },
51303af6ab5fSopenharmony_ci                        "end": {
51313af6ab5fSopenharmony_ci                          "line": 62,
51323af6ab5fSopenharmony_ci                          "column": 27
51333af6ab5fSopenharmony_ci                        }
51343af6ab5fSopenharmony_ci                      }
51353af6ab5fSopenharmony_ci                    },
51363af6ab5fSopenharmony_ci                    "loc": {
51373af6ab5fSopenharmony_ci                      "start": {
51383af6ab5fSopenharmony_ci                        "line": 62,
51393af6ab5fSopenharmony_ci                        "column": 22
51403af6ab5fSopenharmony_ci                      },
51413af6ab5fSopenharmony_ci                      "end": {
51423af6ab5fSopenharmony_ci                        "line": 62,
51433af6ab5fSopenharmony_ci                        "column": 28
51443af6ab5fSopenharmony_ci                      }
51453af6ab5fSopenharmony_ci                    }
51463af6ab5fSopenharmony_ci                  }
51473af6ab5fSopenharmony_ci                ],
51483af6ab5fSopenharmony_ci                "loc": {
51493af6ab5fSopenharmony_ci                  "start": {
51503af6ab5fSopenharmony_ci                    "line": 62,
51513af6ab5fSopenharmony_ci                    "column": 8
51523af6ab5fSopenharmony_ci                  },
51533af6ab5fSopenharmony_ci                  "end": {
51543af6ab5fSopenharmony_ci                    "line": 62,
51553af6ab5fSopenharmony_ci                    "column": 28
51563af6ab5fSopenharmony_ci                  }
51573af6ab5fSopenharmony_ci                }
51583af6ab5fSopenharmony_ci              },
51593af6ab5fSopenharmony_ci              "returnType": {
51603af6ab5fSopenharmony_ci                "type": "TSTypeLiteral",
51613af6ab5fSopenharmony_ci                "members": [
51623af6ab5fSopenharmony_ci                  {
51633af6ab5fSopenharmony_ci                    "type": "TSPropertySignature",
51643af6ab5fSopenharmony_ci                    "computed": false,
51653af6ab5fSopenharmony_ci                    "optional": false,
51663af6ab5fSopenharmony_ci                    "readonly": false,
51673af6ab5fSopenharmony_ci                    "key": {
51683af6ab5fSopenharmony_ci                      "type": "Identifier",
51693af6ab5fSopenharmony_ci                      "name": "a",
51703af6ab5fSopenharmony_ci                      "decorators": [],
51713af6ab5fSopenharmony_ci                      "loc": {
51723af6ab5fSopenharmony_ci                        "start": {
51733af6ab5fSopenharmony_ci                          "line": 62,
51743af6ab5fSopenharmony_ci                          "column": 54
51753af6ab5fSopenharmony_ci                        },
51763af6ab5fSopenharmony_ci                        "end": {
51773af6ab5fSopenharmony_ci                          "line": 62,
51783af6ab5fSopenharmony_ci                          "column": 55
51793af6ab5fSopenharmony_ci                        }
51803af6ab5fSopenharmony_ci                      }
51813af6ab5fSopenharmony_ci                    },
51823af6ab5fSopenharmony_ci                    "typeAnnotation": {
51833af6ab5fSopenharmony_ci                      "type": "TSNumberKeyword",
51843af6ab5fSopenharmony_ci                      "loc": {
51853af6ab5fSopenharmony_ci                        "start": {
51863af6ab5fSopenharmony_ci                          "line": 62,
51873af6ab5fSopenharmony_ci                          "column": 57
51883af6ab5fSopenharmony_ci                        },
51893af6ab5fSopenharmony_ci                        "end": {
51903af6ab5fSopenharmony_ci                          "line": 62,
51913af6ab5fSopenharmony_ci                          "column": 63
51923af6ab5fSopenharmony_ci                        }
51933af6ab5fSopenharmony_ci                      }
51943af6ab5fSopenharmony_ci                    },
51953af6ab5fSopenharmony_ci                    "loc": {
51963af6ab5fSopenharmony_ci                      "start": {
51973af6ab5fSopenharmony_ci                        "line": 62,
51983af6ab5fSopenharmony_ci                        "column": 54
51993af6ab5fSopenharmony_ci                      },
52003af6ab5fSopenharmony_ci                      "end": {
52013af6ab5fSopenharmony_ci                        "line": 62,
52023af6ab5fSopenharmony_ci                        "column": 65
52033af6ab5fSopenharmony_ci                      }
52043af6ab5fSopenharmony_ci                    }
52053af6ab5fSopenharmony_ci                  }
52063af6ab5fSopenharmony_ci                ],
52073af6ab5fSopenharmony_ci                "loc": {
52083af6ab5fSopenharmony_ci                  "start": {
52093af6ab5fSopenharmony_ci                    "line": 62,
52103af6ab5fSopenharmony_ci                    "column": 52
52113af6ab5fSopenharmony_ci                  },
52123af6ab5fSopenharmony_ci                  "end": {
52133af6ab5fSopenharmony_ci                    "line": 62,
52143af6ab5fSopenharmony_ci                    "column": 65
52153af6ab5fSopenharmony_ci                  }
52163af6ab5fSopenharmony_ci                }
52173af6ab5fSopenharmony_ci              },
52183af6ab5fSopenharmony_ci              "loc": {
52193af6ab5fSopenharmony_ci                "start": {
52203af6ab5fSopenharmony_ci                  "line": 62,
52213af6ab5fSopenharmony_ci                  "column": 8
52223af6ab5fSopenharmony_ci                },
52233af6ab5fSopenharmony_ci                "end": {
52243af6ab5fSopenharmony_ci                  "line": 62,
52253af6ab5fSopenharmony_ci                  "column": 65
52263af6ab5fSopenharmony_ci                }
52273af6ab5fSopenharmony_ci              }
52283af6ab5fSopenharmony_ci            },
52293af6ab5fSopenharmony_ci            "decorators": [],
52303af6ab5fSopenharmony_ci            "loc": {
52313af6ab5fSopenharmony_ci              "start": {
52323af6ab5fSopenharmony_ci                "line": 62,
52333af6ab5fSopenharmony_ci                "column": 5
52343af6ab5fSopenharmony_ci              },
52353af6ab5fSopenharmony_ci              "end": {
52363af6ab5fSopenharmony_ci                "line": 62,
52373af6ab5fSopenharmony_ci                "column": 6
52383af6ab5fSopenharmony_ci              }
52393af6ab5fSopenharmony_ci            }
52403af6ab5fSopenharmony_ci          },
52413af6ab5fSopenharmony_ci          "init": null,
52423af6ab5fSopenharmony_ci          "loc": {
52433af6ab5fSopenharmony_ci            "start": {
52443af6ab5fSopenharmony_ci              "line": 62,
52453af6ab5fSopenharmony_ci              "column": 5
52463af6ab5fSopenharmony_ci            },
52473af6ab5fSopenharmony_ci            "end": {
52483af6ab5fSopenharmony_ci              "line": 62,
52493af6ab5fSopenharmony_ci              "column": 6
52503af6ab5fSopenharmony_ci            }
52513af6ab5fSopenharmony_ci          }
52523af6ab5fSopenharmony_ci        }
52533af6ab5fSopenharmony_ci      ],
52543af6ab5fSopenharmony_ci      "kind": "var",
52553af6ab5fSopenharmony_ci      "loc": {
52563af6ab5fSopenharmony_ci        "start": {
52573af6ab5fSopenharmony_ci          "line": 62,
52583af6ab5fSopenharmony_ci          "column": 1
52593af6ab5fSopenharmony_ci        },
52603af6ab5fSopenharmony_ci        "end": {
52613af6ab5fSopenharmony_ci          "line": 62,
52623af6ab5fSopenharmony_ci          "column": 66
52633af6ab5fSopenharmony_ci        }
52643af6ab5fSopenharmony_ci      }
52653af6ab5fSopenharmony_ci    },
52663af6ab5fSopenharmony_ci    {
52673af6ab5fSopenharmony_ci      "type": "VariableDeclaration",
52683af6ab5fSopenharmony_ci      "declarations": [
52693af6ab5fSopenharmony_ci        {
52703af6ab5fSopenharmony_ci          "type": "VariableDeclarator",
52713af6ab5fSopenharmony_ci          "id": {
52723af6ab5fSopenharmony_ci            "type": "Identifier",
52733af6ab5fSopenharmony_ci            "name": "c",
52743af6ab5fSopenharmony_ci            "typeAnnotation": {
52753af6ab5fSopenharmony_ci              "type": "TSIndexedAccessType",
52763af6ab5fSopenharmony_ci              "objectType": {
52773af6ab5fSopenharmony_ci                "type": "TSTypeReference",
52783af6ab5fSopenharmony_ci                "typeName": {
52793af6ab5fSopenharmony_ci                  "type": "TSQualifiedName",
52803af6ab5fSopenharmony_ci                  "left": {
52813af6ab5fSopenharmony_ci                    "type": "Identifier",
52823af6ab5fSopenharmony_ci                    "name": "B",
52833af6ab5fSopenharmony_ci                    "decorators": [],
52843af6ab5fSopenharmony_ci                    "loc": {
52853af6ab5fSopenharmony_ci                      "start": {
52863af6ab5fSopenharmony_ci                        "line": 64,
52873af6ab5fSopenharmony_ci                        "column": 8
52883af6ab5fSopenharmony_ci                      },
52893af6ab5fSopenharmony_ci                      "end": {
52903af6ab5fSopenharmony_ci                        "line": 64,
52913af6ab5fSopenharmony_ci                        "column": 9
52923af6ab5fSopenharmony_ci                      }
52933af6ab5fSopenharmony_ci                    }
52943af6ab5fSopenharmony_ci                  },
52953af6ab5fSopenharmony_ci                  "right": {
52963af6ab5fSopenharmony_ci                    "type": "Identifier",
52973af6ab5fSopenharmony_ci                    "name": "T",
52983af6ab5fSopenharmony_ci                    "decorators": [],
52993af6ab5fSopenharmony_ci                    "loc": {
53003af6ab5fSopenharmony_ci                      "start": {
53013af6ab5fSopenharmony_ci                        "line": 64,
53023af6ab5fSopenharmony_ci                        "column": 10
53033af6ab5fSopenharmony_ci                      },
53043af6ab5fSopenharmony_ci                      "end": {
53053af6ab5fSopenharmony_ci                        "line": 64,
53063af6ab5fSopenharmony_ci                        "column": 11
53073af6ab5fSopenharmony_ci                      }
53083af6ab5fSopenharmony_ci                    }
53093af6ab5fSopenharmony_ci                  },
53103af6ab5fSopenharmony_ci                  "loc": {
53113af6ab5fSopenharmony_ci                    "start": {
53123af6ab5fSopenharmony_ci                      "line": 64,
53133af6ab5fSopenharmony_ci                      "column": 8
53143af6ab5fSopenharmony_ci                    },
53153af6ab5fSopenharmony_ci                    "end": {
53163af6ab5fSopenharmony_ci                      "line": 64,
53173af6ab5fSopenharmony_ci                      "column": 12
53183af6ab5fSopenharmony_ci                    }
53193af6ab5fSopenharmony_ci                  }
53203af6ab5fSopenharmony_ci                },
53213af6ab5fSopenharmony_ci                "typeParameters": {
53223af6ab5fSopenharmony_ci                  "type": "TSTypeParameterInstantiation",
53233af6ab5fSopenharmony_ci                  "params": [
53243af6ab5fSopenharmony_ci                    {
53253af6ab5fSopenharmony_ci                      "type": "TSTypeReference",
53263af6ab5fSopenharmony_ci                      "typeName": {
53273af6ab5fSopenharmony_ci                        "type": "Identifier",
53283af6ab5fSopenharmony_ci                        "name": "A",
53293af6ab5fSopenharmony_ci                        "decorators": [],
53303af6ab5fSopenharmony_ci                        "loc": {
53313af6ab5fSopenharmony_ci                          "start": {
53323af6ab5fSopenharmony_ci                            "line": 64,
53333af6ab5fSopenharmony_ci                            "column": 12
53343af6ab5fSopenharmony_ci                          },
53353af6ab5fSopenharmony_ci                          "end": {
53363af6ab5fSopenharmony_ci                            "line": 64,
53373af6ab5fSopenharmony_ci                            "column": 13
53383af6ab5fSopenharmony_ci                          }
53393af6ab5fSopenharmony_ci                        }
53403af6ab5fSopenharmony_ci                      },
53413af6ab5fSopenharmony_ci                      "typeParameters": {
53423af6ab5fSopenharmony_ci                        "type": "TSTypeParameterInstantiation",
53433af6ab5fSopenharmony_ci                        "params": [
53443af6ab5fSopenharmony_ci                          {
53453af6ab5fSopenharmony_ci                            "type": "TSTypeReference",
53463af6ab5fSopenharmony_ci                            "typeName": {
53473af6ab5fSopenharmony_ci                              "type": "Identifier",
53483af6ab5fSopenharmony_ci                              "name": "C",
53493af6ab5fSopenharmony_ci                              "decorators": [],
53503af6ab5fSopenharmony_ci                              "loc": {
53513af6ab5fSopenharmony_ci                                "start": {
53523af6ab5fSopenharmony_ci                                  "line": 64,
53533af6ab5fSopenharmony_ci                                  "column": 14
53543af6ab5fSopenharmony_ci                                },
53553af6ab5fSopenharmony_ci                                "end": {
53563af6ab5fSopenharmony_ci                                  "line": 64,
53573af6ab5fSopenharmony_ci                                  "column": 15
53583af6ab5fSopenharmony_ci                                }
53593af6ab5fSopenharmony_ci                              }
53603af6ab5fSopenharmony_ci                            },
53613af6ab5fSopenharmony_ci                            "typeParameters": {
53623af6ab5fSopenharmony_ci                              "type": "TSTypeParameterInstantiation",
53633af6ab5fSopenharmony_ci                              "params": [
53643af6ab5fSopenharmony_ci                                {
53653af6ab5fSopenharmony_ci                                  "type": "TSNumberKeyword",
53663af6ab5fSopenharmony_ci                                  "loc": {
53673af6ab5fSopenharmony_ci                                    "start": {
53683af6ab5fSopenharmony_ci                                      "line": 64,
53693af6ab5fSopenharmony_ci                                      "column": 16
53703af6ab5fSopenharmony_ci                                    },
53713af6ab5fSopenharmony_ci                                    "end": {
53723af6ab5fSopenharmony_ci                                      "line": 64,
53733af6ab5fSopenharmony_ci                                      "column": 22
53743af6ab5fSopenharmony_ci                                    }
53753af6ab5fSopenharmony_ci                                  }
53763af6ab5fSopenharmony_ci                                }
53773af6ab5fSopenharmony_ci                              ],
53783af6ab5fSopenharmony_ci                              "loc": {
53793af6ab5fSopenharmony_ci                                "start": {
53803af6ab5fSopenharmony_ci                                  "line": 64,
53813af6ab5fSopenharmony_ci                                  "column": 14
53823af6ab5fSopenharmony_ci                                },
53833af6ab5fSopenharmony_ci                                "end": {
53843af6ab5fSopenharmony_ci                                  "line": 64,
53853af6ab5fSopenharmony_ci                                  "column": 25
53863af6ab5fSopenharmony_ci                                }
53873af6ab5fSopenharmony_ci                              }
53883af6ab5fSopenharmony_ci                            },
53893af6ab5fSopenharmony_ci                            "loc": {
53903af6ab5fSopenharmony_ci                              "start": {
53913af6ab5fSopenharmony_ci                                "line": 64,
53923af6ab5fSopenharmony_ci                                "column": 14
53933af6ab5fSopenharmony_ci                              },
53943af6ab5fSopenharmony_ci                              "end": {
53953af6ab5fSopenharmony_ci                                "line": 64,
53963af6ab5fSopenharmony_ci                                "column": 15
53973af6ab5fSopenharmony_ci                              }
53983af6ab5fSopenharmony_ci                            }
53993af6ab5fSopenharmony_ci                          }
54003af6ab5fSopenharmony_ci                        ],
54013af6ab5fSopenharmony_ci                        "loc": {
54023af6ab5fSopenharmony_ci                          "start": {
54033af6ab5fSopenharmony_ci                            "line": 64,
54043af6ab5fSopenharmony_ci                            "column": 12
54053af6ab5fSopenharmony_ci                          },
54063af6ab5fSopenharmony_ci                          "end": {
54073af6ab5fSopenharmony_ci                            "line": 64,
54083af6ab5fSopenharmony_ci                            "column": 25
54093af6ab5fSopenharmony_ci                          }
54103af6ab5fSopenharmony_ci                        }
54113af6ab5fSopenharmony_ci                      },
54123af6ab5fSopenharmony_ci                      "loc": {
54133af6ab5fSopenharmony_ci                        "start": {
54143af6ab5fSopenharmony_ci                          "line": 64,
54153af6ab5fSopenharmony_ci                          "column": 12
54163af6ab5fSopenharmony_ci                        },
54173af6ab5fSopenharmony_ci                        "end": {
54183af6ab5fSopenharmony_ci                          "line": 64,
54193af6ab5fSopenharmony_ci                          "column": 13
54203af6ab5fSopenharmony_ci                        }
54213af6ab5fSopenharmony_ci                      }
54223af6ab5fSopenharmony_ci                    }
54233af6ab5fSopenharmony_ci                  ],
54243af6ab5fSopenharmony_ci                  "loc": {
54253af6ab5fSopenharmony_ci                    "start": {
54263af6ab5fSopenharmony_ci                      "line": 64,
54273af6ab5fSopenharmony_ci                      "column": 11
54283af6ab5fSopenharmony_ci                    },
54293af6ab5fSopenharmony_ci                    "end": {
54303af6ab5fSopenharmony_ci                      "line": 64,
54313af6ab5fSopenharmony_ci                      "column": 25
54323af6ab5fSopenharmony_ci                    }
54333af6ab5fSopenharmony_ci                  }
54343af6ab5fSopenharmony_ci                },
54353af6ab5fSopenharmony_ci                "loc": {
54363af6ab5fSopenharmony_ci                  "start": {
54373af6ab5fSopenharmony_ci                    "line": 64,
54383af6ab5fSopenharmony_ci                    "column": 8
54393af6ab5fSopenharmony_ci                  },
54403af6ab5fSopenharmony_ci                  "end": {
54413af6ab5fSopenharmony_ci                    "line": 64,
54423af6ab5fSopenharmony_ci                    "column": 26
54433af6ab5fSopenharmony_ci                  }
54443af6ab5fSopenharmony_ci                }
54453af6ab5fSopenharmony_ci              },
54463af6ab5fSopenharmony_ci              "indexType": {
54473af6ab5fSopenharmony_ci                "type": "TSLiteralType",
54483af6ab5fSopenharmony_ci                "literal": {
54493af6ab5fSopenharmony_ci                  "type": "NumberLiteral",
54503af6ab5fSopenharmony_ci                  "value": 0,
54513af6ab5fSopenharmony_ci                  "loc": {
54523af6ab5fSopenharmony_ci                    "start": {
54533af6ab5fSopenharmony_ci                      "line": 64,
54543af6ab5fSopenharmony_ci                      "column": 26
54553af6ab5fSopenharmony_ci                    },
54563af6ab5fSopenharmony_ci                    "end": {
54573af6ab5fSopenharmony_ci                      "line": 64,
54583af6ab5fSopenharmony_ci                      "column": 27
54593af6ab5fSopenharmony_ci                    }
54603af6ab5fSopenharmony_ci                  }
54613af6ab5fSopenharmony_ci                },
54623af6ab5fSopenharmony_ci                "loc": {
54633af6ab5fSopenharmony_ci                  "start": {
54643af6ab5fSopenharmony_ci                    "line": 64,
54653af6ab5fSopenharmony_ci                    "column": 26
54663af6ab5fSopenharmony_ci                  },
54673af6ab5fSopenharmony_ci                  "end": {
54683af6ab5fSopenharmony_ci                    "line": 64,
54693af6ab5fSopenharmony_ci                    "column": 27
54703af6ab5fSopenharmony_ci                  }
54713af6ab5fSopenharmony_ci                }
54723af6ab5fSopenharmony_ci              },
54733af6ab5fSopenharmony_ci              "loc": {
54743af6ab5fSopenharmony_ci                "start": {
54753af6ab5fSopenharmony_ci                  "line": 64,
54763af6ab5fSopenharmony_ci                  "column": 8
54773af6ab5fSopenharmony_ci                },
54783af6ab5fSopenharmony_ci                "end": {
54793af6ab5fSopenharmony_ci                  "line": 64,
54803af6ab5fSopenharmony_ci                  "column": 29
54813af6ab5fSopenharmony_ci                }
54823af6ab5fSopenharmony_ci              }
54833af6ab5fSopenharmony_ci            },
54843af6ab5fSopenharmony_ci            "decorators": [],
54853af6ab5fSopenharmony_ci            "loc": {
54863af6ab5fSopenharmony_ci              "start": {
54873af6ab5fSopenharmony_ci                "line": 64,
54883af6ab5fSopenharmony_ci                "column": 5
54893af6ab5fSopenharmony_ci              },
54903af6ab5fSopenharmony_ci              "end": {
54913af6ab5fSopenharmony_ci                "line": 64,
54923af6ab5fSopenharmony_ci                "column": 6
54933af6ab5fSopenharmony_ci              }
54943af6ab5fSopenharmony_ci            }
54953af6ab5fSopenharmony_ci          },
54963af6ab5fSopenharmony_ci          "init": null,
54973af6ab5fSopenharmony_ci          "loc": {
54983af6ab5fSopenharmony_ci            "start": {
54993af6ab5fSopenharmony_ci              "line": 64,
55003af6ab5fSopenharmony_ci              "column": 5
55013af6ab5fSopenharmony_ci            },
55023af6ab5fSopenharmony_ci            "end": {
55033af6ab5fSopenharmony_ci              "line": 64,
55043af6ab5fSopenharmony_ci              "column": 6
55053af6ab5fSopenharmony_ci            }
55063af6ab5fSopenharmony_ci          }
55073af6ab5fSopenharmony_ci        }
55083af6ab5fSopenharmony_ci      ],
55093af6ab5fSopenharmony_ci      "kind": "var",
55103af6ab5fSopenharmony_ci      "loc": {
55113af6ab5fSopenharmony_ci        "start": {
55123af6ab5fSopenharmony_ci          "line": 64,
55133af6ab5fSopenharmony_ci          "column": 1
55143af6ab5fSopenharmony_ci        },
55153af6ab5fSopenharmony_ci        "end": {
55163af6ab5fSopenharmony_ci          "line": 64,
55173af6ab5fSopenharmony_ci          "column": 29
55183af6ab5fSopenharmony_ci        }
55193af6ab5fSopenharmony_ci      }
55203af6ab5fSopenharmony_ci    },
55213af6ab5fSopenharmony_ci    {
55223af6ab5fSopenharmony_ci      "type": "VariableDeclaration",
55233af6ab5fSopenharmony_ci      "declarations": [
55243af6ab5fSopenharmony_ci        {
55253af6ab5fSopenharmony_ci          "type": "VariableDeclarator",
55263af6ab5fSopenharmony_ci          "id": {
55273af6ab5fSopenharmony_ci            "type": "Identifier",
55283af6ab5fSopenharmony_ci            "name": "d",
55293af6ab5fSopenharmony_ci            "typeAnnotation": {
55303af6ab5fSopenharmony_ci              "type": "TSTypeReference",
55313af6ab5fSopenharmony_ci              "typeName": {
55323af6ab5fSopenharmony_ci                "type": "Identifier",
55333af6ab5fSopenharmony_ci                "name": "A",
55343af6ab5fSopenharmony_ci                "decorators": [],
55353af6ab5fSopenharmony_ci                "loc": {
55363af6ab5fSopenharmony_ci                  "start": {
55373af6ab5fSopenharmony_ci                    "line": 65,
55383af6ab5fSopenharmony_ci                    "column": 8
55393af6ab5fSopenharmony_ci                  },
55403af6ab5fSopenharmony_ci                  "end": {
55413af6ab5fSopenharmony_ci                    "line": 65,
55423af6ab5fSopenharmony_ci                    "column": 9
55433af6ab5fSopenharmony_ci                  }
55443af6ab5fSopenharmony_ci                }
55453af6ab5fSopenharmony_ci              },
55463af6ab5fSopenharmony_ci              "typeParameters": {
55473af6ab5fSopenharmony_ci                "type": "TSTypeParameterInstantiation",
55483af6ab5fSopenharmony_ci                "params": [
55493af6ab5fSopenharmony_ci                  {
55503af6ab5fSopenharmony_ci                    "type": "TSNumberKeyword",
55513af6ab5fSopenharmony_ci                    "loc": {
55523af6ab5fSopenharmony_ci                      "start": {
55533af6ab5fSopenharmony_ci                        "line": 65,
55543af6ab5fSopenharmony_ci                        "column": 10
55553af6ab5fSopenharmony_ci                      },
55563af6ab5fSopenharmony_ci                      "end": {
55573af6ab5fSopenharmony_ci                        "line": 65,
55583af6ab5fSopenharmony_ci                        "column": 16
55593af6ab5fSopenharmony_ci                      }
55603af6ab5fSopenharmony_ci                    }
55613af6ab5fSopenharmony_ci                  },
55623af6ab5fSopenharmony_ci                  {
55633af6ab5fSopenharmony_ci                    "type": "TSTypeLiteral",
55643af6ab5fSopenharmony_ci                    "members": [
55653af6ab5fSopenharmony_ci                      {
55663af6ab5fSopenharmony_ci                        "type": "TSPropertySignature",
55673af6ab5fSopenharmony_ci                        "computed": false,
55683af6ab5fSopenharmony_ci                        "optional": false,
55693af6ab5fSopenharmony_ci                        "readonly": false,
55703af6ab5fSopenharmony_ci                        "key": {
55713af6ab5fSopenharmony_ci                          "type": "Identifier",
55723af6ab5fSopenharmony_ci                          "name": "a",
55733af6ab5fSopenharmony_ci                          "decorators": [],
55743af6ab5fSopenharmony_ci                          "loc": {
55753af6ab5fSopenharmony_ci                            "start": {
55763af6ab5fSopenharmony_ci                              "line": 65,
55773af6ab5fSopenharmony_ci                              "column": 20
55783af6ab5fSopenharmony_ci                            },
55793af6ab5fSopenharmony_ci                            "end": {
55803af6ab5fSopenharmony_ci                              "line": 65,
55813af6ab5fSopenharmony_ci                              "column": 21
55823af6ab5fSopenharmony_ci                            }
55833af6ab5fSopenharmony_ci                          }
55843af6ab5fSopenharmony_ci                        },
55853af6ab5fSopenharmony_ci                        "typeAnnotation": {
55863af6ab5fSopenharmony_ci                          "type": "TSNumberKeyword",
55873af6ab5fSopenharmony_ci                          "loc": {
55883af6ab5fSopenharmony_ci                            "start": {
55893af6ab5fSopenharmony_ci                              "line": 65,
55903af6ab5fSopenharmony_ci                              "column": 23
55913af6ab5fSopenharmony_ci                            },
55923af6ab5fSopenharmony_ci                            "end": {
55933af6ab5fSopenharmony_ci                              "line": 65,
55943af6ab5fSopenharmony_ci                              "column": 29
55953af6ab5fSopenharmony_ci                            }
55963af6ab5fSopenharmony_ci                          }
55973af6ab5fSopenharmony_ci                        },
55983af6ab5fSopenharmony_ci                        "loc": {
55993af6ab5fSopenharmony_ci                          "start": {
56003af6ab5fSopenharmony_ci                            "line": 65,
56013af6ab5fSopenharmony_ci                            "column": 20
56023af6ab5fSopenharmony_ci                          },
56033af6ab5fSopenharmony_ci                          "end": {
56043af6ab5fSopenharmony_ci                            "line": 65,
56053af6ab5fSopenharmony_ci                            "column": 30
56063af6ab5fSopenharmony_ci                          }
56073af6ab5fSopenharmony_ci                        }
56083af6ab5fSopenharmony_ci                      },
56093af6ab5fSopenharmony_ci                      {
56103af6ab5fSopenharmony_ci                        "type": "TSPropertySignature",
56113af6ab5fSopenharmony_ci                        "computed": false,
56123af6ab5fSopenharmony_ci                        "optional": false,
56133af6ab5fSopenharmony_ci                        "readonly": false,
56143af6ab5fSopenharmony_ci                        "key": {
56153af6ab5fSopenharmony_ci                          "type": "Identifier",
56163af6ab5fSopenharmony_ci                          "name": "b",
56173af6ab5fSopenharmony_ci                          "decorators": [],
56183af6ab5fSopenharmony_ci                          "loc": {
56193af6ab5fSopenharmony_ci                            "start": {
56203af6ab5fSopenharmony_ci                              "line": 65,
56213af6ab5fSopenharmony_ci                              "column": 31
56223af6ab5fSopenharmony_ci                            },
56233af6ab5fSopenharmony_ci                            "end": {
56243af6ab5fSopenharmony_ci                              "line": 65,
56253af6ab5fSopenharmony_ci                              "column": 32
56263af6ab5fSopenharmony_ci                            }
56273af6ab5fSopenharmony_ci                          }
56283af6ab5fSopenharmony_ci                        },
56293af6ab5fSopenharmony_ci                        "typeAnnotation": {
56303af6ab5fSopenharmony_ci                          "type": "TSStringKeyword",
56313af6ab5fSopenharmony_ci                          "loc": {
56323af6ab5fSopenharmony_ci                            "start": {
56333af6ab5fSopenharmony_ci                              "line": 65,
56343af6ab5fSopenharmony_ci                              "column": 34
56353af6ab5fSopenharmony_ci                            },
56363af6ab5fSopenharmony_ci                            "end": {
56373af6ab5fSopenharmony_ci                              "line": 65,
56383af6ab5fSopenharmony_ci                              "column": 40
56393af6ab5fSopenharmony_ci                            }
56403af6ab5fSopenharmony_ci                          }
56413af6ab5fSopenharmony_ci                        },
56423af6ab5fSopenharmony_ci                        "loc": {
56433af6ab5fSopenharmony_ci                          "start": {
56443af6ab5fSopenharmony_ci                            "line": 65,
56453af6ab5fSopenharmony_ci                            "column": 31
56463af6ab5fSopenharmony_ci                          },
56473af6ab5fSopenharmony_ci                          "end": {
56483af6ab5fSopenharmony_ci                            "line": 65,
56493af6ab5fSopenharmony_ci                            "column": 42
56503af6ab5fSopenharmony_ci                          }
56513af6ab5fSopenharmony_ci                        }
56523af6ab5fSopenharmony_ci                      }
56533af6ab5fSopenharmony_ci                    ],
56543af6ab5fSopenharmony_ci                    "loc": {
56553af6ab5fSopenharmony_ci                      "start": {
56563af6ab5fSopenharmony_ci                        "line": 65,
56573af6ab5fSopenharmony_ci                        "column": 18
56583af6ab5fSopenharmony_ci                      },
56593af6ab5fSopenharmony_ci                      "end": {
56603af6ab5fSopenharmony_ci                        "line": 65,
56613af6ab5fSopenharmony_ci                        "column": 42
56623af6ab5fSopenharmony_ci                      }
56633af6ab5fSopenharmony_ci                    }
56643af6ab5fSopenharmony_ci                  },
56653af6ab5fSopenharmony_ci                  {
56663af6ab5fSopenharmony_ci                    "type": "TSTupleType",
56673af6ab5fSopenharmony_ci                    "elementTypes": [
56683af6ab5fSopenharmony_ci                      {
56693af6ab5fSopenharmony_ci                        "type": "TSNumberKeyword",
56703af6ab5fSopenharmony_ci                        "loc": {
56713af6ab5fSopenharmony_ci                          "start": {
56723af6ab5fSopenharmony_ci                            "line": 65,
56733af6ab5fSopenharmony_ci                            "column": 45
56743af6ab5fSopenharmony_ci                          },
56753af6ab5fSopenharmony_ci                          "end": {
56763af6ab5fSopenharmony_ci                            "line": 65,
56773af6ab5fSopenharmony_ci                            "column": 52
56783af6ab5fSopenharmony_ci                          }
56793af6ab5fSopenharmony_ci                        }
56803af6ab5fSopenharmony_ci                      },
56813af6ab5fSopenharmony_ci                      {
56823af6ab5fSopenharmony_ci                        "type": "TSStringKeyword",
56833af6ab5fSopenharmony_ci                        "loc": {
56843af6ab5fSopenharmony_ci                          "start": {
56853af6ab5fSopenharmony_ci                            "line": 65,
56863af6ab5fSopenharmony_ci                            "column": 53
56873af6ab5fSopenharmony_ci                          },
56883af6ab5fSopenharmony_ci                          "end": {
56893af6ab5fSopenharmony_ci                            "line": 65,
56903af6ab5fSopenharmony_ci                            "column": 60
56913af6ab5fSopenharmony_ci                          }
56923af6ab5fSopenharmony_ci                        }
56933af6ab5fSopenharmony_ci                      }
56943af6ab5fSopenharmony_ci                    ],
56953af6ab5fSopenharmony_ci                    "loc": {
56963af6ab5fSopenharmony_ci                      "start": {
56973af6ab5fSopenharmony_ci                        "line": 65,
56983af6ab5fSopenharmony_ci                        "column": 44
56993af6ab5fSopenharmony_ci                      },
57003af6ab5fSopenharmony_ci                      "end": {
57013af6ab5fSopenharmony_ci                        "line": 65,
57023af6ab5fSopenharmony_ci                        "column": 60
57033af6ab5fSopenharmony_ci                      }
57043af6ab5fSopenharmony_ci                    }
57053af6ab5fSopenharmony_ci                  }
57063af6ab5fSopenharmony_ci                ],
57073af6ab5fSopenharmony_ci                "loc": {
57083af6ab5fSopenharmony_ci                  "start": {
57093af6ab5fSopenharmony_ci                    "line": 65,
57103af6ab5fSopenharmony_ci                    "column": 8
57113af6ab5fSopenharmony_ci                  },
57123af6ab5fSopenharmony_ci                  "end": {
57133af6ab5fSopenharmony_ci                    "line": 65,
57143af6ab5fSopenharmony_ci                    "column": 61
57153af6ab5fSopenharmony_ci                  }
57163af6ab5fSopenharmony_ci                }
57173af6ab5fSopenharmony_ci              },
57183af6ab5fSopenharmony_ci              "loc": {
57193af6ab5fSopenharmony_ci                "start": {
57203af6ab5fSopenharmony_ci                  "line": 65,
57213af6ab5fSopenharmony_ci                  "column": 8
57223af6ab5fSopenharmony_ci                },
57233af6ab5fSopenharmony_ci                "end": {
57243af6ab5fSopenharmony_ci                  "line": 65,
57253af6ab5fSopenharmony_ci                  "column": 9
57263af6ab5fSopenharmony_ci                }
57273af6ab5fSopenharmony_ci              }
57283af6ab5fSopenharmony_ci            },
57293af6ab5fSopenharmony_ci            "decorators": [],
57303af6ab5fSopenharmony_ci            "loc": {
57313af6ab5fSopenharmony_ci              "start": {
57323af6ab5fSopenharmony_ci                "line": 65,
57333af6ab5fSopenharmony_ci                "column": 5
57343af6ab5fSopenharmony_ci              },
57353af6ab5fSopenharmony_ci              "end": {
57363af6ab5fSopenharmony_ci                "line": 65,
57373af6ab5fSopenharmony_ci                "column": 6
57383af6ab5fSopenharmony_ci              }
57393af6ab5fSopenharmony_ci            }
57403af6ab5fSopenharmony_ci          },
57413af6ab5fSopenharmony_ci          "init": null,
57423af6ab5fSopenharmony_ci          "loc": {
57433af6ab5fSopenharmony_ci            "start": {
57443af6ab5fSopenharmony_ci              "line": 65,
57453af6ab5fSopenharmony_ci              "column": 5
57463af6ab5fSopenharmony_ci            },
57473af6ab5fSopenharmony_ci            "end": {
57483af6ab5fSopenharmony_ci              "line": 65,
57493af6ab5fSopenharmony_ci              "column": 6
57503af6ab5fSopenharmony_ci            }
57513af6ab5fSopenharmony_ci          }
57523af6ab5fSopenharmony_ci        }
57533af6ab5fSopenharmony_ci      ],
57543af6ab5fSopenharmony_ci      "kind": "var",
57553af6ab5fSopenharmony_ci      "loc": {
57563af6ab5fSopenharmony_ci        "start": {
57573af6ab5fSopenharmony_ci          "line": 65,
57583af6ab5fSopenharmony_ci          "column": 1
57593af6ab5fSopenharmony_ci        },
57603af6ab5fSopenharmony_ci        "end": {
57613af6ab5fSopenharmony_ci          "line": 65,
57623af6ab5fSopenharmony_ci          "column": 62
57633af6ab5fSopenharmony_ci        }
57643af6ab5fSopenharmony_ci      }
57653af6ab5fSopenharmony_ci    },
57663af6ab5fSopenharmony_ci    {
57673af6ab5fSopenharmony_ci      "type": "VariableDeclaration",
57683af6ab5fSopenharmony_ci      "declarations": [
57693af6ab5fSopenharmony_ci        {
57703af6ab5fSopenharmony_ci          "type": "VariableDeclarator",
57713af6ab5fSopenharmony_ci          "id": {
57723af6ab5fSopenharmony_ci            "type": "Identifier",
57733af6ab5fSopenharmony_ci            "name": "e",
57743af6ab5fSopenharmony_ci            "typeAnnotation": {
57753af6ab5fSopenharmony_ci              "type": "TSTypeReference",
57763af6ab5fSopenharmony_ci              "typeName": {
57773af6ab5fSopenharmony_ci                "type": "Identifier",
57783af6ab5fSopenharmony_ci                "name": "T",
57793af6ab5fSopenharmony_ci                "decorators": [],
57803af6ab5fSopenharmony_ci                "loc": {
57813af6ab5fSopenharmony_ci                  "start": {
57823af6ab5fSopenharmony_ci                    "line": 66,
57833af6ab5fSopenharmony_ci                    "column": 8
57843af6ab5fSopenharmony_ci                  },
57853af6ab5fSopenharmony_ci                  "end": {
57863af6ab5fSopenharmony_ci                    "line": 66,
57873af6ab5fSopenharmony_ci                    "column": 9
57883af6ab5fSopenharmony_ci                  }
57893af6ab5fSopenharmony_ci                }
57903af6ab5fSopenharmony_ci              },
57913af6ab5fSopenharmony_ci              "typeParameters": {
57923af6ab5fSopenharmony_ci                "type": "TSTypeParameterInstantiation",
57933af6ab5fSopenharmony_ci                "params": [
57943af6ab5fSopenharmony_ci                  {
57953af6ab5fSopenharmony_ci                    "type": "TSFunctionType",
57963af6ab5fSopenharmony_ci                    "params": [],
57973af6ab5fSopenharmony_ci                    "typeParameters": {
57983af6ab5fSopenharmony_ci                      "type": "TSTypeParameterDeclaration",
57993af6ab5fSopenharmony_ci                      "params": [
58003af6ab5fSopenharmony_ci                        {
58013af6ab5fSopenharmony_ci                          "type": "TSTypeParameter",
58023af6ab5fSopenharmony_ci                          "name": {
58033af6ab5fSopenharmony_ci                            "type": "Identifier",
58043af6ab5fSopenharmony_ci                            "name": "A",
58053af6ab5fSopenharmony_ci                            "decorators": [],
58063af6ab5fSopenharmony_ci                            "loc": {
58073af6ab5fSopenharmony_ci                              "start": {
58083af6ab5fSopenharmony_ci                                "line": 66,
58093af6ab5fSopenharmony_ci                                "column": 11
58103af6ab5fSopenharmony_ci                              },
58113af6ab5fSopenharmony_ci                              "end": {
58123af6ab5fSopenharmony_ci                                "line": 66,
58133af6ab5fSopenharmony_ci                                "column": 12
58143af6ab5fSopenharmony_ci                              }
58153af6ab5fSopenharmony_ci                            }
58163af6ab5fSopenharmony_ci                          },
58173af6ab5fSopenharmony_ci                          "loc": {
58183af6ab5fSopenharmony_ci                            "start": {
58193af6ab5fSopenharmony_ci                              "line": 66,
58203af6ab5fSopenharmony_ci                              "column": 11
58213af6ab5fSopenharmony_ci                            },
58223af6ab5fSopenharmony_ci                            "end": {
58233af6ab5fSopenharmony_ci                              "line": 66,
58243af6ab5fSopenharmony_ci                              "column": 13
58253af6ab5fSopenharmony_ci                            }
58263af6ab5fSopenharmony_ci                          }
58273af6ab5fSopenharmony_ci                        }
58283af6ab5fSopenharmony_ci                      ],
58293af6ab5fSopenharmony_ci                      "loc": {
58303af6ab5fSopenharmony_ci                        "start": {
58313af6ab5fSopenharmony_ci                          "line": 66,
58323af6ab5fSopenharmony_ci                          "column": 10
58333af6ab5fSopenharmony_ci                        },
58343af6ab5fSopenharmony_ci                        "end": {
58353af6ab5fSopenharmony_ci                          "line": 66,
58363af6ab5fSopenharmony_ci                          "column": 13
58373af6ab5fSopenharmony_ci                        }
58383af6ab5fSopenharmony_ci                      }
58393af6ab5fSopenharmony_ci                    },
58403af6ab5fSopenharmony_ci                    "returnType": {
58413af6ab5fSopenharmony_ci                      "type": "TSTypeLiteral",
58423af6ab5fSopenharmony_ci                      "members": [],
58433af6ab5fSopenharmony_ci                      "loc": {
58443af6ab5fSopenharmony_ci                        "start": {
58453af6ab5fSopenharmony_ci                          "line": 66,
58463af6ab5fSopenharmony_ci                          "column": 19
58473af6ab5fSopenharmony_ci                        },
58483af6ab5fSopenharmony_ci                        "end": {
58493af6ab5fSopenharmony_ci                          "line": 66,
58503af6ab5fSopenharmony_ci                          "column": 21
58513af6ab5fSopenharmony_ci                        }
58523af6ab5fSopenharmony_ci                      }
58533af6ab5fSopenharmony_ci                    },
58543af6ab5fSopenharmony_ci                    "loc": {
58553af6ab5fSopenharmony_ci                      "start": {
58563af6ab5fSopenharmony_ci                        "line": 66,
58573af6ab5fSopenharmony_ci                        "column": 10
58583af6ab5fSopenharmony_ci                      },
58593af6ab5fSopenharmony_ci                      "end": {
58603af6ab5fSopenharmony_ci                        "line": 66,
58613af6ab5fSopenharmony_ci                        "column": 21
58623af6ab5fSopenharmony_ci                      }
58633af6ab5fSopenharmony_ci                    }
58643af6ab5fSopenharmony_ci                  }
58653af6ab5fSopenharmony_ci                ],
58663af6ab5fSopenharmony_ci                "loc": {
58673af6ab5fSopenharmony_ci                  "start": {
58683af6ab5fSopenharmony_ci                    "line": 66,
58693af6ab5fSopenharmony_ci                    "column": 8
58703af6ab5fSopenharmony_ci                  },
58713af6ab5fSopenharmony_ci                  "end": {
58723af6ab5fSopenharmony_ci                    "line": 66,
58733af6ab5fSopenharmony_ci                    "column": 22
58743af6ab5fSopenharmony_ci                  }
58753af6ab5fSopenharmony_ci                }
58763af6ab5fSopenharmony_ci              },
58773af6ab5fSopenharmony_ci              "loc": {
58783af6ab5fSopenharmony_ci                "start": {
58793af6ab5fSopenharmony_ci                  "line": 66,
58803af6ab5fSopenharmony_ci                  "column": 8
58813af6ab5fSopenharmony_ci                },
58823af6ab5fSopenharmony_ci                "end": {
58833af6ab5fSopenharmony_ci                  "line": 66,
58843af6ab5fSopenharmony_ci                  "column": 9
58853af6ab5fSopenharmony_ci                }
58863af6ab5fSopenharmony_ci              }
58873af6ab5fSopenharmony_ci            },
58883af6ab5fSopenharmony_ci            "decorators": [],
58893af6ab5fSopenharmony_ci            "loc": {
58903af6ab5fSopenharmony_ci              "start": {
58913af6ab5fSopenharmony_ci                "line": 66,
58923af6ab5fSopenharmony_ci                "column": 5
58933af6ab5fSopenharmony_ci              },
58943af6ab5fSopenharmony_ci              "end": {
58953af6ab5fSopenharmony_ci                "line": 66,
58963af6ab5fSopenharmony_ci                "column": 6
58973af6ab5fSopenharmony_ci              }
58983af6ab5fSopenharmony_ci            }
58993af6ab5fSopenharmony_ci          },
59003af6ab5fSopenharmony_ci          "init": null,
59013af6ab5fSopenharmony_ci          "loc": {
59023af6ab5fSopenharmony_ci            "start": {
59033af6ab5fSopenharmony_ci              "line": 66,
59043af6ab5fSopenharmony_ci              "column": 5
59053af6ab5fSopenharmony_ci            },
59063af6ab5fSopenharmony_ci            "end": {
59073af6ab5fSopenharmony_ci              "line": 66,
59083af6ab5fSopenharmony_ci              "column": 6
59093af6ab5fSopenharmony_ci            }
59103af6ab5fSopenharmony_ci          }
59113af6ab5fSopenharmony_ci        }
59123af6ab5fSopenharmony_ci      ],
59133af6ab5fSopenharmony_ci      "kind": "var",
59143af6ab5fSopenharmony_ci      "loc": {
59153af6ab5fSopenharmony_ci        "start": {
59163af6ab5fSopenharmony_ci          "line": 66,
59173af6ab5fSopenharmony_ci          "column": 1
59183af6ab5fSopenharmony_ci        },
59193af6ab5fSopenharmony_ci        "end": {
59203af6ab5fSopenharmony_ci          "line": 66,
59213af6ab5fSopenharmony_ci          "column": 23
59223af6ab5fSopenharmony_ci        }
59233af6ab5fSopenharmony_ci      }
59243af6ab5fSopenharmony_ci    },
59253af6ab5fSopenharmony_ci    {
59263af6ab5fSopenharmony_ci      "type": "TSTypeAliasDeclaration",
59273af6ab5fSopenharmony_ci      "id": {
59283af6ab5fSopenharmony_ci        "type": "Identifier",
59293af6ab5fSopenharmony_ci        "name": "E",
59303af6ab5fSopenharmony_ci        "decorators": [],
59313af6ab5fSopenharmony_ci        "loc": {
59323af6ab5fSopenharmony_ci          "start": {
59333af6ab5fSopenharmony_ci            "line": 68,
59343af6ab5fSopenharmony_ci            "column": 6
59353af6ab5fSopenharmony_ci          },
59363af6ab5fSopenharmony_ci          "end": {
59373af6ab5fSopenharmony_ci            "line": 68,
59383af6ab5fSopenharmony_ci            "column": 7
59393af6ab5fSopenharmony_ci          }
59403af6ab5fSopenharmony_ci        }
59413af6ab5fSopenharmony_ci      },
59423af6ab5fSopenharmony_ci      "typeAnnotation": {
59433af6ab5fSopenharmony_ci        "type": "TSUnionType",
59443af6ab5fSopenharmony_ci        "types": [
59453af6ab5fSopenharmony_ci          {
59463af6ab5fSopenharmony_ci            "type": "TSNumberKeyword",
59473af6ab5fSopenharmony_ci            "loc": {
59483af6ab5fSopenharmony_ci              "start": {
59493af6ab5fSopenharmony_ci                "line": 68,
59503af6ab5fSopenharmony_ci                "column": 38
59513af6ab5fSopenharmony_ci              },
59523af6ab5fSopenharmony_ci              "end": {
59533af6ab5fSopenharmony_ci                "line": 68,
59543af6ab5fSopenharmony_ci                "column": 44
59553af6ab5fSopenharmony_ci              }
59563af6ab5fSopenharmony_ci            }
59573af6ab5fSopenharmony_ci          },
59583af6ab5fSopenharmony_ci          {
59593af6ab5fSopenharmony_ci            "type": "TSTypeReference",
59603af6ab5fSopenharmony_ci            "typeName": {
59613af6ab5fSopenharmony_ci              "type": "Identifier",
59623af6ab5fSopenharmony_ci              "name": "T",
59633af6ab5fSopenharmony_ci              "decorators": [],
59643af6ab5fSopenharmony_ci              "loc": {
59653af6ab5fSopenharmony_ci                "start": {
59663af6ab5fSopenharmony_ci                  "line": 68,
59673af6ab5fSopenharmony_ci                  "column": 47
59683af6ab5fSopenharmony_ci                },
59693af6ab5fSopenharmony_ci                "end": {
59703af6ab5fSopenharmony_ci                  "line": 68,
59713af6ab5fSopenharmony_ci                  "column": 48
59723af6ab5fSopenharmony_ci                }
59733af6ab5fSopenharmony_ci              }
59743af6ab5fSopenharmony_ci            },
59753af6ab5fSopenharmony_ci            "loc": {
59763af6ab5fSopenharmony_ci              "start": {
59773af6ab5fSopenharmony_ci                "line": 68,
59783af6ab5fSopenharmony_ci                "column": 47
59793af6ab5fSopenharmony_ci              },
59803af6ab5fSopenharmony_ci              "end": {
59813af6ab5fSopenharmony_ci                "line": 68,
59823af6ab5fSopenharmony_ci                "column": 48
59833af6ab5fSopenharmony_ci              }
59843af6ab5fSopenharmony_ci            }
59853af6ab5fSopenharmony_ci          },
59863af6ab5fSopenharmony_ci          {
59873af6ab5fSopenharmony_ci            "type": "TSStringKeyword",
59883af6ab5fSopenharmony_ci            "loc": {
59893af6ab5fSopenharmony_ci              "start": {
59903af6ab5fSopenharmony_ci                "line": 68,
59913af6ab5fSopenharmony_ci                "column": 51
59923af6ab5fSopenharmony_ci              },
59933af6ab5fSopenharmony_ci              "end": {
59943af6ab5fSopenharmony_ci                "line": 68,
59953af6ab5fSopenharmony_ci                "column": 57
59963af6ab5fSopenharmony_ci              }
59973af6ab5fSopenharmony_ci            }
59983af6ab5fSopenharmony_ci          }
59993af6ab5fSopenharmony_ci        ],
60003af6ab5fSopenharmony_ci        "loc": {
60013af6ab5fSopenharmony_ci          "start": {
60023af6ab5fSopenharmony_ci            "line": 68,
60033af6ab5fSopenharmony_ci            "column": 38
60043af6ab5fSopenharmony_ci          },
60053af6ab5fSopenharmony_ci          "end": {
60063af6ab5fSopenharmony_ci            "line": 68,
60073af6ab5fSopenharmony_ci            "column": 57
60083af6ab5fSopenharmony_ci          }
60093af6ab5fSopenharmony_ci        }
60103af6ab5fSopenharmony_ci      },
60113af6ab5fSopenharmony_ci      "typeParameters": {
60123af6ab5fSopenharmony_ci        "type": "TSTypeParameterDeclaration",
60133af6ab5fSopenharmony_ci        "params": [
60143af6ab5fSopenharmony_ci          {
60153af6ab5fSopenharmony_ci            "type": "TSTypeParameter",
60163af6ab5fSopenharmony_ci            "name": {
60173af6ab5fSopenharmony_ci              "type": "Identifier",
60183af6ab5fSopenharmony_ci              "name": "R",
60193af6ab5fSopenharmony_ci              "decorators": [],
60203af6ab5fSopenharmony_ci              "loc": {
60213af6ab5fSopenharmony_ci                "start": {
60223af6ab5fSopenharmony_ci                  "line": 68,
60233af6ab5fSopenharmony_ci                  "column": 8
60243af6ab5fSopenharmony_ci                },
60253af6ab5fSopenharmony_ci                "end": {
60263af6ab5fSopenharmony_ci                  "line": 68,
60273af6ab5fSopenharmony_ci                  "column": 9
60283af6ab5fSopenharmony_ci                }
60293af6ab5fSopenharmony_ci              }
60303af6ab5fSopenharmony_ci            },
60313af6ab5fSopenharmony_ci            "constraint": {
60323af6ab5fSopenharmony_ci              "type": "TSTypeReference",
60333af6ab5fSopenharmony_ci              "typeName": {
60343af6ab5fSopenharmony_ci                "type": "Identifier",
60353af6ab5fSopenharmony_ci                "name": "B",
60363af6ab5fSopenharmony_ci                "decorators": [],
60373af6ab5fSopenharmony_ci                "loc": {
60383af6ab5fSopenharmony_ci                  "start": {
60393af6ab5fSopenharmony_ci                    "line": 68,
60403af6ab5fSopenharmony_ci                    "column": 18
60413af6ab5fSopenharmony_ci                  },
60423af6ab5fSopenharmony_ci                  "end": {
60433af6ab5fSopenharmony_ci                    "line": 68,
60443af6ab5fSopenharmony_ci                    "column": 19
60453af6ab5fSopenharmony_ci                  }
60463af6ab5fSopenharmony_ci                }
60473af6ab5fSopenharmony_ci              },
60483af6ab5fSopenharmony_ci              "loc": {
60493af6ab5fSopenharmony_ci                "start": {
60503af6ab5fSopenharmony_ci                  "line": 68,
60513af6ab5fSopenharmony_ci                  "column": 18
60523af6ab5fSopenharmony_ci                },
60533af6ab5fSopenharmony_ci                "end": {
60543af6ab5fSopenharmony_ci                  "line": 68,
60553af6ab5fSopenharmony_ci                  "column": 19
60563af6ab5fSopenharmony_ci                }
60573af6ab5fSopenharmony_ci              }
60583af6ab5fSopenharmony_ci            },
60593af6ab5fSopenharmony_ci            "loc": {
60603af6ab5fSopenharmony_ci              "start": {
60613af6ab5fSopenharmony_ci                "line": 68,
60623af6ab5fSopenharmony_ci                "column": 8
60633af6ab5fSopenharmony_ci              },
60643af6ab5fSopenharmony_ci              "end": {
60653af6ab5fSopenharmony_ci                "line": 68,
60663af6ab5fSopenharmony_ci                "column": 20
60673af6ab5fSopenharmony_ci              }
60683af6ab5fSopenharmony_ci            }
60693af6ab5fSopenharmony_ci          },
60703af6ab5fSopenharmony_ci          {
60713af6ab5fSopenharmony_ci            "type": "TSTypeParameter",
60723af6ab5fSopenharmony_ci            "name": {
60733af6ab5fSopenharmony_ci              "type": "Identifier",
60743af6ab5fSopenharmony_ci              "name": "C",
60753af6ab5fSopenharmony_ci              "decorators": [],
60763af6ab5fSopenharmony_ci              "loc": {
60773af6ab5fSopenharmony_ci                "start": {
60783af6ab5fSopenharmony_ci                  "line": 68,
60793af6ab5fSopenharmony_ci                  "column": 21
60803af6ab5fSopenharmony_ci                },
60813af6ab5fSopenharmony_ci                "end": {
60823af6ab5fSopenharmony_ci                  "line": 68,
60833af6ab5fSopenharmony_ci                  "column": 22
60843af6ab5fSopenharmony_ci                }
60853af6ab5fSopenharmony_ci              }
60863af6ab5fSopenharmony_ci            },
60873af6ab5fSopenharmony_ci            "loc": {
60883af6ab5fSopenharmony_ci              "start": {
60893af6ab5fSopenharmony_ci                "line": 68,
60903af6ab5fSopenharmony_ci                "column": 21
60913af6ab5fSopenharmony_ci              },
60923af6ab5fSopenharmony_ci              "end": {
60933af6ab5fSopenharmony_ci                "line": 68,
60943af6ab5fSopenharmony_ci                "column": 23
60953af6ab5fSopenharmony_ci              }
60963af6ab5fSopenharmony_ci            }
60973af6ab5fSopenharmony_ci          },
60983af6ab5fSopenharmony_ci          {
60993af6ab5fSopenharmony_ci            "type": "TSTypeParameter",
61003af6ab5fSopenharmony_ci            "name": {
61013af6ab5fSopenharmony_ci              "type": "Identifier",
61023af6ab5fSopenharmony_ci              "name": "T",
61033af6ab5fSopenharmony_ci              "decorators": [],
61043af6ab5fSopenharmony_ci              "loc": {
61053af6ab5fSopenharmony_ci                "start": {
61063af6ab5fSopenharmony_ci                  "line": 68,
61073af6ab5fSopenharmony_ci                  "column": 24
61083af6ab5fSopenharmony_ci                },
61093af6ab5fSopenharmony_ci                "end": {
61103af6ab5fSopenharmony_ci                  "line": 68,
61113af6ab5fSopenharmony_ci                  "column": 25
61123af6ab5fSopenharmony_ci                }
61133af6ab5fSopenharmony_ci              }
61143af6ab5fSopenharmony_ci            },
61153af6ab5fSopenharmony_ci            "default": {
61163af6ab5fSopenharmony_ci              "type": "TSNumberKeyword",
61173af6ab5fSopenharmony_ci              "loc": {
61183af6ab5fSopenharmony_ci                "start": {
61193af6ab5fSopenharmony_ci                  "line": 68,
61203af6ab5fSopenharmony_ci                  "column": 28
61213af6ab5fSopenharmony_ci                },
61223af6ab5fSopenharmony_ci                "end": {
61233af6ab5fSopenharmony_ci                  "line": 68,
61243af6ab5fSopenharmony_ci                  "column": 34
61253af6ab5fSopenharmony_ci                }
61263af6ab5fSopenharmony_ci              }
61273af6ab5fSopenharmony_ci            },
61283af6ab5fSopenharmony_ci            "loc": {
61293af6ab5fSopenharmony_ci              "start": {
61303af6ab5fSopenharmony_ci                "line": 68,
61313af6ab5fSopenharmony_ci                "column": 24
61323af6ab5fSopenharmony_ci              },
61333af6ab5fSopenharmony_ci              "end": {
61343af6ab5fSopenharmony_ci                "line": 68,
61353af6ab5fSopenharmony_ci                "column": 35
61363af6ab5fSopenharmony_ci              }
61373af6ab5fSopenharmony_ci            }
61383af6ab5fSopenharmony_ci          }
61393af6ab5fSopenharmony_ci        ],
61403af6ab5fSopenharmony_ci        "loc": {
61413af6ab5fSopenharmony_ci          "start": {
61423af6ab5fSopenharmony_ci            "line": 68,
61433af6ab5fSopenharmony_ci            "column": 7
61443af6ab5fSopenharmony_ci          },
61453af6ab5fSopenharmony_ci          "end": {
61463af6ab5fSopenharmony_ci            "line": 68,
61473af6ab5fSopenharmony_ci            "column": 35
61483af6ab5fSopenharmony_ci          }
61493af6ab5fSopenharmony_ci        }
61503af6ab5fSopenharmony_ci      },
61513af6ab5fSopenharmony_ci      "loc": {
61523af6ab5fSopenharmony_ci        "start": {
61533af6ab5fSopenharmony_ci          "line": 68,
61543af6ab5fSopenharmony_ci          "column": 1
61553af6ab5fSopenharmony_ci        },
61563af6ab5fSopenharmony_ci        "end": {
61573af6ab5fSopenharmony_ci          "line": 68,
61583af6ab5fSopenharmony_ci          "column": 58
61593af6ab5fSopenharmony_ci        }
61603af6ab5fSopenharmony_ci      }
61613af6ab5fSopenharmony_ci    },
61623af6ab5fSopenharmony_ci    {
61633af6ab5fSopenharmony_ci      "type": "EmptyStatement",
61643af6ab5fSopenharmony_ci      "loc": {
61653af6ab5fSopenharmony_ci        "start": {
61663af6ab5fSopenharmony_ci          "line": 68,
61673af6ab5fSopenharmony_ci          "column": 57
61683af6ab5fSopenharmony_ci        },
61693af6ab5fSopenharmony_ci        "end": {
61703af6ab5fSopenharmony_ci          "line": 68,
61713af6ab5fSopenharmony_ci          "column": 58
61723af6ab5fSopenharmony_ci        }
61733af6ab5fSopenharmony_ci      }
61743af6ab5fSopenharmony_ci    },
61753af6ab5fSopenharmony_ci    {
61763af6ab5fSopenharmony_ci      "type": "TSTypeAliasDeclaration",
61773af6ab5fSopenharmony_ci      "id": {
61783af6ab5fSopenharmony_ci        "type": "Identifier",
61793af6ab5fSopenharmony_ci        "name": "P",
61803af6ab5fSopenharmony_ci        "decorators": [],
61813af6ab5fSopenharmony_ci        "loc": {
61823af6ab5fSopenharmony_ci          "start": {
61833af6ab5fSopenharmony_ci            "line": 69,
61843af6ab5fSopenharmony_ci            "column": 6
61853af6ab5fSopenharmony_ci          },
61863af6ab5fSopenharmony_ci          "end": {
61873af6ab5fSopenharmony_ci            "line": 69,
61883af6ab5fSopenharmony_ci            "column": 7
61893af6ab5fSopenharmony_ci          }
61903af6ab5fSopenharmony_ci        }
61913af6ab5fSopenharmony_ci      },
61923af6ab5fSopenharmony_ci      "typeAnnotation": {
61933af6ab5fSopenharmony_ci        "type": "TSTypeLiteral",
61943af6ab5fSopenharmony_ci        "members": [
61953af6ab5fSopenharmony_ci          {
61963af6ab5fSopenharmony_ci            "type": "TSPropertySignature",
61973af6ab5fSopenharmony_ci            "computed": false,
61983af6ab5fSopenharmony_ci            "optional": false,
61993af6ab5fSopenharmony_ci            "readonly": false,
62003af6ab5fSopenharmony_ci            "key": {
62013af6ab5fSopenharmony_ci              "type": "Identifier",
62023af6ab5fSopenharmony_ci              "name": "a",
62033af6ab5fSopenharmony_ci              "decorators": [],
62043af6ab5fSopenharmony_ci              "loc": {
62053af6ab5fSopenharmony_ci                "start": {
62063af6ab5fSopenharmony_ci                  "line": 69,
62073af6ab5fSopenharmony_ci                  "column": 52
62083af6ab5fSopenharmony_ci                },
62093af6ab5fSopenharmony_ci                "end": {
62103af6ab5fSopenharmony_ci                  "line": 69,
62113af6ab5fSopenharmony_ci                  "column": 53
62123af6ab5fSopenharmony_ci                }
62133af6ab5fSopenharmony_ci              }
62143af6ab5fSopenharmony_ci            },
62153af6ab5fSopenharmony_ci            "typeAnnotation": {
62163af6ab5fSopenharmony_ci              "type": "TSTypeReference",
62173af6ab5fSopenharmony_ci              "typeName": {
62183af6ab5fSopenharmony_ci                "type": "Identifier",
62193af6ab5fSopenharmony_ci                "name": "K",
62203af6ab5fSopenharmony_ci                "decorators": [],
62213af6ab5fSopenharmony_ci                "loc": {
62223af6ab5fSopenharmony_ci                  "start": {
62233af6ab5fSopenharmony_ci                    "line": 69,
62243af6ab5fSopenharmony_ci                    "column": 54
62253af6ab5fSopenharmony_ci                  },
62263af6ab5fSopenharmony_ci                  "end": {
62273af6ab5fSopenharmony_ci                    "line": 69,
62283af6ab5fSopenharmony_ci                    "column": 55
62293af6ab5fSopenharmony_ci                  }
62303af6ab5fSopenharmony_ci                }
62313af6ab5fSopenharmony_ci              },
62323af6ab5fSopenharmony_ci              "loc": {
62333af6ab5fSopenharmony_ci                "start": {
62343af6ab5fSopenharmony_ci                  "line": 69,
62353af6ab5fSopenharmony_ci                  "column": 54
62363af6ab5fSopenharmony_ci                },
62373af6ab5fSopenharmony_ci                "end": {
62383af6ab5fSopenharmony_ci                  "line": 69,
62393af6ab5fSopenharmony_ci                  "column": 55
62403af6ab5fSopenharmony_ci                }
62413af6ab5fSopenharmony_ci              }
62423af6ab5fSopenharmony_ci            },
62433af6ab5fSopenharmony_ci            "loc": {
62443af6ab5fSopenharmony_ci              "start": {
62453af6ab5fSopenharmony_ci                "line": 69,
62463af6ab5fSopenharmony_ci                "column": 52
62473af6ab5fSopenharmony_ci              },
62483af6ab5fSopenharmony_ci              "end": {
62493af6ab5fSopenharmony_ci                "line": 69,
62503af6ab5fSopenharmony_ci                "column": 56
62513af6ab5fSopenharmony_ci              }
62523af6ab5fSopenharmony_ci            }
62533af6ab5fSopenharmony_ci          },
62543af6ab5fSopenharmony_ci          {
62553af6ab5fSopenharmony_ci            "type": "TSPropertySignature",
62563af6ab5fSopenharmony_ci            "computed": false,
62573af6ab5fSopenharmony_ci            "optional": false,
62583af6ab5fSopenharmony_ci            "readonly": false,
62593af6ab5fSopenharmony_ci            "key": {
62603af6ab5fSopenharmony_ci              "type": "Identifier",
62613af6ab5fSopenharmony_ci              "name": "b",
62623af6ab5fSopenharmony_ci              "decorators": [],
62633af6ab5fSopenharmony_ci              "loc": {
62643af6ab5fSopenharmony_ci                "start": {
62653af6ab5fSopenharmony_ci                  "line": 69,
62663af6ab5fSopenharmony_ci                  "column": 57
62673af6ab5fSopenharmony_ci                },
62683af6ab5fSopenharmony_ci                "end": {
62693af6ab5fSopenharmony_ci                  "line": 69,
62703af6ab5fSopenharmony_ci                  "column": 58
62713af6ab5fSopenharmony_ci                }
62723af6ab5fSopenharmony_ci              }
62733af6ab5fSopenharmony_ci            },
62743af6ab5fSopenharmony_ci            "typeAnnotation": {
62753af6ab5fSopenharmony_ci              "type": "TSTypeReference",
62763af6ab5fSopenharmony_ci              "typeName": {
62773af6ab5fSopenharmony_ci                "type": "Identifier",
62783af6ab5fSopenharmony_ci                "name": "Q",
62793af6ab5fSopenharmony_ci                "decorators": [],
62803af6ab5fSopenharmony_ci                "loc": {
62813af6ab5fSopenharmony_ci                  "start": {
62823af6ab5fSopenharmony_ci                    "line": 69,
62833af6ab5fSopenharmony_ci                    "column": 59
62843af6ab5fSopenharmony_ci                  },
62853af6ab5fSopenharmony_ci                  "end": {
62863af6ab5fSopenharmony_ci                    "line": 69,
62873af6ab5fSopenharmony_ci                    "column": 60
62883af6ab5fSopenharmony_ci                  }
62893af6ab5fSopenharmony_ci                }
62903af6ab5fSopenharmony_ci              },
62913af6ab5fSopenharmony_ci              "loc": {
62923af6ab5fSopenharmony_ci                "start": {
62933af6ab5fSopenharmony_ci                  "line": 69,
62943af6ab5fSopenharmony_ci                  "column": 59
62953af6ab5fSopenharmony_ci                },
62963af6ab5fSopenharmony_ci                "end": {
62973af6ab5fSopenharmony_ci                  "line": 69,
62983af6ab5fSopenharmony_ci                  "column": 60
62993af6ab5fSopenharmony_ci                }
63003af6ab5fSopenharmony_ci              }
63013af6ab5fSopenharmony_ci            },
63023af6ab5fSopenharmony_ci            "loc": {
63033af6ab5fSopenharmony_ci              "start": {
63043af6ab5fSopenharmony_ci                "line": 69,
63053af6ab5fSopenharmony_ci                "column": 57
63063af6ab5fSopenharmony_ci              },
63073af6ab5fSopenharmony_ci              "end": {
63083af6ab5fSopenharmony_ci                "line": 69,
63093af6ab5fSopenharmony_ci                "column": 61
63103af6ab5fSopenharmony_ci              }
63113af6ab5fSopenharmony_ci            }
63123af6ab5fSopenharmony_ci          }
63133af6ab5fSopenharmony_ci        ],
63143af6ab5fSopenharmony_ci        "loc": {
63153af6ab5fSopenharmony_ci          "start": {
63163af6ab5fSopenharmony_ci            "line": 69,
63173af6ab5fSopenharmony_ci            "column": 51
63183af6ab5fSopenharmony_ci          },
63193af6ab5fSopenharmony_ci          "end": {
63203af6ab5fSopenharmony_ci            "line": 69,
63213af6ab5fSopenharmony_ci            "column": 61
63223af6ab5fSopenharmony_ci          }
63233af6ab5fSopenharmony_ci        }
63243af6ab5fSopenharmony_ci      },
63253af6ab5fSopenharmony_ci      "typeParameters": {
63263af6ab5fSopenharmony_ci        "type": "TSTypeParameterDeclaration",
63273af6ab5fSopenharmony_ci        "params": [
63283af6ab5fSopenharmony_ci          {
63293af6ab5fSopenharmony_ci            "type": "TSTypeParameter",
63303af6ab5fSopenharmony_ci            "name": {
63313af6ab5fSopenharmony_ci              "type": "Identifier",
63323af6ab5fSopenharmony_ci              "name": "K",
63333af6ab5fSopenharmony_ci              "decorators": [],
63343af6ab5fSopenharmony_ci              "loc": {
63353af6ab5fSopenharmony_ci                "start": {
63363af6ab5fSopenharmony_ci                  "line": 69,
63373af6ab5fSopenharmony_ci                  "column": 8
63383af6ab5fSopenharmony_ci                },
63393af6ab5fSopenharmony_ci                "end": {
63403af6ab5fSopenharmony_ci                  "line": 69,
63413af6ab5fSopenharmony_ci                  "column": 9
63423af6ab5fSopenharmony_ci                }
63433af6ab5fSopenharmony_ci              }
63443af6ab5fSopenharmony_ci            },
63453af6ab5fSopenharmony_ci            "loc": {
63463af6ab5fSopenharmony_ci              "start": {
63473af6ab5fSopenharmony_ci                "line": 69,
63483af6ab5fSopenharmony_ci                "column": 8
63493af6ab5fSopenharmony_ci              },
63503af6ab5fSopenharmony_ci              "end": {
63513af6ab5fSopenharmony_ci                "line": 69,
63523af6ab5fSopenharmony_ci                "column": 10
63533af6ab5fSopenharmony_ci              }
63543af6ab5fSopenharmony_ci            }
63553af6ab5fSopenharmony_ci          },
63563af6ab5fSopenharmony_ci          {
63573af6ab5fSopenharmony_ci            "type": "TSTypeParameter",
63583af6ab5fSopenharmony_ci            "name": {
63593af6ab5fSopenharmony_ci              "type": "Identifier",
63603af6ab5fSopenharmony_ci              "name": "Q",
63613af6ab5fSopenharmony_ci              "decorators": [],
63623af6ab5fSopenharmony_ci              "loc": {
63633af6ab5fSopenharmony_ci                "start": {
63643af6ab5fSopenharmony_ci                  "line": 69,
63653af6ab5fSopenharmony_ci                  "column": 11
63663af6ab5fSopenharmony_ci                },
63673af6ab5fSopenharmony_ci                "end": {
63683af6ab5fSopenharmony_ci                  "line": 69,
63693af6ab5fSopenharmony_ci                  "column": 12
63703af6ab5fSopenharmony_ci                }
63713af6ab5fSopenharmony_ci              }
63723af6ab5fSopenharmony_ci            },
63733af6ab5fSopenharmony_ci            "default": {
63743af6ab5fSopenharmony_ci              "type": "TSUnionType",
63753af6ab5fSopenharmony_ci              "types": [
63763af6ab5fSopenharmony_ci                {
63773af6ab5fSopenharmony_ci                  "type": "TSTupleType",
63783af6ab5fSopenharmony_ci                  "elementTypes": [
63793af6ab5fSopenharmony_ci                    {
63803af6ab5fSopenharmony_ci                      "type": "TSNumberKeyword",
63813af6ab5fSopenharmony_ci                      "loc": {
63823af6ab5fSopenharmony_ci                        "start": {
63833af6ab5fSopenharmony_ci                          "line": 69,
63843af6ab5fSopenharmony_ci                          "column": 16
63853af6ab5fSopenharmony_ci                        },
63863af6ab5fSopenharmony_ci                        "end": {
63873af6ab5fSopenharmony_ci                          "line": 69,
63883af6ab5fSopenharmony_ci                          "column": 23
63893af6ab5fSopenharmony_ci                        }
63903af6ab5fSopenharmony_ci                      }
63913af6ab5fSopenharmony_ci                    },
63923af6ab5fSopenharmony_ci                    {
63933af6ab5fSopenharmony_ci                      "type": "TSNumberKeyword",
63943af6ab5fSopenharmony_ci                      "loc": {
63953af6ab5fSopenharmony_ci                        "start": {
63963af6ab5fSopenharmony_ci                          "line": 69,
63973af6ab5fSopenharmony_ci                          "column": 24
63983af6ab5fSopenharmony_ci                        },
63993af6ab5fSopenharmony_ci                        "end": {
64003af6ab5fSopenharmony_ci                          "line": 69,
64013af6ab5fSopenharmony_ci                          "column": 31
64023af6ab5fSopenharmony_ci                        }
64033af6ab5fSopenharmony_ci                      }
64043af6ab5fSopenharmony_ci                    },
64053af6ab5fSopenharmony_ci                    {
64063af6ab5fSopenharmony_ci                      "type": "TSStringKeyword",
64073af6ab5fSopenharmony_ci                      "loc": {
64083af6ab5fSopenharmony_ci                        "start": {
64093af6ab5fSopenharmony_ci                          "line": 69,
64103af6ab5fSopenharmony_ci                          "column": 32
64113af6ab5fSopenharmony_ci                        },
64123af6ab5fSopenharmony_ci                        "end": {
64133af6ab5fSopenharmony_ci                          "line": 69,
64143af6ab5fSopenharmony_ci                          "column": 39
64153af6ab5fSopenharmony_ci                        }
64163af6ab5fSopenharmony_ci                      }
64173af6ab5fSopenharmony_ci                    }
64183af6ab5fSopenharmony_ci                  ],
64193af6ab5fSopenharmony_ci                  "loc": {
64203af6ab5fSopenharmony_ci                    "start": {
64213af6ab5fSopenharmony_ci                      "line": 69,
64223af6ab5fSopenharmony_ci                      "column": 15
64233af6ab5fSopenharmony_ci                    },
64243af6ab5fSopenharmony_ci                    "end": {
64253af6ab5fSopenharmony_ci                      "line": 69,
64263af6ab5fSopenharmony_ci                      "column": 39
64273af6ab5fSopenharmony_ci                    }
64283af6ab5fSopenharmony_ci                  }
64293af6ab5fSopenharmony_ci                },
64303af6ab5fSopenharmony_ci                {
64313af6ab5fSopenharmony_ci                  "type": "TSArrayType",
64323af6ab5fSopenharmony_ci                  "elementType": {
64333af6ab5fSopenharmony_ci                    "type": "TSAnyKeyword",
64343af6ab5fSopenharmony_ci                    "loc": {
64353af6ab5fSopenharmony_ci                      "start": {
64363af6ab5fSopenharmony_ci                        "line": 69,
64373af6ab5fSopenharmony_ci                        "column": 42
64383af6ab5fSopenharmony_ci                      },
64393af6ab5fSopenharmony_ci                      "end": {
64403af6ab5fSopenharmony_ci                        "line": 69,
64413af6ab5fSopenharmony_ci                        "column": 45
64423af6ab5fSopenharmony_ci                      }
64433af6ab5fSopenharmony_ci                    }
64443af6ab5fSopenharmony_ci                  },
64453af6ab5fSopenharmony_ci                  "loc": {
64463af6ab5fSopenharmony_ci                    "start": {
64473af6ab5fSopenharmony_ci                      "line": 69,
64483af6ab5fSopenharmony_ci                      "column": 42
64493af6ab5fSopenharmony_ci                    },
64503af6ab5fSopenharmony_ci                    "end": {
64513af6ab5fSopenharmony_ci                      "line": 69,
64523af6ab5fSopenharmony_ci                      "column": 47
64533af6ab5fSopenharmony_ci                    }
64543af6ab5fSopenharmony_ci                  }
64553af6ab5fSopenharmony_ci                }
64563af6ab5fSopenharmony_ci              ],
64573af6ab5fSopenharmony_ci              "loc": {
64583af6ab5fSopenharmony_ci                "start": {
64593af6ab5fSopenharmony_ci                  "line": 69,
64603af6ab5fSopenharmony_ci                  "column": 15
64613af6ab5fSopenharmony_ci                },
64623af6ab5fSopenharmony_ci                "end": {
64633af6ab5fSopenharmony_ci                  "line": 69,
64643af6ab5fSopenharmony_ci                  "column": 47
64653af6ab5fSopenharmony_ci                }
64663af6ab5fSopenharmony_ci              }
64673af6ab5fSopenharmony_ci            },
64683af6ab5fSopenharmony_ci            "loc": {
64693af6ab5fSopenharmony_ci              "start": {
64703af6ab5fSopenharmony_ci                "line": 69,
64713af6ab5fSopenharmony_ci                "column": 11
64723af6ab5fSopenharmony_ci              },
64733af6ab5fSopenharmony_ci              "end": {
64743af6ab5fSopenharmony_ci                "line": 69,
64753af6ab5fSopenharmony_ci                "column": 48
64763af6ab5fSopenharmony_ci              }
64773af6ab5fSopenharmony_ci            }
64783af6ab5fSopenharmony_ci          }
64793af6ab5fSopenharmony_ci        ],
64803af6ab5fSopenharmony_ci        "loc": {
64813af6ab5fSopenharmony_ci          "start": {
64823af6ab5fSopenharmony_ci            "line": 69,
64833af6ab5fSopenharmony_ci            "column": 7
64843af6ab5fSopenharmony_ci          },
64853af6ab5fSopenharmony_ci          "end": {
64863af6ab5fSopenharmony_ci            "line": 69,
64873af6ab5fSopenharmony_ci            "column": 48
64883af6ab5fSopenharmony_ci          }
64893af6ab5fSopenharmony_ci        }
64903af6ab5fSopenharmony_ci      },
64913af6ab5fSopenharmony_ci      "loc": {
64923af6ab5fSopenharmony_ci        "start": {
64933af6ab5fSopenharmony_ci          "line": 69,
64943af6ab5fSopenharmony_ci          "column": 1
64953af6ab5fSopenharmony_ci        },
64963af6ab5fSopenharmony_ci        "end": {
64973af6ab5fSopenharmony_ci          "line": 69,
64983af6ab5fSopenharmony_ci          "column": 62
64993af6ab5fSopenharmony_ci        }
65003af6ab5fSopenharmony_ci      }
65013af6ab5fSopenharmony_ci    },
65023af6ab5fSopenharmony_ci    {
65033af6ab5fSopenharmony_ci      "type": "EmptyStatement",
65043af6ab5fSopenharmony_ci      "loc": {
65053af6ab5fSopenharmony_ci        "start": {
65063af6ab5fSopenharmony_ci          "line": 69,
65073af6ab5fSopenharmony_ci          "column": 61
65083af6ab5fSopenharmony_ci        },
65093af6ab5fSopenharmony_ci        "end": {
65103af6ab5fSopenharmony_ci          "line": 69,
65113af6ab5fSopenharmony_ci          "column": 62
65123af6ab5fSopenharmony_ci        }
65133af6ab5fSopenharmony_ci      }
65143af6ab5fSopenharmony_ci    },
65153af6ab5fSopenharmony_ci    {
65163af6ab5fSopenharmony_ci      "type": "ExpressionStatement",
65173af6ab5fSopenharmony_ci      "expression": {
65183af6ab5fSopenharmony_ci        "type": "CallExpression",
65193af6ab5fSopenharmony_ci        "callee": {
65203af6ab5fSopenharmony_ci          "type": "Identifier",
65213af6ab5fSopenharmony_ci          "name": "async",
65223af6ab5fSopenharmony_ci          "decorators": [],
65233af6ab5fSopenharmony_ci          "loc": {
65243af6ab5fSopenharmony_ci            "start": {
65253af6ab5fSopenharmony_ci              "line": 71,
65263af6ab5fSopenharmony_ci              "column": 1
65273af6ab5fSopenharmony_ci            },
65283af6ab5fSopenharmony_ci            "end": {
65293af6ab5fSopenharmony_ci              "line": 71,
65303af6ab5fSopenharmony_ci              "column": 6
65313af6ab5fSopenharmony_ci            }
65323af6ab5fSopenharmony_ci          }
65333af6ab5fSopenharmony_ci        },
65343af6ab5fSopenharmony_ci        "arguments": [],
65353af6ab5fSopenharmony_ci        "optional": false,
65363af6ab5fSopenharmony_ci        "typeParameters": {
65373af6ab5fSopenharmony_ci          "type": "TSTypeParameterInstantiation",
65383af6ab5fSopenharmony_ci          "params": [
65393af6ab5fSopenharmony_ci            {
65403af6ab5fSopenharmony_ci              "type": "TSFunctionType",
65413af6ab5fSopenharmony_ci              "params": [],
65423af6ab5fSopenharmony_ci              "typeParameters": {
65433af6ab5fSopenharmony_ci                "type": "TSTypeParameterDeclaration",
65443af6ab5fSopenharmony_ci                "params": [
65453af6ab5fSopenharmony_ci                  {
65463af6ab5fSopenharmony_ci                    "type": "TSTypeParameter",
65473af6ab5fSopenharmony_ci                    "name": {
65483af6ab5fSopenharmony_ci                      "type": "Identifier",
65493af6ab5fSopenharmony_ci                      "name": "A",
65503af6ab5fSopenharmony_ci                      "decorators": [],
65513af6ab5fSopenharmony_ci                      "loc": {
65523af6ab5fSopenharmony_ci                        "start": {
65533af6ab5fSopenharmony_ci                          "line": 71,
65543af6ab5fSopenharmony_ci                          "column": 8
65553af6ab5fSopenharmony_ci                        },
65563af6ab5fSopenharmony_ci                        "end": {
65573af6ab5fSopenharmony_ci                          "line": 71,
65583af6ab5fSopenharmony_ci                          "column": 9
65593af6ab5fSopenharmony_ci                        }
65603af6ab5fSopenharmony_ci                      }
65613af6ab5fSopenharmony_ci                    },
65623af6ab5fSopenharmony_ci                    "loc": {
65633af6ab5fSopenharmony_ci                      "start": {
65643af6ab5fSopenharmony_ci                        "line": 71,
65653af6ab5fSopenharmony_ci                        "column": 8
65663af6ab5fSopenharmony_ci                      },
65673af6ab5fSopenharmony_ci                      "end": {
65683af6ab5fSopenharmony_ci                        "line": 71,
65693af6ab5fSopenharmony_ci                        "column": 10
65703af6ab5fSopenharmony_ci                      }
65713af6ab5fSopenharmony_ci                    }
65723af6ab5fSopenharmony_ci                  }
65733af6ab5fSopenharmony_ci                ],
65743af6ab5fSopenharmony_ci                "loc": {
65753af6ab5fSopenharmony_ci                  "start": {
65763af6ab5fSopenharmony_ci                    "line": 71,
65773af6ab5fSopenharmony_ci                    "column": 7
65783af6ab5fSopenharmony_ci                  },
65793af6ab5fSopenharmony_ci                  "end": {
65803af6ab5fSopenharmony_ci                    "line": 71,
65813af6ab5fSopenharmony_ci                    "column": 10
65823af6ab5fSopenharmony_ci                  }
65833af6ab5fSopenharmony_ci                }
65843af6ab5fSopenharmony_ci              },
65853af6ab5fSopenharmony_ci              "returnType": {
65863af6ab5fSopenharmony_ci                "type": "TSTypeLiteral",
65873af6ab5fSopenharmony_ci                "members": [],
65883af6ab5fSopenharmony_ci                "loc": {
65893af6ab5fSopenharmony_ci                  "start": {
65903af6ab5fSopenharmony_ci                    "line": 71,
65913af6ab5fSopenharmony_ci                    "column": 16
65923af6ab5fSopenharmony_ci                  },
65933af6ab5fSopenharmony_ci                  "end": {
65943af6ab5fSopenharmony_ci                    "line": 71,
65953af6ab5fSopenharmony_ci                    "column": 18
65963af6ab5fSopenharmony_ci                  }
65973af6ab5fSopenharmony_ci                }
65983af6ab5fSopenharmony_ci              },
65993af6ab5fSopenharmony_ci              "loc": {
66003af6ab5fSopenharmony_ci                "start": {
66013af6ab5fSopenharmony_ci                  "line": 71,
66023af6ab5fSopenharmony_ci                  "column": 7
66033af6ab5fSopenharmony_ci                },
66043af6ab5fSopenharmony_ci                "end": {
66053af6ab5fSopenharmony_ci                  "line": 71,
66063af6ab5fSopenharmony_ci                  "column": 18
66073af6ab5fSopenharmony_ci                }
66083af6ab5fSopenharmony_ci              }
66093af6ab5fSopenharmony_ci            }
66103af6ab5fSopenharmony_ci          ],
66113af6ab5fSopenharmony_ci          "loc": {
66123af6ab5fSopenharmony_ci            "start": {
66133af6ab5fSopenharmony_ci              "line": 71,
66143af6ab5fSopenharmony_ci              "column": 6
66153af6ab5fSopenharmony_ci            },
66163af6ab5fSopenharmony_ci            "end": {
66173af6ab5fSopenharmony_ci              "line": 71,
66183af6ab5fSopenharmony_ci              "column": 19
66193af6ab5fSopenharmony_ci            }
66203af6ab5fSopenharmony_ci          }
66213af6ab5fSopenharmony_ci        },
66223af6ab5fSopenharmony_ci        "loc": {
66233af6ab5fSopenharmony_ci          "start": {
66243af6ab5fSopenharmony_ci            "line": 71,
66253af6ab5fSopenharmony_ci            "column": 1
66263af6ab5fSopenharmony_ci          },
66273af6ab5fSopenharmony_ci          "end": {
66283af6ab5fSopenharmony_ci            "line": 71,
66293af6ab5fSopenharmony_ci            "column": 21
66303af6ab5fSopenharmony_ci          }
66313af6ab5fSopenharmony_ci        }
66323af6ab5fSopenharmony_ci      },
66333af6ab5fSopenharmony_ci      "loc": {
66343af6ab5fSopenharmony_ci        "start": {
66353af6ab5fSopenharmony_ci          "line": 71,
66363af6ab5fSopenharmony_ci          "column": 1
66373af6ab5fSopenharmony_ci        },
66383af6ab5fSopenharmony_ci        "end": {
66393af6ab5fSopenharmony_ci          "line": 71,
66403af6ab5fSopenharmony_ci          "column": 22
66413af6ab5fSopenharmony_ci        }
66423af6ab5fSopenharmony_ci      }
66433af6ab5fSopenharmony_ci    },
66443af6ab5fSopenharmony_ci    {
66453af6ab5fSopenharmony_ci      "type": "ExpressionStatement",
66463af6ab5fSopenharmony_ci      "expression": {
66473af6ab5fSopenharmony_ci        "type": "CallExpression",
66483af6ab5fSopenharmony_ci        "callee": {
66493af6ab5fSopenharmony_ci          "type": "Identifier",
66503af6ab5fSopenharmony_ci          "name": "p",
66513af6ab5fSopenharmony_ci          "decorators": [],
66523af6ab5fSopenharmony_ci          "loc": {
66533af6ab5fSopenharmony_ci            "start": {
66543af6ab5fSopenharmony_ci              "line": 72,
66553af6ab5fSopenharmony_ci              "column": 1
66563af6ab5fSopenharmony_ci            },
66573af6ab5fSopenharmony_ci            "end": {
66583af6ab5fSopenharmony_ci              "line": 72,
66593af6ab5fSopenharmony_ci              "column": 2
66603af6ab5fSopenharmony_ci            }
66613af6ab5fSopenharmony_ci          }
66623af6ab5fSopenharmony_ci        },
66633af6ab5fSopenharmony_ci        "arguments": [],
66643af6ab5fSopenharmony_ci        "optional": false,
66653af6ab5fSopenharmony_ci        "typeParameters": {
66663af6ab5fSopenharmony_ci          "type": "TSTypeParameterInstantiation",
66673af6ab5fSopenharmony_ci          "params": [
66683af6ab5fSopenharmony_ci            {
66693af6ab5fSopenharmony_ci              "type": "TSNumberKeyword",
66703af6ab5fSopenharmony_ci              "loc": {
66713af6ab5fSopenharmony_ci                "start": {
66723af6ab5fSopenharmony_ci                  "line": 72,
66733af6ab5fSopenharmony_ci                  "column": 3
66743af6ab5fSopenharmony_ci                },
66753af6ab5fSopenharmony_ci                "end": {
66763af6ab5fSopenharmony_ci                  "line": 72,
66773af6ab5fSopenharmony_ci                  "column": 9
66783af6ab5fSopenharmony_ci                }
66793af6ab5fSopenharmony_ci              }
66803af6ab5fSopenharmony_ci            }
66813af6ab5fSopenharmony_ci          ],
66823af6ab5fSopenharmony_ci          "loc": {
66833af6ab5fSopenharmony_ci            "start": {
66843af6ab5fSopenharmony_ci              "line": 72,
66853af6ab5fSopenharmony_ci              "column": 2
66863af6ab5fSopenharmony_ci            },
66873af6ab5fSopenharmony_ci            "end": {
66883af6ab5fSopenharmony_ci              "line": 72,
66893af6ab5fSopenharmony_ci              "column": 10
66903af6ab5fSopenharmony_ci            }
66913af6ab5fSopenharmony_ci          }
66923af6ab5fSopenharmony_ci        },
66933af6ab5fSopenharmony_ci        "loc": {
66943af6ab5fSopenharmony_ci          "start": {
66953af6ab5fSopenharmony_ci            "line": 72,
66963af6ab5fSopenharmony_ci            "column": 1
66973af6ab5fSopenharmony_ci          },
66983af6ab5fSopenharmony_ci          "end": {
66993af6ab5fSopenharmony_ci            "line": 72,
67003af6ab5fSopenharmony_ci            "column": 12
67013af6ab5fSopenharmony_ci          }
67023af6ab5fSopenharmony_ci        }
67033af6ab5fSopenharmony_ci      },
67043af6ab5fSopenharmony_ci      "loc": {
67053af6ab5fSopenharmony_ci        "start": {
67063af6ab5fSopenharmony_ci          "line": 72,
67073af6ab5fSopenharmony_ci          "column": 1
67083af6ab5fSopenharmony_ci        },
67093af6ab5fSopenharmony_ci        "end": {
67103af6ab5fSopenharmony_ci          "line": 72,
67113af6ab5fSopenharmony_ci          "column": 13
67123af6ab5fSopenharmony_ci        }
67133af6ab5fSopenharmony_ci      }
67143af6ab5fSopenharmony_ci    },
67153af6ab5fSopenharmony_ci    {
67163af6ab5fSopenharmony_ci      "type": "ExpressionStatement",
67173af6ab5fSopenharmony_ci      "expression": {
67183af6ab5fSopenharmony_ci        "type": "ArrowFunctionExpression",
67193af6ab5fSopenharmony_ci        "function": {
67203af6ab5fSopenharmony_ci          "type": "ScriptFunction",
67213af6ab5fSopenharmony_ci          "id": null,
67223af6ab5fSopenharmony_ci          "generator": false,
67233af6ab5fSopenharmony_ci          "async": false,
67243af6ab5fSopenharmony_ci          "expression": true,
67253af6ab5fSopenharmony_ci          "params": [],
67263af6ab5fSopenharmony_ci          "returnType": {
67273af6ab5fSopenharmony_ci            "type": "TSNumberKeyword",
67283af6ab5fSopenharmony_ci            "loc": {
67293af6ab5fSopenharmony_ci              "start": {
67303af6ab5fSopenharmony_ci                "line": 73,
67313af6ab5fSopenharmony_ci                "column": 17
67323af6ab5fSopenharmony_ci              },
67333af6ab5fSopenharmony_ci              "end": {
67343af6ab5fSopenharmony_ci                "line": 73,
67353af6ab5fSopenharmony_ci                "column": 23
67363af6ab5fSopenharmony_ci              }
67373af6ab5fSopenharmony_ci            }
67383af6ab5fSopenharmony_ci          },
67393af6ab5fSopenharmony_ci          "typeParameters": {
67403af6ab5fSopenharmony_ci            "type": "TSTypeParameterDeclaration",
67413af6ab5fSopenharmony_ci            "params": [
67423af6ab5fSopenharmony_ci              {
67433af6ab5fSopenharmony_ci                "type": "TSTypeParameter",
67443af6ab5fSopenharmony_ci                "name": {
67453af6ab5fSopenharmony_ci                  "type": "Identifier",
67463af6ab5fSopenharmony_ci                  "name": "A",
67473af6ab5fSopenharmony_ci                  "decorators": [],
67483af6ab5fSopenharmony_ci                  "loc": {
67493af6ab5fSopenharmony_ci                    "start": {
67503af6ab5fSopenharmony_ci                      "line": 73,
67513af6ab5fSopenharmony_ci                      "column": 2
67523af6ab5fSopenharmony_ci                    },
67533af6ab5fSopenharmony_ci                    "end": {
67543af6ab5fSopenharmony_ci                      "line": 73,
67553af6ab5fSopenharmony_ci                      "column": 3
67563af6ab5fSopenharmony_ci                    }
67573af6ab5fSopenharmony_ci                  }
67583af6ab5fSopenharmony_ci                },
67593af6ab5fSopenharmony_ci                "constraint": {
67603af6ab5fSopenharmony_ci                  "type": "TSTypeReference",
67613af6ab5fSopenharmony_ci                  "typeName": {
67623af6ab5fSopenharmony_ci                    "type": "Identifier",
67633af6ab5fSopenharmony_ci                    "name": "B",
67643af6ab5fSopenharmony_ci                    "decorators": [],
67653af6ab5fSopenharmony_ci                    "loc": {
67663af6ab5fSopenharmony_ci                      "start": {
67673af6ab5fSopenharmony_ci                        "line": 73,
67683af6ab5fSopenharmony_ci                        "column": 12
67693af6ab5fSopenharmony_ci                      },
67703af6ab5fSopenharmony_ci                      "end": {
67713af6ab5fSopenharmony_ci                        "line": 73,
67723af6ab5fSopenharmony_ci                        "column": 13
67733af6ab5fSopenharmony_ci                      }
67743af6ab5fSopenharmony_ci                    }
67753af6ab5fSopenharmony_ci                  },
67763af6ab5fSopenharmony_ci                  "loc": {
67773af6ab5fSopenharmony_ci                    "start": {
67783af6ab5fSopenharmony_ci                      "line": 73,
67793af6ab5fSopenharmony_ci                      "column": 12
67803af6ab5fSopenharmony_ci                    },
67813af6ab5fSopenharmony_ci                    "end": {
67823af6ab5fSopenharmony_ci                      "line": 73,
67833af6ab5fSopenharmony_ci                      "column": 13
67843af6ab5fSopenharmony_ci                    }
67853af6ab5fSopenharmony_ci                  }
67863af6ab5fSopenharmony_ci                },
67873af6ab5fSopenharmony_ci                "loc": {
67883af6ab5fSopenharmony_ci                  "start": {
67893af6ab5fSopenharmony_ci                    "line": 73,
67903af6ab5fSopenharmony_ci                    "column": 2
67913af6ab5fSopenharmony_ci                  },
67923af6ab5fSopenharmony_ci                  "end": {
67933af6ab5fSopenharmony_ci                    "line": 73,
67943af6ab5fSopenharmony_ci                    "column": 14
67953af6ab5fSopenharmony_ci                  }
67963af6ab5fSopenharmony_ci                }
67973af6ab5fSopenharmony_ci              }
67983af6ab5fSopenharmony_ci            ],
67993af6ab5fSopenharmony_ci            "loc": {
68003af6ab5fSopenharmony_ci              "start": {
68013af6ab5fSopenharmony_ci                "line": 73,
68023af6ab5fSopenharmony_ci                "column": 1
68033af6ab5fSopenharmony_ci              },
68043af6ab5fSopenharmony_ci              "end": {
68053af6ab5fSopenharmony_ci                "line": 73,
68063af6ab5fSopenharmony_ci                "column": 14
68073af6ab5fSopenharmony_ci              }
68083af6ab5fSopenharmony_ci            }
68093af6ab5fSopenharmony_ci          },
68103af6ab5fSopenharmony_ci          "body": {
68113af6ab5fSopenharmony_ci            "type": "BooleanLiteral",
68123af6ab5fSopenharmony_ci            "value": true,
68133af6ab5fSopenharmony_ci            "loc": {
68143af6ab5fSopenharmony_ci              "start": {
68153af6ab5fSopenharmony_ci                "line": 73,
68163af6ab5fSopenharmony_ci                "column": 27
68173af6ab5fSopenharmony_ci              },
68183af6ab5fSopenharmony_ci              "end": {
68193af6ab5fSopenharmony_ci                "line": 73,
68203af6ab5fSopenharmony_ci                "column": 31
68213af6ab5fSopenharmony_ci              }
68223af6ab5fSopenharmony_ci            }
68233af6ab5fSopenharmony_ci          },
68243af6ab5fSopenharmony_ci          "loc": {
68253af6ab5fSopenharmony_ci            "start": {
68263af6ab5fSopenharmony_ci              "line": 73,
68273af6ab5fSopenharmony_ci              "column": 1
68283af6ab5fSopenharmony_ci            },
68293af6ab5fSopenharmony_ci            "end": {
68303af6ab5fSopenharmony_ci              "line": 73,
68313af6ab5fSopenharmony_ci              "column": 31
68323af6ab5fSopenharmony_ci            }
68333af6ab5fSopenharmony_ci          }
68343af6ab5fSopenharmony_ci        },
68353af6ab5fSopenharmony_ci        "loc": {
68363af6ab5fSopenharmony_ci          "start": {
68373af6ab5fSopenharmony_ci            "line": 73,
68383af6ab5fSopenharmony_ci            "column": 1
68393af6ab5fSopenharmony_ci          },
68403af6ab5fSopenharmony_ci          "end": {
68413af6ab5fSopenharmony_ci            "line": 73,
68423af6ab5fSopenharmony_ci            "column": 31
68433af6ab5fSopenharmony_ci          }
68443af6ab5fSopenharmony_ci        }
68453af6ab5fSopenharmony_ci      },
68463af6ab5fSopenharmony_ci      "loc": {
68473af6ab5fSopenharmony_ci        "start": {
68483af6ab5fSopenharmony_ci          "line": 73,
68493af6ab5fSopenharmony_ci          "column": 1
68503af6ab5fSopenharmony_ci        },
68513af6ab5fSopenharmony_ci        "end": {
68523af6ab5fSopenharmony_ci          "line": 73,
68533af6ab5fSopenharmony_ci          "column": 32
68543af6ab5fSopenharmony_ci        }
68553af6ab5fSopenharmony_ci      }
68563af6ab5fSopenharmony_ci    },
68573af6ab5fSopenharmony_ci    {
68583af6ab5fSopenharmony_ci      "type": "ExpressionStatement",
68593af6ab5fSopenharmony_ci      "expression": {
68603af6ab5fSopenharmony_ci        "type": "ArrowFunctionExpression",
68613af6ab5fSopenharmony_ci        "function": {
68623af6ab5fSopenharmony_ci          "type": "ScriptFunction",
68633af6ab5fSopenharmony_ci          "id": null,
68643af6ab5fSopenharmony_ci          "generator": false,
68653af6ab5fSopenharmony_ci          "async": true,
68663af6ab5fSopenharmony_ci          "expression": false,
68673af6ab5fSopenharmony_ci          "params": [],
68683af6ab5fSopenharmony_ci          "typeParameters": {
68693af6ab5fSopenharmony_ci            "type": "TSTypeParameterDeclaration",
68703af6ab5fSopenharmony_ci            "params": [
68713af6ab5fSopenharmony_ci              {
68723af6ab5fSopenharmony_ci                "type": "TSTypeParameter",
68733af6ab5fSopenharmony_ci                "name": {
68743af6ab5fSopenharmony_ci                  "type": "Identifier",
68753af6ab5fSopenharmony_ci                  "name": "A",
68763af6ab5fSopenharmony_ci                  "decorators": [],
68773af6ab5fSopenharmony_ci                  "loc": {
68783af6ab5fSopenharmony_ci                    "start": {
68793af6ab5fSopenharmony_ci                      "line": 74,
68803af6ab5fSopenharmony_ci                      "column": 7
68813af6ab5fSopenharmony_ci                    },
68823af6ab5fSopenharmony_ci                    "end": {
68833af6ab5fSopenharmony_ci                      "line": 74,
68843af6ab5fSopenharmony_ci                      "column": 8
68853af6ab5fSopenharmony_ci                    }
68863af6ab5fSopenharmony_ci                  }
68873af6ab5fSopenharmony_ci                },
68883af6ab5fSopenharmony_ci                "constraint": {
68893af6ab5fSopenharmony_ci                  "type": "TSTypeOperator",
68903af6ab5fSopenharmony_ci                  "operator": "readonly",
68913af6ab5fSopenharmony_ci                  "typeAnnotation": {
68923af6ab5fSopenharmony_ci                    "type": "TSTupleType",
68933af6ab5fSopenharmony_ci                    "elementTypes": [
68943af6ab5fSopenharmony_ci                      {
68953af6ab5fSopenharmony_ci                        "type": "TSNumberKeyword",
68963af6ab5fSopenharmony_ci                        "loc": {
68973af6ab5fSopenharmony_ci                          "start": {
68983af6ab5fSopenharmony_ci                            "line": 74,
68993af6ab5fSopenharmony_ci                            "column": 27
69003af6ab5fSopenharmony_ci                          },
69013af6ab5fSopenharmony_ci                          "end": {
69023af6ab5fSopenharmony_ci                            "line": 74,
69033af6ab5fSopenharmony_ci                            "column": 34
69043af6ab5fSopenharmony_ci                          }
69053af6ab5fSopenharmony_ci                        }
69063af6ab5fSopenharmony_ci                      },
69073af6ab5fSopenharmony_ci                      {
69083af6ab5fSopenharmony_ci                        "type": "TSStringKeyword",
69093af6ab5fSopenharmony_ci                        "loc": {
69103af6ab5fSopenharmony_ci                          "start": {
69113af6ab5fSopenharmony_ci                            "line": 74,
69123af6ab5fSopenharmony_ci                            "column": 35
69133af6ab5fSopenharmony_ci                          },
69143af6ab5fSopenharmony_ci                          "end": {
69153af6ab5fSopenharmony_ci                            "line": 74,
69163af6ab5fSopenharmony_ci                            "column": 42
69173af6ab5fSopenharmony_ci                          }
69183af6ab5fSopenharmony_ci                        }
69193af6ab5fSopenharmony_ci                      }
69203af6ab5fSopenharmony_ci                    ],
69213af6ab5fSopenharmony_ci                    "loc": {
69223af6ab5fSopenharmony_ci                      "start": {
69233af6ab5fSopenharmony_ci                        "line": 74,
69243af6ab5fSopenharmony_ci                        "column": 26
69253af6ab5fSopenharmony_ci                      },
69263af6ab5fSopenharmony_ci                      "end": {
69273af6ab5fSopenharmony_ci                        "line": 74,
69283af6ab5fSopenharmony_ci                        "column": 42
69293af6ab5fSopenharmony_ci                      }
69303af6ab5fSopenharmony_ci                    }
69313af6ab5fSopenharmony_ci                  },
69323af6ab5fSopenharmony_ci                  "loc": {
69333af6ab5fSopenharmony_ci                    "start": {
69343af6ab5fSopenharmony_ci                      "line": 74,
69353af6ab5fSopenharmony_ci                      "column": 17
69363af6ab5fSopenharmony_ci                    },
69373af6ab5fSopenharmony_ci                    "end": {
69383af6ab5fSopenharmony_ci                      "line": 74,
69393af6ab5fSopenharmony_ci                      "column": 42
69403af6ab5fSopenharmony_ci                    }
69413af6ab5fSopenharmony_ci                  }
69423af6ab5fSopenharmony_ci                },
69433af6ab5fSopenharmony_ci                "loc": {
69443af6ab5fSopenharmony_ci                  "start": {
69453af6ab5fSopenharmony_ci                    "line": 74,
69463af6ab5fSopenharmony_ci                    "column": 7
69473af6ab5fSopenharmony_ci                  },
69483af6ab5fSopenharmony_ci                  "end": {
69493af6ab5fSopenharmony_ci                    "line": 74,
69503af6ab5fSopenharmony_ci                    "column": 43
69513af6ab5fSopenharmony_ci                  }
69523af6ab5fSopenharmony_ci                }
69533af6ab5fSopenharmony_ci              }
69543af6ab5fSopenharmony_ci            ],
69553af6ab5fSopenharmony_ci            "loc": {
69563af6ab5fSopenharmony_ci              "start": {
69573af6ab5fSopenharmony_ci                "line": 74,
69583af6ab5fSopenharmony_ci                "column": 6
69593af6ab5fSopenharmony_ci              },
69603af6ab5fSopenharmony_ci              "end": {
69613af6ab5fSopenharmony_ci                "line": 74,
69623af6ab5fSopenharmony_ci                "column": 43
69633af6ab5fSopenharmony_ci              }
69643af6ab5fSopenharmony_ci            }
69653af6ab5fSopenharmony_ci          },
69663af6ab5fSopenharmony_ci          "body": {
69673af6ab5fSopenharmony_ci            "type": "BlockStatement",
69683af6ab5fSopenharmony_ci            "statements": [
69693af6ab5fSopenharmony_ci              {
69703af6ab5fSopenharmony_ci                "type": "ReturnStatement",
69713af6ab5fSopenharmony_ci                "argument": {
69723af6ab5fSopenharmony_ci                  "type": "StringLiteral",
69733af6ab5fSopenharmony_ci                  "value": "foo",
69743af6ab5fSopenharmony_ci                  "loc": {
69753af6ab5fSopenharmony_ci                    "start": {
69763af6ab5fSopenharmony_ci                      "line": 74,
69773af6ab5fSopenharmony_ci                      "column": 57
69783af6ab5fSopenharmony_ci                    },
69793af6ab5fSopenharmony_ci                    "end": {
69803af6ab5fSopenharmony_ci                      "line": 74,
69813af6ab5fSopenharmony_ci                      "column": 62
69823af6ab5fSopenharmony_ci                    }
69833af6ab5fSopenharmony_ci                  }
69843af6ab5fSopenharmony_ci                },
69853af6ab5fSopenharmony_ci                "loc": {
69863af6ab5fSopenharmony_ci                  "start": {
69873af6ab5fSopenharmony_ci                    "line": 74,
69883af6ab5fSopenharmony_ci                    "column": 50
69893af6ab5fSopenharmony_ci                  },
69903af6ab5fSopenharmony_ci                  "end": {
69913af6ab5fSopenharmony_ci                    "line": 74,
69923af6ab5fSopenharmony_ci                    "column": 63
69933af6ab5fSopenharmony_ci                  }
69943af6ab5fSopenharmony_ci                }
69953af6ab5fSopenharmony_ci              }
69963af6ab5fSopenharmony_ci            ],
69973af6ab5fSopenharmony_ci            "loc": {
69983af6ab5fSopenharmony_ci              "start": {
69993af6ab5fSopenharmony_ci                "line": 74,
70003af6ab5fSopenharmony_ci                "column": 49
70013af6ab5fSopenharmony_ci              },
70023af6ab5fSopenharmony_ci              "end": {
70033af6ab5fSopenharmony_ci                "line": 74,
70043af6ab5fSopenharmony_ci                "column": 64
70053af6ab5fSopenharmony_ci              }
70063af6ab5fSopenharmony_ci            }
70073af6ab5fSopenharmony_ci          },
70083af6ab5fSopenharmony_ci          "loc": {
70093af6ab5fSopenharmony_ci            "start": {
70103af6ab5fSopenharmony_ci              "line": 74,
70113af6ab5fSopenharmony_ci              "column": 1
70123af6ab5fSopenharmony_ci            },
70133af6ab5fSopenharmony_ci            "end": {
70143af6ab5fSopenharmony_ci              "line": 74,
70153af6ab5fSopenharmony_ci              "column": 64
70163af6ab5fSopenharmony_ci            }
70173af6ab5fSopenharmony_ci          }
70183af6ab5fSopenharmony_ci        },
70193af6ab5fSopenharmony_ci        "loc": {
70203af6ab5fSopenharmony_ci          "start": {
70213af6ab5fSopenharmony_ci            "line": 74,
70223af6ab5fSopenharmony_ci            "column": 1
70233af6ab5fSopenharmony_ci          },
70243af6ab5fSopenharmony_ci          "end": {
70253af6ab5fSopenharmony_ci            "line": 74,
70263af6ab5fSopenharmony_ci            "column": 64
70273af6ab5fSopenharmony_ci          }
70283af6ab5fSopenharmony_ci        }
70293af6ab5fSopenharmony_ci      },
70303af6ab5fSopenharmony_ci      "loc": {
70313af6ab5fSopenharmony_ci        "start": {
70323af6ab5fSopenharmony_ci          "line": 74,
70333af6ab5fSopenharmony_ci          "column": 1
70343af6ab5fSopenharmony_ci        },
70353af6ab5fSopenharmony_ci        "end": {
70363af6ab5fSopenharmony_ci          "line": 74,
70373af6ab5fSopenharmony_ci          "column": 65
70383af6ab5fSopenharmony_ci        }
70393af6ab5fSopenharmony_ci      }
70403af6ab5fSopenharmony_ci    }
70413af6ab5fSopenharmony_ci  ],
70423af6ab5fSopenharmony_ci  "loc": {
70433af6ab5fSopenharmony_ci    "start": {
70443af6ab5fSopenharmony_ci      "line": 1,
70453af6ab5fSopenharmony_ci      "column": 1
70463af6ab5fSopenharmony_ci    },
70473af6ab5fSopenharmony_ci    "end": {
70483af6ab5fSopenharmony_ci      "line": 75,
70493af6ab5fSopenharmony_ci      "column": 1
70503af6ab5fSopenharmony_ci    }
70513af6ab5fSopenharmony_ci  }
70523af6ab5fSopenharmony_ci}
7053